public MSManager() { WorldServers = new List <WorldServer>(); LoginServers = new List <IScsServiceClient>(); ConnectedAccounts = new ThreadSafeGenericList <AccountConnection>(); AuthentificatedClients = new List <long>(); ConfigurationObject = new ConfigurationObject { RateXP = int.Parse(ConfigurationManager.AppSettings["RateXp"]), RateHeroicXP = int.Parse(ConfigurationManager.AppSettings["RateHeroicXp"]), RateDrop = int.Parse(ConfigurationManager.AppSettings["RateDrop"]), MaxGold = long.Parse(ConfigurationManager.AppSettings["MaxGold"]), RateGoldDrop = int.Parse(ConfigurationManager.AppSettings["GoldRateDrop"]), RateGold = int.Parse(ConfigurationManager.AppSettings["RateGold"]), RateFairyXP = int.Parse(ConfigurationManager.AppSettings["RateFairyXp"]), MaxLevel = byte.Parse(ConfigurationManager.AppSettings["MaxLevel"]), MaxJobLevel = byte.Parse(ConfigurationManager.AppSettings["MaxJobLevel"]), MaxSPLevel = byte.Parse(ConfigurationManager.AppSettings["MaxSPLevel"]), MaxHeroLevel = byte.Parse(ConfigurationManager.AppSettings["MaxHeroLevel"]), HeroicStartLevel = byte.Parse(ConfigurationManager.AppSettings["HeroicStartLevel"]), MaxUpgrade = byte.Parse(ConfigurationManager.AppSettings["MaxUpgrade"]), SceneOnCreate = bool.Parse(ConfigurationManager.AppSettings["SceneOnCreate"]), SessionLimit = int.Parse(ConfigurationManager.AppSettings["SessionLimit"]), WorldInformation = bool.Parse(ConfigurationManager.AppSettings["WorldInformation"]), Act4IP = ConfigurationManager.AppSettings["Act4IP"], Act4Port = int.Parse(ConfigurationManager.AppSettings["Act4Port"]), MallBaseURL = ConfigurationManager.AppSettings["MallBaseURL"], MallAPIKey = ConfigurationManager.AppSettings["MallAPIKey"], UseChatLogService = bool.Parse(ConfigurationManager.AppSettings["UseChatLogService"]) }; }
public MapInstance(Map map, Guid guid, bool shopAllowed, MapInstanceType type, InstanceBag instanceBag) { Buttons = new List <MapButton>(); XpRate = 1; DropRate = 1; InstanceMusic = map.Music; ShopAllowed = shopAllowed; MapInstanceType = type; _isSleeping = true; LastUserShopId = 0; InstanceBag = instanceBag; Clock = new Clock(3); _random = new Random(); Map = map; MapInstanceId = guid; ScriptedInstances = new List <ScriptedInstance>(); OnCharacterDiscoveringMapEvents = new List <Tuple <EventContainer, List <long> > >(); OnMoveOnMapEvents = new ThreadSafeGenericList <EventContainer>(); OnAreaEntryEvents = new ThreadSafeGenericList <ZoneEvent>(); WaveEvents = new List <EventWave>(); OnMapClean = new List <EventContainer>(); _monsters = new ThreadSafeSortedList <long, MapMonster>(); _npcs = new ThreadSafeSortedList <long, MapNpc>(); _mapMonsterIds = new ThreadSafeSortedList <int, int>(); _mapNpcIds = new ThreadSafeSortedList <int, int>(); DroppedList = new ThreadSafeSortedList <long, MapItem>(); Portals = new List <Portal>(); UnlockEvents = new List <EventContainer>(); UserShops = new Dictionary <long, MapShop>(); StartLife(); }
public Group(GroupType type) { Characters = new ThreadSafeGenericList <ClientSession>(); GroupId = ServerManager.Instance.GetNextGroupId(); _order = 0; GroupType = type; }
public MSManager() { WorldServers = new List <WorldServer>(); LoginServers = new List <IScsServiceClient>(); ConnectedAccounts = new ThreadSafeGenericList <AccountConnection>(); AuthentificatedClients = new List <long>(); }
public MapInstance(Map map, Guid guid, bool shopAllowed, MapInstanceType type, InstanceBag instanceBag, bool dropAllowed = false) { OnSpawnEvents = new List <EventContainer>(); Buttons = new List <MapButton>(); XpRate = 0; if (type == MapInstanceType.BaseMapInstance) { XpRate = map.XpRate; } //check here MinLevel = 1; MaxLevel = 99; if (type != MapInstanceType.TimeSpaceInstance && type != MapInstanceType.RaidInstance) { switch (map.MapId) { case 154: // Caligor's Realm MinLevel = 80; break; case 228: // Cylloan MinLevel = 88; break; } } DropRate = 0; DropAllowed = dropAllowed; InstanceMusic = map.Music; ShopAllowed = shopAllowed; MapInstanceType = type; _isSleeping = true; LastUserShopId = 0; InstanceBag = instanceBag; Clock = new Clock(3); _random = new Random(); Map = map; MapInstanceId = guid; ScriptedInstances = new List <ScriptedInstance>(); OnCharacterDiscoveringMapEvents = new List <Tuple <EventContainer, List <long> > >(); OnMoveOnMapEvents = new ThreadSafeGenericList <EventContainer>(); OnAreaEntryEvents = new ThreadSafeGenericList <ZoneEvent>(); WaveEvents = new List <EventWave>(); OnMapClean = new List <EventContainer>(); _monsters = new ThreadSafeSortedList <long, MapMonster>(); _delayedMonsters = new ThreadSafeSortedList <long, MapMonster>(); _npcs = new ThreadSafeSortedList <long, MapNpc>(); _mapMonsterIds = new ThreadSafeSortedList <int, int>(); _mapNpcIds = new ThreadSafeSortedList <int, int>(); DroppedList = new ThreadSafeSortedList <long, MapItem>(); Portals = new List <Portal>(); UnlockEvents = new List <EventContainer>(); UserShops = new Dictionary <long, MapShop>(); RemovedMobNpcList = new List <object>(); StartLife(); }
public MSManager() { WorldServers = new List <WorldServer>(); LoginServers = new List <IScsServiceClient>(); ConnectedAccounts = new ThreadSafeGenericList <AccountConnection>(); AuthentificatedClients = new ThreadSafeGenericLockedList <long>(); ConfigurationObject = new ConfigurationObject { RateXP = int.Parse(ConfigurationManager.AppSettings["RateXp"]), RateHeroicXP = int.Parse(ConfigurationManager.AppSettings["RateHeroicXp"]), RateDrop = int.Parse(ConfigurationManager.AppSettings["RateDrop"]), MaxGold = long.Parse(ConfigurationManager.AppSettings["MaxGold"]), RateGoldDrop = int.Parse(ConfigurationManager.AppSettings["GoldRateDrop"]), RateGold = int.Parse(ConfigurationManager.AppSettings["RateGold"]), RateReputation = int.Parse(ConfigurationManager.AppSettings["RateReputation"]), RateFairyXP = int.Parse(ConfigurationManager.AppSettings["RateFairyXp"]), PartnerSpXp = long.Parse(ConfigurationManager.AppSettings["PartnerSpXp"]), MaxLevel = byte.Parse(ConfigurationManager.AppSettings["MaxLevel"]), MaxJobLevel = byte.Parse(ConfigurationManager.AppSettings["MaxJobLevel"]), MaxSPLevel = byte.Parse(ConfigurationManager.AppSettings["MaxSPLevel"]), MaxHeroLevel = byte.Parse(ConfigurationManager.AppSettings["MaxHeroLevel"]), HeroicStartLevel = byte.Parse(ConfigurationManager.AppSettings["HeroicStartLevel"]), MaxUpgrade = byte.Parse(ConfigurationManager.AppSettings["MaxUpgrade"]), SceneOnCreate = bool.Parse(ConfigurationManager.AppSettings["SceneOnCreate"]), SessionLimit = int.Parse(ConfigurationManager.AppSettings["SessionLimit"]), WorldInformation = bool.Parse(ConfigurationManager.AppSettings["WorldInformation"]), IsAntiCheatEnabled = bool.Parse(ConfigurationManager.AppSettings["IsAntiCheatEnabled"]), AntiCheatClientKey = ConfigurationManager.AppSettings["AntiCheatClientKey"], AntiCheatServerKey = ConfigurationManager.AppSettings["AntiCheatServerKey"], Act4IP = ConfigurationManager.AppSettings["Act4IP"], Act4Port = int.Parse(ConfigurationManager.AppSettings["Act4Port"]), MallBaseURL = ConfigurationManager.AppSettings["MallBaseURL"], MallAPIKey = ConfigurationManager.AppSettings["MallAPIKey"], UseLogService = bool.Parse(ConfigurationManager.AppSettings["UseLogService"]), QuestDropRate = int.Parse(ConfigurationManager.AppSettings["QuestDropRate"]), HalloweenEvent = bool.Parse(ConfigurationManager.AppSettings["HalloweenEvent"]), ChristmasEvent = bool.Parse(ConfigurationManager.AppSettings["ChristmasEvent"]), EasterEvent = bool.Parse(ConfigurationManager.AppSettings["EasterEvent"]), LockSystem = bool.Parse(ConfigurationManager.AppSettings["LockSystem"]), AutoLootEnable = bool.Parse(ConfigurationManager.AppSettings["AutoLootEnable"]), BCardsInArenaTalent = bool.Parse(ConfigurationManager.AppSettings["BCardsInArenaTalent"]), Act4Rate = int.Parse(ConfigurationManager.AppSettings["Act4Rate"]), SPJLvl = int.Parse(ConfigurationManager.AppSettings["SPJLvl"]), DoubleXP = bool.Parse(ConfigurationManager.AppSettings["DoubleXP"]), DoubleFairyXP = bool.Parse(ConfigurationManager.AppSettings["DoubleFairyXP"]), DoubleRaidBox = bool.Parse(ConfigurationManager.AppSettings["DoubleRaidBox"]), DoubleSpUp = bool.Parse(ConfigurationManager.AppSettings["DoubleSpUp"]), DoubleEqUp = bool.Parse(ConfigurationManager.AppSettings["DoubleEqUp"]), DoubleBet = bool.Parse(ConfigurationManager.AppSettings["DoubleBet"]), DoublePerfectionUp = bool.Parse(ConfigurationManager.AppSettings["DoublePerfectionUp"]), DoubleXPFamily = bool.Parse(ConfigurationManager.AppSettings["DoubleXPFamily"]), DoubleGold = bool.Parse(ConfigurationManager.AppSettings["DoubleGold"]), DoubleReput = bool.Parse(ConfigurationManager.AppSettings["DoubleReput"]), DoubleDrop = bool.Parse(ConfigurationManager.AppSettings["DoubleDrop"]), MultiEvent = bool.Parse(ConfigurationManager.AppSettings["MultiEvent"]) }; }
public ChatLogManager() { _reader = new LogFileReader(); AuthentificatedClients = new List <long>(); ChatLogs = new ThreadSafeGenericList <ChatLogEntry>(); AllChatLogs = new ThreadSafeGenericList <ChatLogEntry>(); RecursiveFileOpen("chatlogs"); AuthentificationServiceClient.Instance.Authenticate(ConfigurationManager.AppSettings["AuthentificationServiceAuthKey"]); Observable.Interval(TimeSpan.FromMinutes(15)).Subscribe(observer => SaveChatLogs()); }
public BattleEntity(IBattleEntity entity) { Entity = entity; Session = entity.GetSession(); Buffs = new ConcurrentBag <Buff.Buff>(); StaticBcards = new ConcurrentBag <BCard>(); SkillBcards = new ConcurrentBag <BCard>(); OnDeathEvents = new ConcurrentBag <EventContainer>(); OnHitEvents = new ConcurrentBag <EventContainer>(); ObservableBag = new ConcurrentDictionary <short, IDisposable>(); ShellOptionArmor = new ConcurrentBag <EquipmentOptionDTO>(); ShellOptionsMain = new ConcurrentBag <EquipmentOptionDTO>(); ShellOptionsSecondary = new ConcurrentBag <EquipmentOptionDTO>(); CostumeHatBcards = new ConcurrentBag <BCard>(); CostumeSuitBcards = new ConcurrentBag <BCard>(); CostumeBcards = new ConcurrentBag <BCard>(); CellonOptions = new ThreadSafeGenericList <EquipmentOptionDTO>(); if (Session is Character character) { Level = character.Level; return; } NpcMonster npcMonster = Session is MapMonster mon ? mon.Monster : Session is MapNpc npc ? npc.Npc : Session is Mate mate ? mate.Monster : null; if (npcMonster == null) { return; } Level = npcMonster.Level; Element = npcMonster.Element; ElementRate = npcMonster.ElementRate; FireResistance = npcMonster.FireResistance; WaterResistance = npcMonster.WaterResistance; LightResistance = npcMonster.LightResistance; DarkResistance = npcMonster.DarkResistance; DefenceRate = npcMonster.DefenceDodge; DistanceDefenceRate = npcMonster.DistanceDefenceDodge; CloseDefence = npcMonster.CloseDefence; RangedDefence = npcMonster.DistanceDefence; MagicDefence = npcMonster.MagicDefence; AttackUpgrade = npcMonster.AttackUpgrade; CriticalChance = npcMonster.CriticalChance; CriticalRate = npcMonster.CriticalRate - 30; MinDamage = npcMonster.DamageMinimum; MaxDamage = npcMonster.DamageMaximum; HitRate = npcMonster.Concentrate; }
public MsManager() { WorldServers = new List <WorldServer>(); LoginServers = new List <IScsServiceClient>(); ConnectedAccounts = new ThreadSafeGenericList <AccountConnection>(); AuthentificatedClients = new List <long>(); ConfigurationObject = new ConfigurationObject { RateXP = int.Parse(ConfigurationManager.AppSettings["RateXp"]), RateHeroicXP = int.Parse(ConfigurationManager.AppSettings["RateHeroicXp"]), RateDrop = int.Parse(ConfigurationManager.AppSettings["RateDrop"]), MaxGold = long.Parse(ConfigurationManager.AppSettings["MaxGold"]), RateGoldDrop = int.Parse(ConfigurationManager.AppSettings["GoldRateDrop"]), RateGold = int.Parse(ConfigurationManager.AppSettings["RateGold"]), RateFairyXP = int.Parse(ConfigurationManager.AppSettings["RateFairyXp"]), MaxLevel = byte.Parse(ConfigurationManager.AppSettings["MaxLevel"]), MaxJobLevel = byte.Parse(ConfigurationManager.AppSettings["MaxJobLevel"]), MaxSpLevel = byte.Parse(ConfigurationManager.AppSettings["MaxSPLevel"]), MaxHeroLevel = byte.Parse(ConfigurationManager.AppSettings["MaxHeroLevel"]), HeroicStartLevel = byte.Parse(ConfigurationManager.AppSettings["HeroicStartLevel"]), MaxUpgrade = byte.Parse(ConfigurationManager.AppSettings["MaxUpgrade"]), SceneOnCreate = bool.Parse(ConfigurationManager.AppSettings["SceneOnCreate"]), SessionLimit = int.Parse(ConfigurationManager.AppSettings["SessionLimit"]), WorldInformation = bool.Parse(ConfigurationManager.AppSettings["WorldInformation"]), Act4IP = ConfigurationManager.AppSettings["Act4IP"], Act4Port = int.Parse(ConfigurationManager.AppSettings["Act4Port"]), MallBaseUrl = ConfigurationManager.AppSettings["MallBaseURL"], MallApiKey = ConfigurationManager.AppSettings["MallAPIKey"], UseChatLogService = bool.Parse(ConfigurationManager.AppSettings["UseChatLogService"]), UseGameLogService = bool.Parse(ConfigurationManager.AppSettings["UseGameLogService"]), EnableAutoRestart = bool.Parse(ConfigurationManager.AppSettings["EnableAutoRestart"]), AutoRestartHour = byte.Parse(ConfigurationManager.AppSettings["AutoRestartHour"]) }; if (ConfigurationObject.EnableAutoRestart) { Observable.Interval(TimeSpan.FromMinutes(1)).Subscribe(observer => AutoMaintenanceProcess()); } }
public MapInstance(Map map, Guid guid, bool shopAllowed, MapInstanceType type, InstanceBag instanceBag, bool dropAllowed = false) { OnSpawnEvents = new List <EventContainer>(); Buttons = new List <MapButton>(); XpRate = 0; if (type == MapInstanceType.BaseMapInstance) { XpRate = map.XpRate; } MinLevel = 1; MaxLevel = 99; MinHeroLevel = 0; MaxHeroLevel = 100; if (type != MapInstanceType.TimeSpaceInstance && type != MapInstanceType.RaidInstance) { switch (map.MapId) { case 154: // Caligor's Realm MinLevel = 80; break; case 170: // Desert case 171: case 172: case 173: case 174: case 175: case 176: case 177: case 178: case 179: case 180: case 181: case 182: case 183: case 184: case 185: case 186: case 187: case 188: case 189: case 190: case 191: case 192: case 193: case 194: case 195: case 196: case 197: case 198: case 199: case 200: case 201: case 202: case 203: case 204: case 205: case 207: case 208: case 209: case 210: case 211: case 212: case 223: case 224: case 225: case 226: case 227: MinLevel = 70; break; case 228: //Cylloan case 229: case 230: case 231: case 232: case 233: case 234: case 235: case 236: case 237: case 238: case 239: case 240: case 241: case 242: case 243: case 244: case 245: case 246: MinLevel = 85; break; case 2628: case 2629: case 2630: case 2631: case 2632: case 2633: case 2634: case 2635: case 2636: case 2637: case 2638: case 2639: case 2640: case 2641: case 2642: case 2643: case 2644: case 2645: case 2646: case 2647: case 2648: case 2649: case 2650: MinLevel = 88; MinHeroLevel = 10; break; } } DropRate = 0; DropAllowed = dropAllowed; InstanceMusic = map.Music; ShopAllowed = shopAllowed; MapInstanceType = type; _isSleeping = true; LastUserShopId = 0; InstanceBag = instanceBag; Clock = new Clock(3); _random = new Random(); Map = map; MapInstanceId = guid; ScriptedInstances = new List <ScriptedInstance>(); OnCharacterDiscoveringMapEvents = new List <Tuple <EventContainer, List <long> > >(); OnMoveOnMapEvents = new ThreadSafeGenericList <EventContainer>(); OnAreaEntryEvents = new ThreadSafeGenericList <ZoneEvent>(); WaveEvents = new List <EventWave>(); OnMapClean = new List <EventContainer>(); _monsters = new ThreadSafeSortedList <long, MapMonster>(); _delayedMonsters = new ThreadSafeSortedList <long, MapMonster>(); _npcs = new ThreadSafeSortedList <long, MapNpc>(); _mapMonsterIds = new ThreadSafeSortedList <int, int>(); _mapNpcIds = new ThreadSafeSortedList <int, int>(); DroppedList = new ThreadSafeSortedList <long, MapItem>(); Portals = new List <Portal>(); UnlockEvents = new List <EventContainer>(); UserShops = new Dictionary <long, MapShop>(); RemovedMobNpcList = new List <object>(); StartLife(); }
public Group() { Sessions = new ThreadSafeGenericList <ClientSession>(); GroupId = ServerManager.Instance.GetNextGroupId(); _order = 0; }