mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge pull request #14536 from Heroman3003/protean
Makes speech bubbles manually selectable, adds a whole bunch of new ones
This commit is contained in:
@@ -946,6 +946,26 @@ var/global/list/event_wildlife_roaming = list(
|
||||
)
|
||||
|
||||
|
||||
var/global/list/selectable_speech_bubbles = list(
|
||||
"default",
|
||||
"normal",
|
||||
"slime",
|
||||
"comm",
|
||||
"machine",
|
||||
"synthetic",
|
||||
"synthetic_evil",
|
||||
"cyber",
|
||||
"ghost",
|
||||
"slime_green",
|
||||
"dark",
|
||||
"plant",
|
||||
"clown",
|
||||
"fox",
|
||||
"maus",
|
||||
"heart",
|
||||
"textbox",
|
||||
"posessed")
|
||||
|
||||
|
||||
|
||||
// AREA GENERATION AND BLUEPRINT STUFF BELOW HERE
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
/mob/living/carbon/brain/runechat_holder(datum/chatmessage/CM)
|
||||
if(isturf(loc))
|
||||
return ..()
|
||||
|
||||
|
||||
return loc
|
||||
|
||||
/mob/living/carbon/brain/set_typing_indicator(var/state)
|
||||
@@ -59,8 +59,11 @@
|
||||
loc.cut_overlay(typing_indicator, TRUE)
|
||||
return
|
||||
|
||||
if(!typing_indicator)
|
||||
init_typing_indicator("[speech_bubble_appearance()]_typing")
|
||||
var/cur_bubble_appearance = custom_speech_bubble
|
||||
if(!cur_bubble_appearance || cur_bubble_appearance == "default")
|
||||
cur_bubble_appearance = speech_bubble_appearance()
|
||||
if(!typing_indicator || cur_typing_indicator != cur_bubble_appearance)
|
||||
init_typing_indicator("[cur_bubble_appearance]_typing")
|
||||
|
||||
if(state && !typing)
|
||||
loc.add_overlay(typing_indicator, TRUE)
|
||||
@@ -80,7 +83,7 @@
|
||||
var/datum/transcore_db/db = SStranscore.db_by_mind_name(mind.name)
|
||||
if(db)
|
||||
var/datum/transhuman/mind_record/record = db.backed_up[src.mind.name]
|
||||
if(!(record.dead_state == MR_DEAD))
|
||||
if(!(record.dead_state == MR_DEAD))
|
||||
if((world.time - timeofhostdeath ) > 5 MINUTES) //Allows notify transcore to be used if you have an entry but for some reason weren't marked as dead
|
||||
record.dead_state = MR_DEAD //Such as if you got scanned but didn't take an implant. It's a little funky, but I mean, you got scanned
|
||||
db.notify(record) //So you probably will want to let someone know if you die.
|
||||
|
||||
@@ -191,3 +191,12 @@
|
||||
if (visible)
|
||||
visible_message("<b>\The [src]</b> shifts and contorts, taking the form of \a [new_species]!")
|
||||
regenerate_icons()
|
||||
|
||||
/mob/verb/select_speech_bubble()
|
||||
set name = "Select Speech Bubble"
|
||||
set category = "OOC"
|
||||
|
||||
var/new_speech_bubble = tgui_input_list(src, "Pick new voice!", "Character Preference", selectable_speech_bubbles)
|
||||
if(new_speech_bubble)
|
||||
to_chat(src, "<span class='notice'>Your voice changes.</span>")
|
||||
custom_speech_bubble = new_speech_bubble
|
||||
@@ -341,7 +341,9 @@ var/list/channel_to_radio_key = new
|
||||
//The 'post-say' static speech bubble
|
||||
var/speech_bubble_test = say_test(message)
|
||||
//var/image/speech_bubble = image('icons/mob/talk_vr.dmi',src,"h[speech_bubble_test]") //VOREStation Edit. Commented this out in case we need to reenable.
|
||||
var/speech_type = speech_bubble_appearance()
|
||||
var/speech_type = custom_speech_bubble
|
||||
if(!speech_type || speech_type == "default")
|
||||
speech_type = speech_bubble_appearance()
|
||||
var/image/speech_bubble = generate_speech_bubble(src, "[speech_type][speech_bubble_test]")
|
||||
var/sb_alpha = 255
|
||||
var/atom/loc_before_turf = src
|
||||
|
||||
@@ -109,7 +109,9 @@
|
||||
if(comm)
|
||||
var/speech_bubble_test = say_test(message)
|
||||
//var/image/speech_bubble = image('icons/mob/talk_vr.dmi',comm,"h[speech_bubble_test]") //VOREStation Edit - Commented out in case of needed reenable.
|
||||
var/speech_type = speech_bubble_appearance()
|
||||
var/speech_type = custom_speech_bubble
|
||||
if(!speech_type || speech_type == "default")
|
||||
speech_type = speech_bubble_appearance()
|
||||
var/image/speech_bubble = generate_speech_bubble(comm, "[speech_type][speech_bubble_test]")
|
||||
spawn(30)
|
||||
qdel(speech_bubble)
|
||||
|
||||
@@ -218,6 +218,8 @@
|
||||
|
||||
var/typing
|
||||
var/obj/effect/decal/typing_indicator
|
||||
var/cur_typing_indicator
|
||||
var/custom_speech_bubble = "default"
|
||||
|
||||
var/low_priority = FALSE //Skip processing life() if there's just no players on this Z-level
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
return I
|
||||
|
||||
/mob/proc/init_typing_indicator(var/set_state = "typing")
|
||||
if(typing_indicator)
|
||||
qdel(typing_indicator)
|
||||
typing_indicator = null
|
||||
typing_indicator = new
|
||||
typing_indicator.appearance = generate_speech_bubble(null, set_state)
|
||||
typing_indicator.appearance_flags |= (RESET_COLOR|PIXEL_SCALE) //VOREStation Edit
|
||||
@@ -23,8 +26,11 @@
|
||||
cut_overlay(typing_indicator, TRUE)
|
||||
return
|
||||
|
||||
if(!typing_indicator)
|
||||
init_typing_indicator("[speech_bubble_appearance()]_typing")
|
||||
var/cur_bubble_appearance = custom_speech_bubble
|
||||
if(!cur_bubble_appearance || cur_bubble_appearance == "default")
|
||||
cur_bubble_appearance = speech_bubble_appearance()
|
||||
if(!typing_indicator || cur_typing_indicator != cur_bubble_appearance)
|
||||
init_typing_indicator("[cur_bubble_appearance]_typing")
|
||||
|
||||
if(state && !typing)
|
||||
add_overlay(typing_indicator, TRUE)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 6.4 KiB |
Reference in New Issue
Block a user