mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 16:47:13 +01:00
Adds a speech modifier to pAIs on EMP (#46411)
About The Pull Request Makes it so pAIs either stutter, slur, or talk like a brainlet when they're EMPed. This can be fixed by someone pressing the "Reset speech synthesis module" button on the pAI card. Additionally, adds a 40% chance for their default language to be swapped. Readded the mute, albeit a bit shorter, due to feedback. Idea courtesy of Rogus. image Why It's Good For The Game Mutes are boring. This adds a debuff that while less severe, persists for longer and requires the help of another player to fix. Changelog cl tweak: pAI speech modules have been upgraded to be more EMP resistant, but they can now malfunction on EMP. /cl
This commit is contained in:
@@ -52,6 +52,7 @@
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.real_name == pai.master || H.dna.unique_enzymes == pai.master_dna)
|
||||
dat += "<A href='byond://?src=[REF(src)];toggle_holo=1'>\[[pai.canholo? "Disable" : "Enable"] holomatrix projectors\]</a><br>"
|
||||
dat += "<A href='byond://?src=[REF(src)];fix_speech=1'>\[Reset speech synthesis module\]</a><br>"
|
||||
dat += "<A href='byond://?src=[REF(src)];wipe=1'>\[Wipe current pAI personality\]</a><br>"
|
||||
else
|
||||
dat += "No personality installed.<br>"
|
||||
@@ -92,6 +93,10 @@
|
||||
to_chat(pai, "<span class='userdanger'>Your mental faculties leave you.</span>")
|
||||
to_chat(pai, "<span class='rose'>oblivion... </span>")
|
||||
qdel(pai)
|
||||
if(href_list["fix_speech"])
|
||||
pai.stuttering = 0
|
||||
pai.slurring = 0
|
||||
pai.derpspeech = 0
|
||||
if(href_list["toggle_transmit"] || href_list["toggle_receive"])
|
||||
var/transmitting = href_list["toggle_transmit"] //it can't be both so if we know it's not transmitting it must be receiving.
|
||||
var/transmit_holder = (transmitting ? WIRE_TX : WIRE_RX)
|
||||
|
||||
@@ -8,10 +8,24 @@
|
||||
return
|
||||
take_holo_damage(50/severity)
|
||||
Paralyze(400/severity)
|
||||
silent = max(30/severity, silent)
|
||||
silent = max(20/severity, silent)
|
||||
if(holoform)
|
||||
fold_in(force = TRUE)
|
||||
//Need more effects that aren't instadeath or permanent law corruption.
|
||||
//Ask and you shall receive
|
||||
switch(rand(1, 3))
|
||||
if(1)
|
||||
stuttering = 1
|
||||
to_chat(src, "<span class='danger'>Warning: Feedback loop detected in speech module.</span>")
|
||||
if(2)
|
||||
slurring = 1
|
||||
to_chat(src, "<span class='danger'>Warning: Audio synthesizer CPU stuck.</span>")
|
||||
if(3)
|
||||
derpspeech = 1
|
||||
to_chat(src, "<span class='danger'>Warning: Vocabulary databank corrupted.</span>")
|
||||
if(prob(40))
|
||||
mind.language_holder.selected_default_language = pick(mind.language_holder.languages)
|
||||
|
||||
|
||||
/mob/living/silicon/pai/ex_act(severity, target)
|
||||
take_holo_damage(severity * 50)
|
||||
|
||||
Reference in New Issue
Block a user