mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Two config variables added - disable_player_mice and uneducated_mice. The first, if enabled, prevents players from spawning as mice, and the second, if enabled, prevents mice from understanding human speech (which they now do my default)
universal_understand = 1 now allows player-controlled mobs to understand what everybody is saying without necessarily allowing them to talk back intelligibly. Mice have universal_understand = 1 by default.
This commit is contained in:
@@ -43,7 +43,8 @@
|
|||||||
var/Tickcomp = 0
|
var/Tickcomp = 0
|
||||||
var/socket_talk = 0 // use socket_talk to communicate with other processes
|
var/socket_talk = 0 // use socket_talk to communicate with other processes
|
||||||
var/list/resource_urls = null
|
var/list/resource_urls = null
|
||||||
|
var/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round.
|
||||||
|
var/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round.
|
||||||
var/list/mode_names = list()
|
var/list/mode_names = list()
|
||||||
var/list/modes = list() // allowed modes
|
var/list/modes = list() // allowed modes
|
||||||
var/list/votable_modes = list() // votable modes
|
var/list/votable_modes = list() // votable modes
|
||||||
@@ -61,6 +62,9 @@
|
|||||||
var/automute_on = 0 //enables automuting/spam prevention
|
var/automute_on = 0 //enables automuting/spam prevention
|
||||||
var/jobs_have_minimal_access = 0 //determines whether jobs use minimal access or expanded access.
|
var/jobs_have_minimal_access = 0 //determines whether jobs use minimal access or expanded access.
|
||||||
|
|
||||||
|
var/disable_player_mice = 0
|
||||||
|
var/uneducated_mice = 0 //Set to 1 to prevent newly-spawned mice from understanding human speech
|
||||||
|
|
||||||
var/usealienwhitelist = 0
|
var/usealienwhitelist = 0
|
||||||
var/limitalienplayers = 0
|
var/limitalienplayers = 0
|
||||||
var/alien_to_human_ratio = 0.5
|
var/alien_to_human_ratio = 0.5
|
||||||
@@ -385,6 +389,11 @@
|
|||||||
if("ticklag")
|
if("ticklag")
|
||||||
Ticklag = text2num(value)
|
Ticklag = text2num(value)
|
||||||
|
|
||||||
|
if("allow_antag_hud")
|
||||||
|
config.antag_hud_allowed = 1
|
||||||
|
if("antag_hud_restricted")
|
||||||
|
config.antag_hud_restricted = 1
|
||||||
|
|
||||||
if("socket_talk")
|
if("socket_talk")
|
||||||
socket_talk = text2num(value)
|
socket_talk = text2num(value)
|
||||||
|
|
||||||
@@ -419,6 +428,12 @@
|
|||||||
if("ghost_interaction")
|
if("ghost_interaction")
|
||||||
config.ghost_interaction = 1
|
config.ghost_interaction = 1
|
||||||
|
|
||||||
|
if("disable_player_mice")
|
||||||
|
config.disable_player_mice = 1
|
||||||
|
|
||||||
|
if("uneducated_mice")
|
||||||
|
config.uneducated_mice = 1
|
||||||
|
|
||||||
if("comms_password")
|
if("comms_password")
|
||||||
config.comms_password = value
|
config.comms_password = value
|
||||||
|
|
||||||
|
|||||||
@@ -293,6 +293,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
|||||||
set name = "Become mouse"
|
set name = "Become mouse"
|
||||||
set category = "Ghost"
|
set category = "Ghost"
|
||||||
|
|
||||||
|
if(config.disable_player_mice)
|
||||||
|
src << "<span class='warning'>Spawning as a mouse is currently disabled.</span>"
|
||||||
|
return
|
||||||
|
|
||||||
var/timedifference = world.time - client.time_died_as_mouse
|
var/timedifference = world.time - client.time_died_as_mouse
|
||||||
if(client.time_died_as_mouse && timedifference <= mouse_respawn_time * 600)
|
if(client.time_died_as_mouse && timedifference <= mouse_respawn_time * 600)
|
||||||
var/timedifference_text
|
var/timedifference_text
|
||||||
@@ -302,7 +306,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
|||||||
|
|
||||||
var/response = alert(src, "Are you -sure- you want to become a mouse?","Are you sure you want to squeek?","Squeek!","Nope!")
|
var/response = alert(src, "Are you -sure- you want to become a mouse?","Are you sure you want to squeek?","Squeek!","Nope!")
|
||||||
if(response != "Squeek!") return //Hit the wrong key...again.
|
if(response != "Squeek!") return //Hit the wrong key...again.
|
||||||
|
|
||||||
|
|
||||||
//find a viable mouse candidate
|
//find a viable mouse candidate
|
||||||
var/mob/living/simple_animal/mouse/host
|
var/mob/living/simple_animal/mouse/host
|
||||||
@@ -318,6 +322,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
|||||||
src << "<span class='warning'>Unable to find any unwelded vents to spawn mice at.</span>"
|
src << "<span class='warning'>Unable to find any unwelded vents to spawn mice at.</span>"
|
||||||
|
|
||||||
if(host)
|
if(host)
|
||||||
|
if(config.uneducated_mice)
|
||||||
|
host.universal_understand = 0
|
||||||
host.ckey = src.ckey
|
host.ckey = src.ckey
|
||||||
host << "<span class='info'>You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.</span>"
|
host << "<span class='info'>You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.</span>"
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
minbodytemp = 223 //Below -50 Degrees Celcius
|
minbodytemp = 223 //Below -50 Degrees Celcius
|
||||||
maxbodytemp = 323 //Above 50 Degrees Celcius
|
maxbodytemp = 323 //Above 50 Degrees Celcius
|
||||||
universal_speak = 0
|
universal_speak = 0
|
||||||
|
universal_understand = 1
|
||||||
|
|
||||||
/mob/living/simple_animal/mouse/Life()
|
/mob/living/simple_animal/mouse/Life()
|
||||||
..()
|
..()
|
||||||
@@ -50,6 +51,7 @@
|
|||||||
|
|
||||||
/mob/living/simple_animal/mouse/New()
|
/mob/living/simple_animal/mouse/New()
|
||||||
..()
|
..()
|
||||||
|
name = "[name] ([rand(1, 1000)])"
|
||||||
if(!body_color)
|
if(!body_color)
|
||||||
body_color = pick( list("brown","gray","white") )
|
body_color = pick( list("brown","gray","white") )
|
||||||
icon_state = "mouse_[body_color]"
|
icon_state = "mouse_[body_color]"
|
||||||
|
|||||||
@@ -207,6 +207,7 @@
|
|||||||
|
|
||||||
//Whether or not mobs can understand other mobtypes. These stay in /mob so that ghosts can hear everything.
|
//Whether or not mobs can understand other mobtypes. These stay in /mob so that ghosts can hear everything.
|
||||||
var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE
|
var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE
|
||||||
|
var/universal_understand = 0 // Set to 1 to enable the mob to understand everyone, not necessarily speak
|
||||||
var/robot_talk_understand = 0
|
var/robot_talk_understand = 0
|
||||||
var/alien_talk_understand = 0
|
var/alien_talk_understand = 0
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
if(!other)
|
if(!other)
|
||||||
return 1
|
return 1
|
||||||
//Universal speak makes everything understandable, for obvious reasons.
|
//Universal speak makes everything understandable, for obvious reasons.
|
||||||
else if(other.universal_speak || src.universal_speak)
|
else if(other.universal_speak || src.universal_speak || src.universal_understand)
|
||||||
return 1
|
return 1
|
||||||
else if (src.stat == 2)
|
else if (src.stat == 2)
|
||||||
return 1
|
return 1
|
||||||
@@ -83,11 +83,11 @@
|
|||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
else if(other.universal_speak || src.universal_speak)
|
else if(other.universal_speak || src.universal_speak || src.universal_understand)
|
||||||
return 1
|
return 1
|
||||||
else if(isAI(src) && ispAI(other))
|
else if(isAI(src) && ispAI(other))
|
||||||
return 1
|
return 1
|
||||||
else if (istype(other, src.type) || istype(src, other.type))
|
else if (istype(other, src.type) || istype(src, other.type))
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user