mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 12:29:46 +01:00
Merge branch 'master' into ship_and_stuff
# Conflicts: # code/modules/client/preference_setup/loadout/loadout_eyes.dm
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#define DEFAULT_MAX_RUNES 25
|
||||
#define DEFAULT_MAX_RUNES 40
|
||||
/var/datum/controller/subsystem/cult/SScult
|
||||
|
||||
/datum/controller/subsystem/cult
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
var/list/runes_by_name = list()
|
||||
var/list/rune_list = list()
|
||||
var/list/limited_runes = list()
|
||||
|
||||
var/list/teleport_runes = list()
|
||||
var/list/static/teleport_network = list("Vernuth", "Koglan", "Irgros", "Akon")
|
||||
@@ -26,22 +27,35 @@
|
||||
tome_data += "<div class='rune-block'>"
|
||||
tome_data += "<b>[capitalize_first_letters(R.name)]</b>: <i>[R.desc]</i><br>"
|
||||
tome_data += "This rune <b><i>[R.can_be_talisman() ? "can" : "cannot"]</i></b> be turned into a talisman.<br>"
|
||||
tome_data += "This rune <b><i>[R.can_memorize() ? "can" : "cannot"]</i></b> be memorized to be scribed without a tome.<br><hr>"
|
||||
tome_data += "</div>"
|
||||
tome_data += "This rune <b><i>[R.can_memorize() ? "can" : "cannot"]</i></b> be memorized to be scribed without a tome.<br>"
|
||||
if(R.max_number_allowed)
|
||||
tome_data += "This rune has a special limit of <b><i>[R.max_number_allowed]</b></i> runes.<br><hr>"
|
||||
limited_runes[R.type] = R.max_number_allowed //The runes created will tick the counter down to zero.
|
||||
tome_data += "</div>"
|
||||
|
||||
/datum/controller/subsystem/cult/proc/add_rune(var/datum/rune/R)
|
||||
if(check_rune_limit())
|
||||
if(check_rune_limit(R))
|
||||
return FALSE
|
||||
else
|
||||
rune_list += R
|
||||
return TRUE
|
||||
|
||||
/datum/controller/subsystem/cult/proc/check_rune_limit()
|
||||
return ((length(rune_list) + rune_boost + length(cult.current_antagonists)) >= rune_limit)
|
||||
/datum/controller/subsystem/cult/proc/check_rune_limit(var/rune_type)
|
||||
if(rune_type && (rune_type in limited_runes))
|
||||
var/current_runes = limited_runes[rune_type]
|
||||
if(current_runes > 0)
|
||||
limited_runes[rune_type]--
|
||||
return FALSE
|
||||
else
|
||||
return TRUE
|
||||
else
|
||||
return ((length(rune_list) + rune_boost + length(cult.current_antagonists)) >= rune_limit)
|
||||
|
||||
/datum/controller/subsystem/cult/proc/remove_rune(var/datum/rune/R)
|
||||
if(R in rune_list)
|
||||
rune_list -= R
|
||||
if(R.type in limited_runes)
|
||||
limited_runes[R.type]++
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
Reference in New Issue
Block a user