mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-29 19:42:42 +00:00
Merge branch 'development' into map-development
# Conflicts: # baystation12.dme # code/game/objects/random/random.dm # code/game/turfs/turf_changing.dm # code/modules/mining/ore.dm # code/modules/mob/living/silicon/robot/robot_modules.dm
This commit is contained in:
@@ -6,8 +6,13 @@
|
||||
var/datum/admins/deadmin_holder = null
|
||||
var/buildmode = 0
|
||||
|
||||
///////////////////
|
||||
//SPAM PROTECTION//
|
||||
///////////////////
|
||||
var/last_message = "" //Contains the last message sent by this client - used to protect against copy-paste spamming.
|
||||
var/last_message_count = 0 //contins a number of how many times a message identical to last_message was sent.
|
||||
var/last_message_time
|
||||
var/spam_alert = 0
|
||||
|
||||
/////////
|
||||
//OTHER//
|
||||
@@ -31,6 +36,7 @@
|
||||
//SECURITY//
|
||||
////////////
|
||||
var/next_allowed_topic_time = 10
|
||||
var/info_sent = 0
|
||||
// comment out the line below when debugging locally to enable the options & messages menu
|
||||
//control_freak = 1
|
||||
|
||||
@@ -59,4 +65,4 @@
|
||||
var/turf/previous_turf = null
|
||||
var/obj/screen/plane_master/parallax_master/parallax_master = null
|
||||
var/obj/screen/plane_master/parallax_dustmaster/parallax_dustmaster = null
|
||||
var/obj/screen/plane_master/parallax_spacemaster/parallax_spacemaster = null
|
||||
var/obj/screen/plane_master/parallax_spacemaster/parallax_spacemaster = null
|
||||
|
||||
@@ -25,7 +25,12 @@
|
||||
return
|
||||
|
||||
if (href_list["EMERG"] && href_list["EMERG"] == "action")
|
||||
handle_connection_info(src, href_list["data"])
|
||||
if (!info_sent)
|
||||
handle_connection_info(src, href_list["data"])
|
||||
info_sent = 1
|
||||
else
|
||||
server_greeting.close_window(src, "Your greeting window has malfunctioned and has been shut down.")
|
||||
|
||||
return
|
||||
|
||||
//Reduces spamming of links by dropping calls that happen during the delay period
|
||||
@@ -197,19 +202,35 @@
|
||||
..() //redirect to hsrc.()
|
||||
|
||||
/client/proc/handle_spam_prevention(var/message, var/mute_type)
|
||||
if(config.automute_on && !holder && src.last_message == message)
|
||||
src.last_message_count++
|
||||
if(src.last_message_count >= SPAM_TRIGGER_AUTOMUTE)
|
||||
src << "\red You have exceeded the spam filter limit for identical messages. An auto-mute was applied."
|
||||
cmd_admin_mute(src.mob, mute_type, 1)
|
||||
return 1
|
||||
if(src.last_message_count >= SPAM_TRIGGER_WARNING)
|
||||
src << "\red You are nearing the spam filter limit for identical messages."
|
||||
return 0
|
||||
else
|
||||
last_message = message
|
||||
src.last_message_count = 0
|
||||
return 0
|
||||
if (config.automute_on && !holder)
|
||||
if (last_message_time)
|
||||
if (world.time - last_message_time < 5)
|
||||
spam_alert++
|
||||
if (spam_alert > 3)
|
||||
if (!(prefs.muted & mute_type))
|
||||
cmd_admin_mute(src.mob, mute_type, 1)
|
||||
|
||||
src << "<span class='danger'>You have tripped the macro filter. An auto-mute was applied.</span>"
|
||||
last_message_time = world.time
|
||||
return 1
|
||||
else
|
||||
spam_alert = max(0, spam_alert--)
|
||||
|
||||
last_message_time = world.time
|
||||
|
||||
if(!isnull(message) && last_message == message)
|
||||
last_message_count++
|
||||
if(last_message_count >= SPAM_TRIGGER_AUTOMUTE)
|
||||
src << "\red You have exceeded the spam filter limit for identical messages. An auto-mute was applied."
|
||||
cmd_admin_mute(src.mob, mute_type, 1)
|
||||
return 1
|
||||
if(last_message_count >= SPAM_TRIGGER_WARNING)
|
||||
src << "\red You are nearing the spam filter limit for identical messages."
|
||||
return 0
|
||||
|
||||
last_message = message
|
||||
last_message_count = 0
|
||||
return 0
|
||||
|
||||
//This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc.
|
||||
/client/AllowUpload(filename, filelength)
|
||||
@@ -273,7 +294,7 @@
|
||||
prefs.last_id = computer_id //these are gonna be used for banning
|
||||
|
||||
. = ..() //calls mob.Login()
|
||||
|
||||
|
||||
prefs.sanitize_preferences()
|
||||
|
||||
if (byond_version < config.client_error_version)
|
||||
@@ -434,46 +455,8 @@
|
||||
'html/bootstrap/css/bootstrap.min.css',
|
||||
'html/bootstrap/js/bootstrap.min.js',
|
||||
'html/jquery/jquery-2.0.0.min.js',
|
||||
'html/iestats/ie-truth.min.js',
|
||||
'icons/pda_icons/pda_atmos.png',
|
||||
'icons/pda_icons/pda_back.png',
|
||||
'icons/pda_icons/pda_bell.png',
|
||||
'icons/pda_icons/pda_blank.png',
|
||||
'icons/pda_icons/pda_boom.png',
|
||||
'icons/pda_icons/pda_bucket.png',
|
||||
'icons/pda_icons/pda_crate.png',
|
||||
'icons/pda_icons/pda_cuffs.png',
|
||||
'icons/pda_icons/pda_eject.png',
|
||||
'icons/pda_icons/pda_exit.png',
|
||||
'icons/pda_icons/pda_flashlight.png',
|
||||
'icons/pda_icons/pda_honk.png',
|
||||
'icons/pda_icons/pda_mail.png',
|
||||
'icons/pda_icons/pda_medical.png',
|
||||
'icons/pda_icons/pda_menu.png',
|
||||
'icons/pda_icons/pda_mule.png',
|
||||
'icons/pda_icons/pda_notes.png',
|
||||
'icons/pda_icons/pda_power.png',
|
||||
'icons/pda_icons/pda_rdoor.png',
|
||||
'icons/pda_icons/pda_reagent.png',
|
||||
'icons/pda_icons/pda_refresh.png',
|
||||
'icons/pda_icons/pda_scanner.png',
|
||||
'icons/pda_icons/pda_signaler.png',
|
||||
'icons/pda_icons/pda_status.png',
|
||||
'icons/spideros_icons/sos_1.png',
|
||||
'icons/spideros_icons/sos_2.png',
|
||||
'icons/spideros_icons/sos_3.png',
|
||||
'icons/spideros_icons/sos_4.png',
|
||||
'icons/spideros_icons/sos_5.png',
|
||||
'icons/spideros_icons/sos_6.png',
|
||||
'icons/spideros_icons/sos_7.png',
|
||||
'icons/spideros_icons/sos_8.png',
|
||||
'icons/spideros_icons/sos_9.png',
|
||||
'icons/spideros_icons/sos_10.png',
|
||||
'icons/spideros_icons/sos_11.png',
|
||||
'icons/spideros_icons/sos_12.png',
|
||||
'icons/spideros_icons/sos_13.png',
|
||||
'icons/spideros_icons/sos_14.png'
|
||||
)
|
||||
'html/iestats/ie-truth.min.js'
|
||||
)
|
||||
|
||||
/mob/proc/MayRespawn()
|
||||
return 0
|
||||
|
||||
@@ -35,10 +35,11 @@
|
||||
/datum/category_item/player_setup_item/antagonism/candidacy/content(var/mob/user)
|
||||
. += "<b>Special Role Availability:</b><br>"
|
||||
. += "<table>"
|
||||
var/is_global_banned = jobban_isbanned(preference_mob(), "Antagonist")
|
||||
for(var/antag_type in all_antag_types)
|
||||
var/datum/antagonist/antag = all_antag_types[antag_type]
|
||||
. += "<tr><td>[antag.role_text]: </td><td>"
|
||||
if(jobban_isbanned(preference_mob(), antag.bantype))
|
||||
if(is_global_banned || jobban_isbanned(preference_mob(), antag.bantype))
|
||||
. += "<span class='danger'>\[BANNED\]</span><br>"
|
||||
else if(antag.role_type in pref.be_special_role)
|
||||
. += "<b>Yes</b> / <a href='?src=\ref[src];del_special=[antag.role_type]'>No</a></br>"
|
||||
|
||||
@@ -42,11 +42,6 @@
|
||||
..()
|
||||
gear_tweaks += new/datum/gear_tweak/reagents(lunchables_drink_reagents())
|
||||
|
||||
/datum/gear/boot_knife
|
||||
display_name = "boot knife"
|
||||
path = /obj/item/weapon/material/kitchen/utensil/knife/boot
|
||||
cost = 3
|
||||
|
||||
/datum/gear/lunchbox
|
||||
display_name = "lunchbox"
|
||||
description = "A little lunchbox."
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
gear_tweaks += new/datum/gear_tweak/path(dress)
|
||||
|
||||
/datum/gear/uniform/uniform_captain
|
||||
display_name = "uniform, captain's dress"
|
||||
display_name = "uniform, captain dress"
|
||||
path = /obj/item/clothing/under/dress/dress_cap
|
||||
allowed_roles = list("Captain")
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
allowed_roles = list("Security Officer","Head of Security","Warden","Security Cadet")
|
||||
|
||||
/datum/gear/uniform/uniform_hop
|
||||
display_name = "uniform, HoP's dress"
|
||||
display_name = "uniform, HoP dress"
|
||||
path = /obj/item/clothing/under/dress/dress_hop
|
||||
allowed_roles = list("Head of Personnel")
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
/datum/gear/ears/m_skrell/New()
|
||||
..()
|
||||
var/m_chains = list()
|
||||
m_chains["headtail bands"] = /obj/item/clothing/ears/skrell/chain
|
||||
m_chains["headtail bands"] = /obj/item/clothing/ears/skrell/band
|
||||
m_chains["headtail cloth"] = /obj/item/clothing/ears/skrell/cloth_male
|
||||
m_chains["red-jeweled bands"] = /obj/item/clothing/ears/skrell/redjeweled_band
|
||||
m_chains["ebony bands"] = /obj/item/clothing/ears/skrell/ebony_band
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
infraction.fine = text2num(char_infraction_query.item[10])
|
||||
infraction.felony = text2num(char_infraction_query.item[11])
|
||||
pref.incidents.Add(infraction)
|
||||
log_debug("Added infraction with [infraction.UID]")
|
||||
|
||||
/datum/category_item/player_setup_item/other/incidents/content(var/mob/user)
|
||||
pref.incidents = list()
|
||||
|
||||
Reference in New Issue
Block a user