mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2026-08-26 14:17:12 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -91,3 +91,8 @@
|
||||
#define LOADOUT_TAB 4
|
||||
#define CONTENT_PREFERENCES_TAB 5
|
||||
#define KEYBINDINGS_TAB 6
|
||||
|
||||
//quirks
|
||||
#define QUIRK_POSITIVE "Positive"
|
||||
#define QUIRK_NEGATIVE "Negative"
|
||||
#define QUIRK_NEUTRAL "Neutral"
|
||||
|
||||
@@ -250,6 +250,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
//Quirk list
|
||||
var/list/all_quirks = list()
|
||||
|
||||
//Quirk category currently selected
|
||||
var/quirk_category = QUIRK_POSITIVE // defaults to positive, the first tab!
|
||||
|
||||
//Job preferences 2.0 - indexed by job title , no key or value implies never
|
||||
var/list/job_preferences = list()
|
||||
|
||||
@@ -1666,9 +1669,17 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<hr>"
|
||||
dat += "<center><b>Current quirks:</b> [all_quirks.len ? all_quirks.Join(", ") : "None"]</center>"
|
||||
dat += "<center>[GetPositiveQuirkCount()] / [MAX_QUIRKS] max positive quirks<br>\
|
||||
<b>Quirk balance remaining:</b> [GetQuirkBalance()]</center><br>"
|
||||
<b>Quirk balance remaining:</b> [GetQuirkBalance()]<br>"
|
||||
dat += " <a href='?_src_=prefs;quirk_category=[QUIRK_POSITIVE]' [quirk_category == QUIRK_POSITIVE ? "class='linkOn'" : ""]>[QUIRK_POSITIVE]</a> "
|
||||
dat += " <a href='?_src_=prefs;quirk_category=[QUIRK_NEUTRAL]' [quirk_category == QUIRK_NEUTRAL ? "class='linkOn'" : ""]>[QUIRK_NEUTRAL]</a> "
|
||||
dat += " <a href='?_src_=prefs;quirk_category=[QUIRK_NEGATIVE]' [quirk_category == QUIRK_NEGATIVE ? "class='linkOn'" : ""]>[QUIRK_NEGATIVE]</a> "
|
||||
dat += "</center><br>"
|
||||
for(var/V in SSquirks.quirks)
|
||||
var/datum/quirk/T = SSquirks.quirks[V]
|
||||
var/value = initial(T.value)
|
||||
if((value > 0 && quirk_category != QUIRK_POSITIVE) || (value < 0 && quirk_category != QUIRK_NEGATIVE) || (value == 0 && quirk_category != QUIRK_NEUTRAL))
|
||||
continue
|
||||
|
||||
var/quirk_name = initial(T.name)
|
||||
var/has_quirk
|
||||
var/quirk_cost = initial(T.value) * -1
|
||||
@@ -1690,7 +1701,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
quirk_cost = "+[quirk_cost]"
|
||||
var/font_color = "#AAAAFF"
|
||||
if(initial(T.value) != 0)
|
||||
font_color = initial(T.value) > 0 ? "#AAFFAA" : "#FFAAAA"
|
||||
font_color = value > 0 ? "#AAFFAA" : "#FFAAAA"
|
||||
if(quirk_conflict)
|
||||
dat += "<font color='[font_color]'>[quirk_name]</font> - [initial(T.desc)] \
|
||||
<font color='red'><b>LOCKED: [lock_reason]</b></font><br>"
|
||||
@@ -1836,7 +1847,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
else
|
||||
SetQuirks(user)
|
||||
return TRUE
|
||||
//SKYRAT CHANGE - only language pref
|
||||
|
||||
else if(href_list["quirk_category"])
|
||||
var/temp_quirk_category = href_list["quirk_category"]
|
||||
if(temp_quirk_category == QUIRK_POSITIVE || temp_quirk_category == QUIRK_NEUTRAL || temp_quirk_category == QUIRK_NEGATIVE)
|
||||
quirk_category = temp_quirk_category
|
||||
SetQuirks(user)
|
||||
|
||||
else if(href_list["preference"] == "language")
|
||||
switch(href_list["task"])
|
||||
if("close")
|
||||
@@ -1855,7 +1872,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
else
|
||||
SetLanguage(user)
|
||||
return TRUE
|
||||
//
|
||||
|
||||
switch(href_list["task"])
|
||||
if("random")
|
||||
switch(href_list["preference"])
|
||||
|
||||
@@ -526,6 +526,8 @@
|
||||
|
||||
/datum/emote/living/circle/run_emote(mob/user, params)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
var/obj/item/circlegame/N = new(user)
|
||||
if(user.put_in_hands(N))
|
||||
to_chat(user, "<span class='notice'>You make a circle with your hand.</span>")
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/unrestricted = TRUE
|
||||
|
||||
/datum/emote/sound/silicon/run_emote(mob/user, params)
|
||||
if(!unrestricted && !(issilicon(user) || isipcperson(user)))
|
||||
if(!unrestricted && !(issilicon(user) || isrobotic(user)))
|
||||
return
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
|
||||
/datum/emote/slime/mood/run_emote(mob/user, params)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
var/mob/living/simple_animal/slime/S = user
|
||||
S.mood = mood
|
||||
S.regenerate_icons()
|
||||
|
||||
@@ -139,5 +139,9 @@
|
||||
Yawet330:
|
||||
- admin: Staff when aghosting get the same things, so you can easily see peoples
|
||||
OOC notes if disputes come up, and they're in something that prevents examines.
|
||||
2022-05-17:
|
||||
timothyteakettle:
|
||||
- rscadd: poly alt cloak can now be renamed/dedescriptioned in loadout
|
||||
2022-05-18:
|
||||
timothyteakettle:
|
||||
- rscadd: quirks are now organised into three tabs for positive, neutral and negative
|
||||
|
||||
@@ -77,7 +77,8 @@
|
||||
restraint_check = TRUE
|
||||
|
||||
/datum/emote/living/snap/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -93,7 +94,8 @@
|
||||
restraint_check = TRUE
|
||||
|
||||
/datum/emote/living/snap2/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -109,7 +111,8 @@
|
||||
restraint_check = TRUE
|
||||
|
||||
/datum/emote/living/snap3/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -125,7 +128,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/awoo/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -141,7 +145,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/hiss/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -157,7 +162,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/meow/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -173,7 +179,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/purr/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -189,7 +196,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/nya/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -205,7 +213,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/weh/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -221,7 +230,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/peep/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -244,7 +254,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/mothsqueak/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -260,7 +271,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/merp/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -276,7 +288,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/bark/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -293,7 +306,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/squish/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -310,7 +324,8 @@
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/pain/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
@@ -331,6 +346,7 @@
|
||||
restraint_check = TRUE
|
||||
|
||||
/datum/emote/living/clap1/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
playsound(user, 'modular_citadel/sound/voice/clap.ogg', 50, 1, -1)
|
||||
|
||||
Reference in New Issue
Block a user