mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 22:50:26 +01:00
Merge remote-tracking branch 'upstream/master' into hog-mergeconflicts
Conflicts: code/__DEFINES/hud.dm code/__HELPERS/game.dm code/_onclick/hud/_defines.dm code/_onclick/hud/hud.dm code/game/gamemodes/antag_spawner.dm code/game/gamemodes/game_mode.dm code/game/machinery/turrets.dm code/modules/client/preferences_toggles.dm code/modules/events/alien_infestation.dm code/modules/mob/dead/observer/observer.dm code/modules/mob/living/carbon/alien/special/alien_embryo.dm code/modules/mob/living/simple_animal/revenant/revenant.dm icons/mob/back.dmi icons/mob/head.dmi icons/mob/hud.dmi icons/mob/inhands/items_lefthand.dmi icons/mob/inhands/items_righthand.dmi icons/mob/mob.dmi icons/mob/suit.dmi icons/obj/clothing/hats.dmi icons/obj/items.dmi icons/obj/projectiles.dmi icons/obj/storage.dmi
This commit is contained in:
@@ -44,3 +44,8 @@
|
||||
// Used by html_interface module.
|
||||
var/hi_last_pos
|
||||
|
||||
|
||||
//datum that controls the displaying and hiding of tooltips
|
||||
var/datum/tooltip/tooltips
|
||||
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
/client/proc/is_content_unlocked()
|
||||
if(!prefs.unlock_content)
|
||||
src << "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. <a href='http://www.byond.com/membership'>Click Here to find out more</a>."
|
||||
src << "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! <a href='http://www.byond.com/membership'>Click Here to find out more</a>."
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -92,7 +92,7 @@ var/next_external_rsc = 0
|
||||
|
||||
TopicData = null //Prevent calls to client.Topic from connect
|
||||
|
||||
if(connection != "seeker") //Invalid connection type.
|
||||
if(connection != "seeker" && connection != "web")//Invalid connection type.
|
||||
return null
|
||||
if(byond_version < MIN_CLIENT_VERSION) //Out of date client.
|
||||
return null
|
||||
@@ -107,6 +107,18 @@ var/next_external_rsc = 0
|
||||
directory[ckey] = src
|
||||
|
||||
//Admin Authorisation
|
||||
if(protected_config.autoadmin)
|
||||
if(!admin_datums[ckey])
|
||||
var/datum/admin_rank/autorank
|
||||
for(var/datum/admin_rank/R in admin_ranks)
|
||||
if(R.name == protected_config.autoadmin_rank)
|
||||
autorank = R
|
||||
break
|
||||
if(!autorank)
|
||||
world << "Autoadmin rank not found"
|
||||
else
|
||||
var/datum/admins/D = new(autorank, ckey)
|
||||
admin_datums[ckey] = D
|
||||
holder = admin_datums[ckey]
|
||||
if(holder)
|
||||
admins += src
|
||||
@@ -122,6 +134,16 @@ var/next_external_rsc = 0
|
||||
|
||||
. = ..() //calls mob.Login()
|
||||
|
||||
if (connection == "web")
|
||||
if (!config.allowwebclient)
|
||||
src << "Web client is disabled"
|
||||
del(src)
|
||||
return 0
|
||||
if (config.webclientmembersonly && !IsByondMember())
|
||||
src << "Sorry, but the web client is restricted to byond members only."
|
||||
del(src)
|
||||
return 0
|
||||
|
||||
if( (world.address == address || !address) && !host )
|
||||
host = key
|
||||
world.update_status()
|
||||
@@ -184,6 +206,12 @@ var/next_external_rsc = 0
|
||||
if (config && config.autoconvert_notes)
|
||||
convert_notes_sql(ckey)
|
||||
|
||||
|
||||
//This is down here because of the browse() calls in tooltip/New()
|
||||
if(!tooltips)
|
||||
tooltips = new /datum/tooltip(src)
|
||||
|
||||
|
||||
//////////////
|
||||
//DISCONNECT//
|
||||
//////////////
|
||||
|
||||
@@ -83,6 +83,8 @@ var/list/preferences_datums = list()
|
||||
|
||||
var/unlock_content = 0
|
||||
|
||||
var/list/ignoring = list()
|
||||
|
||||
/datum/preferences/New(client/C)
|
||||
blood_type = random_blood_type()
|
||||
custom_names["ai"] = pick(ai_names)
|
||||
@@ -653,8 +655,6 @@ var/list/preferences_datums = list()
|
||||
return 0
|
||||
|
||||
/datum/preferences/proc/process_link(mob/user, list/href_list)
|
||||
if(!istype(user, /mob/new_player)) return
|
||||
|
||||
if(href_list["jobbancheck"])
|
||||
var/job = sanitizeSQL(href_list["jobbancheck"])
|
||||
var/sql_ckey = sanitizeSQL(user.ckey)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define SAVEFILE_VERSION_MIN 8
|
||||
|
||||
//This is the current version, anything below this will attempt to update (if it's not obsolete)
|
||||
#define SAVEFILE_VERSION_MAX 11
|
||||
#define SAVEFILE_VERSION_MAX 12
|
||||
/*
|
||||
SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn
|
||||
This proc checks if the current directory of the savefile S needs updating
|
||||
@@ -99,6 +99,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
if(current_version < 11)
|
||||
chat_toggles = TOGGLES_DEFAULT_CHAT
|
||||
toggles = TOGGLES_DEFAULT
|
||||
if(current_version < 12)
|
||||
ignoring = list()
|
||||
|
||||
|
||||
//should this proc get fairly long (say 3 versions long),
|
||||
@@ -176,6 +178,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["toggles"] >> toggles
|
||||
S["ghost_form"] >> ghost_form
|
||||
S["preferred_map"] >> preferred_map
|
||||
S["ignoring"] >> ignoring
|
||||
|
||||
//try to fix any outdated data if necessary
|
||||
if(needs_update >= 0)
|
||||
@@ -210,6 +213,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["chat_toggles"] << chat_toggles
|
||||
S["ghost_form"] << ghost_form
|
||||
S["preferred_map"] << preferred_map
|
||||
S["ignoring"] << ignoring
|
||||
|
||||
return 1
|
||||
|
||||
@@ -261,13 +265,17 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["backbag"] >> backbag
|
||||
S["feature_mcolor"] >> features["mcolor"]
|
||||
S["feature_lizard_tail"] >> features["tail_lizard"]
|
||||
S["feature_human_tail"] >> features["tail_human"]
|
||||
S["feature_lizard_snout"] >> features["snout"]
|
||||
S["feature_lizard_horns"] >> features["horns"]
|
||||
S["feature_human_ears"] >> features["ears"]
|
||||
S["feature_lizard_frills"] >> features["frills"]
|
||||
S["feature_lizard_spines"] >> features["spines"]
|
||||
S["feature_lizard_body_markings"] >> features["body_markings"]
|
||||
if(!config.mutant_humans)
|
||||
features["tail_human"] = "none"
|
||||
features["ears"] = "none"
|
||||
else
|
||||
S["feature_human_tail"] >> features["tail_human"]
|
||||
S["feature_human_ears"] >> features["ears"]
|
||||
S["clown_name"] >> custom_names["clown"]
|
||||
S["mime_name"] >> custom_names["mime"]
|
||||
S["ai_name"] >> custom_names["ai"]
|
||||
|
||||
@@ -104,15 +104,6 @@
|
||||
src << "You will no longer prayer sounds."
|
||||
feedback_add_details("admin_verb", "PSounds")
|
||||
|
||||
/client/verb/togglePRs()
|
||||
set name = "Show/Hide Pull Request Announcements"
|
||||
set category = "Preferences"
|
||||
set desc = "Toggles receiving a notification when new pull requests are created."
|
||||
prefs.chat_toggles ^= CHAT_PULLR
|
||||
prefs.save_preferences()
|
||||
src << "You will [(prefs.chat_toggles & CHAT_PULLR) ? "now" : "no longer"] see new pull request announcements."
|
||||
feedback_add_details("admin_verb","TPullR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/togglemidroundantag()
|
||||
set name = "Toggle Midround Antagonist"
|
||||
set category = "Preferences"
|
||||
@@ -214,44 +205,6 @@
|
||||
src.ambience_playing = 0
|
||||
feedback_add_details("admin_verb", "SAmbi") //If you are copy-pasting this, I bet you read this comment expecting to see the same thing :^)
|
||||
|
||||
//be special
|
||||
/client/verb/toggle_be_special(/*role in be_special_flags*/)
|
||||
set name = "Toggle SpecialRole Candidacy"
|
||||
set category = "Preferences"
|
||||
set desc = "Toggles which special roles you would like to be a candidate for, during events."
|
||||
|
||||
var/list/options = list()
|
||||
|
||||
for(var/role in special_roles)
|
||||
var/key = capitalize(role)
|
||||
if(role in prefs.be_special)
|
||||
key += " (Enabled)"
|
||||
else
|
||||
key += " (Disabled)"
|
||||
options[key] = role
|
||||
|
||||
var/a_input = input(src,"Special role candicacy","Special roles") as null|anything in options
|
||||
if(!a_input || !options[a_input])
|
||||
return
|
||||
|
||||
var/role_flag = options[a_input]
|
||||
if(role_flag in prefs.be_special)
|
||||
prefs.be_special -= role_flag
|
||||
else
|
||||
prefs.be_special += role_flag
|
||||
|
||||
prefs.save_preferences()
|
||||
src << "You will [(role_flag in prefs.be_special) ? "now" : "no longer"] be considered for [capitalize(role_flag)] events (where possible)."
|
||||
feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggle_member_publicity()
|
||||
set name = "Toggle Membership Publicity"
|
||||
set category = "Preferences"
|
||||
set desc = "Toggles whether other players can see that you are a BYOND member (OOC blag icon/colours)."
|
||||
prefs.toggles ^= MEMBER_PUBLIC
|
||||
prefs.save_preferences()
|
||||
src << "Others can[(prefs.toggles & MEMBER_PUBLIC) ? "" : "not"] see whether you are a byond member."
|
||||
|
||||
var/list/ghost_forms = list("ghost","ghostking","ghostian2","skeleghost","ghost_red","ghost_black", \
|
||||
"ghost_blue","ghost_yellow","ghost_green","ghost_pink", \
|
||||
"ghost_cyan","ghost_dblue","ghost_dred","ghost_dgreen", \
|
||||
@@ -276,4 +229,11 @@ var/list/ghost_forms = list("ghost","ghostking","ghostian2","skeleghost","ghost_
|
||||
prefs.toggles ^= INTENT_STYLE
|
||||
src << "[(prefs.toggles & INTENT_STYLE) ? "Clicking directly on intents selects them." : "Clicking on intents rotates selection clockwise."]"
|
||||
prefs.save_preferences()
|
||||
feedback_add_details("admin_verb","ITENTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
feedback_add_details("admin_verb","ITENTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/setup_character()
|
||||
set name = "Game Preferences"
|
||||
set category = "Preferences"
|
||||
set desc = "Allows you to access the Setup Character screen. Changes to your character won't take effect until next round, but other changes will."
|
||||
prefs.current_tab = 1
|
||||
prefs.ShowChoices(usr)
|
||||
|
||||
Reference in New Issue
Block a user