mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Persistence Patch
- Fixes Paper and font tags stacking across rounds, as shown in:  - Fixes Graffiti being persistent for over 50 rounds (10+ days) - Sets Trash to be persistent for 4 rounds instead of 5 - Fixes Persistence being always-on because of if("persistence_enabled") config.persistence_enabled = 1. As explained: > it's on by default, which means config.txt will be read and if it's not there it stays at 1. If it is there,it gets set to 1. There is no way to disable it - Adds config options to enable/disable **Persistence for Maploaded objects**, as well as a verb to toggle such. - Adds Persistence to config. Currently IGNORE_MAPLOAD for Persistance is **Disabled.** Maploaded objects/dirt/etc will be saved by persistence, preserving current behavior.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/datum/persistent/filth
|
||||
name = "filth"
|
||||
tokens_per_line = 5
|
||||
entries_expire_at = 5
|
||||
entries_expire_at = 4 // 4 rounds, 24 hours.
|
||||
|
||||
/datum/persistent/filth/LabelTokens(var/list/tokens)
|
||||
var/list/labelled_tokens = ..()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/persistent/graffiti
|
||||
name = "graffiti"
|
||||
tokens_per_line = 6
|
||||
entries_expire_at = 50
|
||||
entries_expire_at = 4 // This previously was at 50 rounds??? Over 10 days.
|
||||
has_admin_data = TRUE
|
||||
|
||||
/datum/persistent/graffiti/LabelTokens(var/list/tokens)
|
||||
|
||||
@@ -24,11 +24,13 @@
|
||||
if(requires_noticeboard && LAZYLEN(board.notices) >= board.max_notices)
|
||||
return
|
||||
var/obj/item/weapon/paper/paper = new paper_type(creating)
|
||||
paper.set_content(tokens["message"], tokens["title"])
|
||||
paper.info = tokens["message"]
|
||||
paper.title = tokens["title"])
|
||||
paper.last_modified_ckey = tokens["author"]
|
||||
if(requires_noticeboard)
|
||||
board.add_paper(paper)
|
||||
SSpersistence.track_value(paper, type)
|
||||
if(!paper.was_maploaded) // If we were created/loaded when the map was made, skip us!
|
||||
SSpersistence.track_value(paper, type)
|
||||
return paper
|
||||
|
||||
/datum/persistent/paper/GetEntryAge(var/atom/entry)
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
var/name
|
||||
var/filename
|
||||
var/tokens_per_line
|
||||
var/entries_expire_at
|
||||
var/entries_decay_at
|
||||
var/entries_expire_at // Set in rounds, this controls when the item is finally removed permanently regardless if cleaned or not.
|
||||
var/entries_decay_at // Set in rounds. This controls when item messages start getting scrambled.
|
||||
var/entry_decay_weight = 0.5
|
||||
var/file_entry_split_character = "\t"
|
||||
var/file_entry_substitute_character = " "
|
||||
|
||||
Reference in New Issue
Block a user