private static void ProcessMobReset(ResetData reset, IRepositoryManager dbManager) { var mobTemplate = dbManager.MOBILETEMPLATES.Values.FirstOrDefault(x => x.ID == reset.Args.ToList()[0]); if (mobTemplate == null) { // todo bug return; } var room = dbManager.ROOMS.Get(reset.Args.ToList()[2]); if (room == null) { // todo bug return; } if (!reset.sreset) { return; // todo what does sreset mean? } var mob = dbManager.CHARACTERS.Create(mobTemplate); // todo finish mob reset // todo sub-resets allowed are Equip/Give // todo sub-sub-resets allowed are Hidden, Put }
public static void Process(this ResetData reset, IRepositoryManager repositoryManager = null) { var dbManager = repositoryManager ?? RepositoryManager.Instance; if (ProcessTable.ContainsKey(reset.Type)) { ProcessTable[reset.Type].Invoke(reset, dbManager); } }
// Use this for initialization void Start() { StartMenu.SetActive(true); WorldsChoose.SetActive(false); LevelsChoose.SetActive(false); LoadingScreen.SetActive(true); CharacterChoose.SetActive(false); rs = new ResetData(); // rs.UnlockAll(); }
public void AddReset(string type, int extra, int arg1, int arg2, int arg3) { var newReset = new ResetData { Type = Realm.Library.Common.Extensions.EnumerationExtensions.GetEnumIgnoreCase <ResetTypes>(type), Extra = extra, Command = type[0].ToString() }; newReset.SetArgs(arg1, arg2, arg3); Resets.Add(newReset); }
private static void ProcessRandomizeReset(ResetData reset, IRepositoryManager dbManager) { var room = dbManager.ROOMS.Get(reset.Args.ToList()[0]); if (room == null) { // todo bug return; } // todo randomize_exits(reset.Args.ToList()[1]); }
public static ResetData LuaCreateReset(string resetType, int extra, int arg1, int arg2, int arg3) { var newReset = new ResetData { Type = EnumerationExtensions.GetEnumIgnoreCase <ResetTypes>(resetType), Extra = extra }; newReset.SetArgs(arg1, arg2, arg3); _luaManager.Proxy.CreateTable("reset"); AddLastObject(newReset); _logManager.Boot("Reset '{0}' created", resetType); return(newReset); }
public void Initialize() { data = new ResetData { CurrentTransition = 0, GroupedProperties = new List <DisplayTransition>(), Dependencies = new ResetDependencies { ToggledIndex = 0, FromStates = new List <Object>(), SerializedObject = null, Transitions = null, GroupedTransitions = new Dictionary <Object, List <DisplayTransition> >(), TransitionTableEditor = null, TransitionsByFromStates = new List <List <DisplayTransition> >(), ApplyingModifications = false, AppliedModificationsMessage = "" } }; }
private static void ProcessDoorReset(ResetData reset, IRepositoryManager dbManager) { var room = dbManager.ROOMS.Get(reset.Args.ToList()[0]); var exit = room?.GetExit(reset.Args.ToList()[1]); if (exit == null) { // todo not found error return; } var resetStyle = reset.Args.ToList()[2]; switch (resetStyle) { case 0: exit.Flags = exit.Flags.RemoveBit(ExitFlags.Closed); exit.Flags = exit.Flags.RemoveBit(ExitFlags.Locked); break; case 1: exit.Flags = exit.Flags.SetBit(ExitFlags.Closed); exit.Flags = exit.Flags.RemoveBit(ExitFlags.Locked); if (exit.Flags.IsSet(ExitFlags.xSearchable)) { exit.Flags = exit.Flags.SetBit(ExitFlags.Secret); } break; case 2: exit.Flags = exit.Flags.SetBit(ExitFlags.Closed); exit.Flags = exit.Flags.SetBit(ExitFlags.Locked); if (exit.Flags.IsSet(ExitFlags.xSearchable)) { exit.Flags = exit.Flags.SetBit(ExitFlags.Secret); } break; } }
private static void ProcessTrapReset(ResetData reset, IRepositoryManager dbManager) { if (reset.Extra.IsSet(TrapTriggerTypes.Object)) { // todo object trap in room reset return; } var room = dbManager.ROOMS.Get(reset.Args.ToList()[2]); if (room == null) { // todo bug return; } // todo finish trap reset // if (room->area->nplayer > 0 // || count_obj_list(get_obj_index(OBJ_VNUM_TRAP), pRoomIndex->first_content) > 0) // break; // to_obj = make_trap(pReset->arg1, pReset->arg1, 10, pReset->extra); // obj_to_room(to_obj, pRoomIndex); }
static bool LoadAreaFiles() { string listContents; try { listContents = Encoding.ASCII.GetString(File.ReadAllBytes(Path.Combine(areaPath, areaList))); } catch (Exception e) { log.Error(e.Message); return(false); } using (var sr = new StringReader(listContents)) { for (;;) { var curFile = sr.ReadLine().Trim(); if (string.IsNullOrWhiteSpace(curFile)) { continue; } if (curFile.StartsWith("$")) { break; } if (curFile.StartsWith("-")) { // ?????? // fpArea = stdin; continue; } log.Info($"loadding {curFile}"); string areaContents; try { areaContents = Encoding.ASCII.GetString(File.ReadAllBytes(Path.Combine(areaPath, curFile))); } catch (Exception e) { log.Error(e.Message); return(false); } using (var ar = new StringReader(areaContents)) { AreaData lastArea = null; for (;;) { var word = ar.ReadWord(); if (!word.StartsWith("#")) { return(false); } word = word.Substring(1); if (word.StartsWith("$")) { break; } switch (word) { case "AREA": lastArea = AreaData.Load(ar, curFile); break; case "HELPS": HelpData.LoadFromArea(ar); break; case "MOBILES": MobileDef.LoadFromArea(ar, lastArea); break; case "OBJECTS": ObjectDef.LoadFromArea(ar, lastArea); break; case "RESETS": ResetData.LoadFromArea(ar); break; case "ROOMS": RoomDef.LoadFromArea(ar, lastArea); break; case "SHOPS": ShopData.LoadFromArea(ar); break; case "SPECIALS": SpecType.LoadFromArea(ar); break; // OLC case "AREADATA": lastArea = AreaData.NewLoad(ar, curFile); break; // OLC 1.1b case "ROOMDATA": RoomDef.NewLoadFromArea(ar, lastArea); break; default: log.Error($"Boot_db: bad section name '{word}'."); return(false); } } } } return(true); } }
public ItemReset(ResourceData data) : base(data) { this.resetData = (ResetData)data; }
private static void ProcessObjectReset(ResetData reset, IRepositoryManager dbManager) { // todo sub-resets allowed are Hidden, Trap, Put }
public static void translate_reset(ResetData reset, renumber_areas r_data) { // TODO }
public static void delete_reset(ResetData pReset) { // TODO }
public static string sprint_reset(ResetData pReset, short num) { // TODO return(string.Empty); }
public void AddReset(ResetData reset) => Resets.Add(reset);