mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-31 07:58:22 +01:00
OOC notes panel
This commit is contained in:
@@ -517,6 +517,8 @@
|
||||
src.ckey = AI.ckey
|
||||
name = AI.name
|
||||
ooc_notes = AI.ooc_notes
|
||||
ooc_notes_likes = AI.ooc_notes_likes
|
||||
ooc_notes_dislikes = AI.ooc_notes_dislikes
|
||||
to_chat(src, span_notice("You feel a tingle in your circuits as your systems interface with \the [initial(src.name)]."))
|
||||
if(AI.idcard.access)
|
||||
botcard.access |= AI.idcard.access
|
||||
@@ -526,6 +528,8 @@
|
||||
var/mob/living/silicon/pai/AI = paicard.pai
|
||||
AI.ckey = src.ckey
|
||||
AI.ooc_notes = ooc_notes
|
||||
AI.ooc_notes_likes = ooc_notes_likes
|
||||
AI.ooc_notes_dislikes = ooc_notes_dislikes
|
||||
paicard.forceMove(src.loc)
|
||||
paicard = null
|
||||
name = initial(name)
|
||||
@@ -568,4 +572,4 @@
|
||||
feeding = FALSE
|
||||
can_be_drop_pred = FALSE
|
||||
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
unity = TRUE
|
||||
water_resist = 100 // Lets not kill the prommies
|
||||
cores = 0
|
||||
movement_cooldown = 0
|
||||
movement_cooldown = 0
|
||||
//appearance_flags = RADIATION_GLOWS
|
||||
shock_resist = 0 // Lets not be immune to zaps.
|
||||
friendly = list("nuzzles", "glomps", "snuggles", "cuddles", "squishes") // lets be cute :3
|
||||
@@ -392,6 +392,8 @@
|
||||
blob.transforming = TRUE
|
||||
blob.ckey = ckey
|
||||
blob.ooc_notes = ooc_notes
|
||||
blob.ooc_notes_likes = ooc_notes_likes
|
||||
blob.ooc_notes_dislikes = ooc_notes_dislikes
|
||||
blob.transforming = FALSE
|
||||
blob.name = name
|
||||
blob.nutrition = nutrition
|
||||
@@ -464,6 +466,8 @@
|
||||
transforming = TRUE
|
||||
ckey = blob.ckey
|
||||
ooc_notes = blob.ooc_notes // Updating notes incase they change them in blob form.
|
||||
ooc_notes_likes = blob.ooc_notes_likes
|
||||
ooc_notes_dislikes = blob.ooc_notes_dislikes
|
||||
transforming = FALSE
|
||||
blob.name = "Promethean Blob"
|
||||
var/obj/item/hat = blob.hat
|
||||
|
||||
@@ -381,6 +381,8 @@ var/global/list/disallowed_protean_accessories = list(
|
||||
//Put our owner in it (don't transfer var/mind)
|
||||
blob.ckey = ckey
|
||||
blob.ooc_notes = ooc_notes
|
||||
blob.ooc_notes_likes = ooc_notes_likes
|
||||
blob.ooc_notes_dislikes = ooc_notes_dislikes
|
||||
temporary_form = blob
|
||||
|
||||
//Mail them to nullspace
|
||||
@@ -463,6 +465,8 @@ var/global/list/disallowed_protean_accessories = list(
|
||||
//Put our owner in it (don't transfer var/mind)
|
||||
ckey = blob.ckey
|
||||
ooc_notes = blob.ooc_notes // Lets give the protean any updated notes from blob form.
|
||||
ooc_notes_likes = blob.ooc_notes_likes
|
||||
ooc_notes_dislikes = blob.ooc_notes_dislikes
|
||||
temporary_form = null
|
||||
|
||||
//Transfer vore organs
|
||||
|
||||
@@ -697,7 +697,8 @@
|
||||
//VOREStation Edit Start - Making it so SSD people have prefs with fallback to original style.
|
||||
if(config.allow_Metadata)
|
||||
if(ooc_notes)
|
||||
to_chat(usr, "<span class='filter_notice'>[src]'s Metainfo:<br>[ooc_notes]</span>")
|
||||
ooc_notes_window(usr)
|
||||
// to_chat(usr, "<span class='filter_notice'>[src]'s Metainfo:<br>[ooc_notes]</span>")
|
||||
else if(client)
|
||||
to_chat(usr, "<span class='filter_notice'>[src]'s Metainfo:<br>[client.prefs.metadata]</span>")
|
||||
else
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
var/autowhisper_mode = null // Mode to use with autowhisper
|
||||
/mob/living
|
||||
var/ooc_notes = null
|
||||
var/ooc_notes_likes = null
|
||||
var/ooc_notes_dislikes = null
|
||||
appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER|LONG_GLIDE
|
||||
var/hunger_rate = DEFAULT_HUNGER_FACTOR
|
||||
//custom say verbs
|
||||
|
||||
@@ -27,11 +27,46 @@
|
||||
set desc = "Sets OOC notes about yourself or your RP preferences or status."
|
||||
set category = "OOC"
|
||||
|
||||
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently, only for this round.", "Game Preference" , html_decode(ooc_notes), multiline = TRUE, prevent_enter = TRUE))
|
||||
if(usr != src)
|
||||
return
|
||||
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently unless you click save in the OOC panel!", "Game Preference" , html_decode(ooc_notes), multiline = TRUE, prevent_enter = TRUE))
|
||||
if(new_metadata && CanUseTopic(usr))
|
||||
ooc_notes = new_metadata
|
||||
to_chat(usr, "<span class='filter_notice'>OOC notes updated.</span>")
|
||||
client.prefs.metadata = new_metadata
|
||||
to_chat(usr, "<span class='filter_notice'>OOC notes updated. Don't forget to save!</span>")
|
||||
log_admin("[key_name(usr)] updated their OOC notes mid-round.")
|
||||
ooc_notes_window(usr)
|
||||
|
||||
/mob/living/proc/set_metainfo_likes()
|
||||
if(usr != src)
|
||||
return
|
||||
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC panel!", "Game Preference" , html_decode(ooc_notes_likes), multiline = TRUE, prevent_enter = TRUE))
|
||||
if(new_metadata && CanUseTopic(usr))
|
||||
ooc_notes_likes = new_metadata
|
||||
client.prefs.metadata_likes = new_metadata
|
||||
to_chat(usr, "<span class='filter_notice'>OOC note likes have been updated. Don't forget to save!</span>")
|
||||
log_admin("[key_name(usr)] updated their OOC note likes mid-round.")
|
||||
ooc_notes_window(usr)
|
||||
|
||||
/mob/living/proc/set_metainfo_dislikes()
|
||||
if(usr != src)
|
||||
return
|
||||
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC panel!", "Game Preference" , html_decode(ooc_notes_dislikes), multiline = TRUE, prevent_enter = TRUE))
|
||||
if(new_metadata && CanUseTopic(usr))
|
||||
ooc_notes_dislikes = new_metadata
|
||||
client.prefs.metadata_dislikes = new_metadata
|
||||
to_chat(usr, "<span class='filter_notice'>OOC note dislikes have been updated. Don't forget to save!</span>")
|
||||
log_admin("[key_name(usr)] updated their OOC note dislikes mid-round.")
|
||||
ooc_notes_window(usr)
|
||||
/mob/living/proc/save_ooc_panel()
|
||||
if(usr != src)
|
||||
return
|
||||
if(client.prefs.real_name != real_name)
|
||||
to_chat(usr, "<span class='danger'>Your selected character slot name is not the same as your character's name. Aborting save. Please select [real_name]'s character slot in character setup before saving.</span>")
|
||||
return
|
||||
if(client.prefs.save_character())
|
||||
to_chat(usr, "<span class='filter_notice'>Character preferences saved.</span>")
|
||||
|
||||
|
||||
/mob/living/verb/set_voice_freq()
|
||||
set name = "Set Voice Frequency"
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
/mob/living/proc/ooc_notes_window(mob/user)
|
||||
if(!ooc_notes)
|
||||
return
|
||||
//I tried to get it to accept things like emojis and all that, but, it wouldn't do! It would be cool if it did.
|
||||
var/notes = replacetext(html_decode(src.ooc_notes), "\n", "<BR>")
|
||||
var/likes = replacetext(html_decode(src.ooc_notes_likes), "\n", "<BR>")
|
||||
var/dislikes = replacetext(html_decode(src.ooc_notes_dislikes), "\n", "<BR>")
|
||||
var/dat = {"
|
||||
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
body {
|
||||
margin-top:5px;
|
||||
font-family:Verdana;
|
||||
color:white;
|
||||
font-size:13px;
|
||||
background-image:url('ooc_notes.png');
|
||||
background-repeat:repeat-x;
|
||||
background-color:#272727;
|
||||
background-position:center top;
|
||||
}
|
||||
table {
|
||||
font-size:13px;
|
||||
margin-left:-2px;
|
||||
}
|
||||
h2 {
|
||||
font-size:15px;
|
||||
}
|
||||
.collapsible {
|
||||
background-color: #263d20;
|
||||
color: white;
|
||||
padding: 5px;
|
||||
width: 100%;
|
||||
border: none;
|
||||
text-align: left;
|
||||
outline: none;
|
||||
font-size: 20px;
|
||||
}
|
||||
.collapsible_b {
|
||||
background-color: #3f1a1a;
|
||||
color: white;
|
||||
padding: 5px;
|
||||
width: 100%;
|
||||
border: none;
|
||||
text-align: left;
|
||||
outline: none;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 5;
|
||||
width: 100%;
|
||||
background-color: #363636;
|
||||
}
|
||||
|
||||
.button {
|
||||
background-color: #40628a;
|
||||
text-align: center;
|
||||
}
|
||||
td.button {
|
||||
border: 1px solid #161616;
|
||||
background-color: #40628a;
|
||||
text-align: center;
|
||||
}
|
||||
a.button {
|
||||
color:white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>"}
|
||||
|
||||
dat += {"<body>
|
||||
<b><font size='3px'>[src.name]'s OOC notes</font><br>"}
|
||||
if(user == src)
|
||||
dat += {"
|
||||
<table>
|
||||
<td class="button">
|
||||
<a href='byond://?src=\ref[src];save_ooc_panel=1' class='button'>Save Character Preferences</a>
|
||||
</td>
|
||||
</table>
|
||||
"}
|
||||
if(user == src)
|
||||
dat += {"
|
||||
<br>
|
||||
<table>
|
||||
<td class="button">
|
||||
<a href='byond://?src=\ref[src];edit_ooc_notes=1' class='button'>Edit</a>
|
||||
</td>
|
||||
</table>
|
||||
"}
|
||||
|
||||
dat += {"
|
||||
<br>
|
||||
<p>[notes]</p>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<body>
|
||||
|
||||
<div class="collapsible"><b>Likes</b></div>"}
|
||||
if(user == src)
|
||||
dat += {"
|
||||
<table>
|
||||
<td class="button">
|
||||
<a href='byond://?src=\ref[src];edit_ooc_note_likes=1' class='button'>Edit</a>
|
||||
</td>
|
||||
</table>
|
||||
"}
|
||||
|
||||
if(likes)
|
||||
dat += {"
|
||||
<div class="content">
|
||||
<p>[likes]</p>
|
||||
</div>"}
|
||||
dat += {"
|
||||
<br>
|
||||
<div class="collapsible_b"><b>Dislikes</b></div>"}
|
||||
if(user == src)
|
||||
dat += {"
|
||||
<table>
|
||||
<td class="button">
|
||||
<a href='byond://?src=\ref[src];edit_ooc_note_dislikes=1' class='button'>Edit</a>
|
||||
</td>
|
||||
</table>
|
||||
"}
|
||||
|
||||
if(dislikes)
|
||||
dat += {"
|
||||
<div class="content">
|
||||
<p>[dislikes]</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
"}
|
||||
|
||||
user << browse("<html><head><title>OOC Notes: [src]</title></head>[dat]</html>", "window=[src.name]mvp;size=500x600;can_resize=1;can_minimize=1")
|
||||
|
||||
onclose(usr, "[src.name]")
|
||||
@@ -212,6 +212,8 @@ var/list/ai_verbs_default = list(
|
||||
var/meta_info = client.prefs.metadata
|
||||
if (meta_info)
|
||||
ooc_notes = meta_info
|
||||
ooc_notes_likes = client.prefs.metadata_likes
|
||||
ooc_notes_dislikes = client.prefs.metadata_dislikes
|
||||
|
||||
if (malf && !(mind in malf.current_antagonists))
|
||||
show_laws()
|
||||
|
||||
@@ -149,6 +149,9 @@
|
||||
// Vorestation Edit: Meta Info for pAI
|
||||
if (client.prefs)
|
||||
ooc_notes = client.prefs.metadata
|
||||
ooc_notes_likes = client.prefs.metadata_likes
|
||||
ooc_notes_dislikes = client.prefs.metadata_dislikes
|
||||
|
||||
src << sound('sound/effects/pai_login.ogg', volume = 75) //VOREStation Add
|
||||
|
||||
// this function shows the information about being silenced as a pAI in the Status panel
|
||||
|
||||
@@ -344,6 +344,8 @@
|
||||
var/meta_info = client.prefs.metadata
|
||||
if (meta_info)
|
||||
ooc_notes = meta_info
|
||||
ooc_notes_likes = client.prefs.metadata_likes
|
||||
ooc_notes_dislikes = client.prefs.metadata_dislikes
|
||||
|
||||
/mob/living/silicon/robot/verb/Namepick()
|
||||
set category = "Robot Commands"
|
||||
|
||||
@@ -13,7 +13,11 @@
|
||||
var/mob/living/pred_body //The body of the person who was dominated
|
||||
var/pred_ckey //The ckey of the person who was dominated
|
||||
var/pred_ooc_notes
|
||||
var/pred_ooc_likes
|
||||
var/pred_ooc_dislikes
|
||||
var/prey_ooc_notes
|
||||
var/prey_ooc_likes
|
||||
var/prey_ooc_dislikes
|
||||
|
||||
/mob/living/dominated_brain/New(loc, var/mob/living/pred, preyname, var/mob/living/prey)
|
||||
. = ..()
|
||||
@@ -108,6 +112,8 @@
|
||||
src.languages -= src.temp_languages
|
||||
prey_goes_here.languages |= src.prey_langs
|
||||
prey_goes_here.ooc_notes = prey_ooc_notes
|
||||
prey_goes_here.ooc_notes_likes = prey_ooc_likes
|
||||
prey_goes_here.ooc_notes_dislikes = prey_ooc_dislikes
|
||||
prey_goes_here.verbs |= /mob/living/dominated_brain/proc/cease_this_foolishness
|
||||
|
||||
|
||||
@@ -122,6 +128,8 @@
|
||||
prey_goes_here.languages |= src.prey_langs
|
||||
prey_goes_here.real_name = src.prey_name
|
||||
prey_goes_here.ooc_notes = prey_ooc_notes
|
||||
prey_goes_here.ooc_notes_likes = prey_ooc_likes
|
||||
prey_goes_here.ooc_notes_dislikes = prey_ooc_dislikes
|
||||
|
||||
///////////////////
|
||||
|
||||
@@ -132,6 +140,8 @@
|
||||
prey_goes_here.ckey = src.prey_ckey
|
||||
pred_body.ckey = src.pred_ckey
|
||||
pred_body.ooc_notes = pred_ooc_notes
|
||||
pred_body.ooc_notes_likes = pred_ooc_likes
|
||||
pred_body.ooc_notes_dislikes = pred_ooc_dislikes
|
||||
log_and_message_admins("[pred_body] is now controlled by [pred_body.ckey]. They were restored to control through prey domination, and had been controlled by [prey_ckey].")
|
||||
pred_body.absorb_langs()
|
||||
pred_body.prey_controlled = FALSE
|
||||
@@ -229,7 +239,12 @@
|
||||
pred_brain = new /mob/living/dominated_brain(pred, pred, name, prey)
|
||||
|
||||
pred_brain.prey_ooc_notes = prey.ooc_notes
|
||||
pred_brain.prey_ooc_likes = prey.ooc_notes_likes
|
||||
pred_brain.prey_ooc_dislikes = prey.ooc_notes_dislikes
|
||||
pred_brain.pred_ooc_notes = pred.ooc_notes
|
||||
pred_brain.pred_ooc_likes = pred.ooc_notes_likes
|
||||
pred_brain.pred_ooc_dislikes = pred.ooc_notes_dislikes
|
||||
|
||||
pred_brain.name = pred.name
|
||||
var/list/preylangs = list()
|
||||
preylangs |= prey.languages
|
||||
@@ -239,6 +254,8 @@
|
||||
pred_brain.pred_ckey = pred.ckey
|
||||
pred_brain.pred_body.absorb_langs()
|
||||
pred.ooc_notes = pred_brain.prey_ooc_notes
|
||||
pred.ooc_notes_likes = pred_brain.prey_ooc_likes
|
||||
pred.ooc_notes_dislikes = pred_brain.prey_ooc_dislikes
|
||||
|
||||
pred.verbs |= /mob/proc/release_predator
|
||||
|
||||
@@ -342,6 +359,10 @@
|
||||
M.languages -= M.temp_languages
|
||||
db.languages |= M.languages
|
||||
db.ooc_notes = M.ooc_notes
|
||||
db.ooc_notes_likes = M.ooc_notes_likes
|
||||
db.ooc_notes_dislikes = M.ooc_notes_dislikes
|
||||
db.prey_ooc_likes = M.ooc_notes_likes
|
||||
db.prey_ooc_likes = M.ooc_notes_dislikes
|
||||
db.verbs |= /mob/living/dominated_brain/proc/cease_this_foolishness
|
||||
|
||||
absorb_langs()
|
||||
@@ -443,7 +464,11 @@
|
||||
pred_brain = new /mob/living/dominated_brain(pred, pred, name, prey)
|
||||
|
||||
pred_brain.prey_ooc_notes = prey.ooc_notes
|
||||
pred_brain.prey_ooc_likes = prey.ooc_notes_likes
|
||||
pred_brain.prey_ooc_dislikes = prey.ooc_notes_dislikes
|
||||
pred_brain.pred_ooc_notes = pred.ooc_notes
|
||||
pred_brain.pred_ooc_likes = pred.ooc_notes_likes
|
||||
pred_brain.pred_ooc_dislikes = pred.ooc_notes_dislikes
|
||||
pred_brain.name = pred.name
|
||||
var/list/preylangs = list()
|
||||
preylangs |= prey.languages
|
||||
@@ -453,6 +478,8 @@
|
||||
pred_brain.pred_ckey = pred.ckey
|
||||
pred_brain.pred_body.absorb_langs()
|
||||
pred.ooc_notes = pred_brain.prey_ooc_notes
|
||||
pred.ooc_notes_likes = pred_brain.prey_ooc_likes
|
||||
pred.ooc_notes_dislikes = pred_brain.prey_ooc_dislikes
|
||||
|
||||
pred.verbs |= /mob/proc/release_predator
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
/mob/living/proc/login_prefs()
|
||||
|
||||
ooc_notes = client.prefs.metadata
|
||||
ooc_notes_likes = client.prefs.metadata_likes
|
||||
ooc_notes_dislikes = client.prefs.metadata_dislikes
|
||||
digestable = client.prefs_vr.digestable
|
||||
devourable = client.prefs_vr.devourable
|
||||
absorbable = client.prefs_vr.absorbable
|
||||
|
||||
Reference in New Issue
Block a user