this repo has no description
at master 1.5 kB view raw
1using GDWeave; 2using GDWeave.Modding; 3using Teemaw.Calico.LexicalTransformer; 4 5namespace Atproto; 6 7public class AtProtoSaveFactory 8{ 9 public static IScriptMod Create(IModInterface mod) 10 { 11 return new TransformationRuleScriptModBuilder() 12 .ForMod(mod) 13 .Named("AtProtoSave") 14 .Patching("res://Scenes/Singletons/UserSave/usersave.gdc") 15 .AddRule(new TransformationRuleBuilder() 16 .Named("ready_slot_condition") 17 .Matching(TransformationPatternFactory.CreateGdSnippetPattern("_load_save(last_loaded_slot)", 2)) 18 .Do(Operation.ReplaceAll) 19 .With(""" 20 var Atproto = $"/root/Atproto" 21 if last_loaded_slot != Atproto.ATPROTO_SLOT or Atproto.config.Autoload: 22 _load_save(last_loaded_slot) 23 else: 24 last_loaded_slot = -1 25 """, 2) 26 ) 27 .AddRule(new TransformationRuleBuilder() 28 .Named("save_file") 29 .Matching(TransformationPatternFactory.CreateGdSnippetPattern( 30 "\"locked_refs\": PlayerData.locked_refs, \n\t}\n", 2)) 31 .Do(Operation.Append) 32 .With("var atproto = $\"/root/Atproto\"\nif atproto.can_save_to_atproto():\n\tatproto.AtProtoClient.save_file()\n", 1) 33 ) 34 35 .Build(); 36 } 37}