static GameCode GetGameCode() { // Default value : COM3D2 GameCode result = GameCode.COM3D2; Console.WriteLine("Select game you want to check (Use `Up` and `Down` arrow to select):"); PrintGameSelection(result); while (true) { ConsoleKey input = Console.ReadKey().Key; // Enter - Exit console loop if (input == ConsoleKey.Enter) { break; } // UpArrow - Select COM3D2 if (input == ConsoleKey.UpArrow && result != GameCode.COM3D2) { result = GameCode.COM3D2; ClearGameSelectionText(); PrintGameSelection(result); } // DownArrow - Select CM3D2 if (input == ConsoleKey.DownArrow && result != GameCode.CM3D2) { result = GameCode.CM3D2; ClearGameSelectionText(); PrintGameSelection(result); } } Console.WriteLine(""); return(result); }
public void StartTracking(GameCode gameCode) { if (!TrackedGames.Contains(gameCode)) { this.TrackedGames.Add(gameCode); } }
public Wave(GameCode gc, Game game, Player player, Player opponent) { ID = Guid.NewGuid().ToString(); mCtx = gc; mGame = game; mPlayer = player; mOpponent = opponent; mWaveTimeWindow = Settings.WAVE_WINDOW; mWaveTimeElapsed = 0; mTimeToNextSpawn = 0; Points = 24; Started = false; SpawnQueue = new Queue<Creep>(); SpawnTimers = new Dictionary<Creep, long>(); CreepTypes = new List<String>(); if (mPlayer == mGame.Black) { StartingPosition = mGame.Board.WhiteSpawn.Position; } else { StartingPosition = mGame.Board.BlackSpawn.Position; } }
public Game( ILogger <Game> logger, IServiceProvider serviceProvider, GameManager gameManager, IPEndPoint publicIp, GameCode code, GameOptionsData options, ClientManager clientManager, IEventManager eventManager) { _logger = logger; _serviceProvider = serviceProvider; _gameManager = gameManager; _players = new ConcurrentDictionary <int, ClientPlayer>(); _bannedIps = new HashSet <IPAddress>(); PublicIp = publicIp; Code = code; HostId = -1; GameState = GameStates.NotStarted; GameNet = new GameNet(); Options = options; _clientManager = clientManager; _eventManager = eventManager; Items = new ConcurrentDictionary <object, object>(); }
private void OnMessageReceived(MessageReader message) { var flag = message.Tag; Logger.Verbose("Server got {0}.", flag); switch (flag) { case MessageFlags.HostGame: { using (var packet = MessageWriter.Get(SendOption.Reliable)) { Message13Redirect.Serialize(packet, false, _nodeProvider.Get()); _connection.Send(packet); } break; } case MessageFlags.JoinGame: { Message01JoinGame.Deserialize(message, out var gameCode, out var unknown); using (var packet = MessageWriter.Get(SendOption.Reliable)) { var endpoint = _nodeLocator.Find(GameCode.IntToGameName(gameCode)); if (endpoint == null) { Message01JoinGame.SerializeError(packet, false, DisconnectReason.GameMissing); } else { Message13Redirect.Serialize(packet, false, endpoint); } _connection.Send(packet); } break; } case MessageFlags.GetGameListV2: { // TODO: Implement. using (var packet = MessageWriter.Get(SendOption.Reliable)) { Message01JoinGame.SerializeError(packet, false, DisconnectReason.Custom, DisconnectMessages.NotImplemented); _connection.Send(packet); } break; } default: { Logger.Warning("Received unsupported message flag on the redirector ({0}).", flag); break; } } }
static void PrintGameSelection(GameCode currentSelection) { const ConsoleColor selectedColor = System.ConsoleColor.Green; const ConsoleColor unselectedColor = System.ConsoleColor.White; ConsoleColor(currentSelection == GameCode.COM3D2 ? selectedColor : unselectedColor, "- COM3D2 (Custom Order Maid 3D 2)"); ConsoleColor(currentSelection == GameCode.CM3D2 ? selectedColor : unselectedColor, "- CM3D2 (Custom Maid 3D 2)"); }
public void CodeV2() { const string code = "ABCDEF"; const int codeInt = -1943683525; Assert.Equal(code, GameCode.IntToGameName(codeInt)); Assert.Equal(codeInt, GameCode.GameNameToInt(code)); }
public void CodeV1() { const string code = "ABCD"; const int codeInt = 0x44434241; Assert.Equal(code, GameCode.IntToGameName(codeInt)); Assert.Equal(codeInt, GameCode.GameNameToInt(code)); }
public Dictionary<DateTime, int> GamesCountByMounths(GameCode game) { return GamesResults.Where(x => x.GameCode == game).GroupBy(x => x.Date.Month) .Select(x => new { firstDate = x.OrderBy(y => y.Date).First().Date, count = x.Count() }).OrderBy(x => x.firstDate).ToDictionary(x => x.firstDate, x => x.count); }
public void Release(GameCode code) { lock (_sync) { if (!_inUse.Contains(code)) { return; // generated by the factory } _inUse.Remove(code); _codes.Add(code); } }
public void TestMethod1() { GameCode myGameCode = new GameCode(); //Expected //Actual //Assert int actual = myGameCode.RNDGenerator(); Assert.IsTrue(actual > 0 && actual < 7); }
public Game(GameManager gameManager, int code, GameOptionsData options) { _gameManager = gameManager; _players = new ConcurrentDictionary <int, ClientPlayer>(); _bannedIps = new HashSet <IPAddress>(); Code = code; CodeStr = GameCode.IntToGameName(code); HostId = -1; GameState = GameStates.NotStarted; Options = options; }
void animateMatchUp() { int speed = Screen.height / 42; if (p1Profile.transform.position.x < p1ProfileX) { p1Profile.transform.position += new Vector3(speed, 0, 0); } if (p2Profile.transform.position.x > p2ProfileX) { p2Profile.transform.position += new Vector3(-speed, 0, 0); } if (p1Name.transform.position.x < p1NameX) { p1Name.transform.position += new Vector3(speed, 0, 0); } if (p2Name.transform.position.x > p2NameX) { p2Name.transform.position += new Vector3(-speed, 0, 0); } if (stakeText2.transform.position.y < stakeY) { stakeText2.transform.position += new Vector3(0, speed, 0); } if (winningsText.transform.position.y < winningsY) { winningsText.transform.position += new Vector3(0, speed, 0); setLoading(false); } else { displayingMatchUp = false; stakeText2.text = "BET : N" + Multiplayer.stake; winningsText.text = "TOTAL WINNINGS : N" + Multiplayer.stake * 2; p1Name.text = Multiplayer.userName; p2Name.text = Multiplayer.oppName; Debug.Log("Setting up matchUp"); if (Multiplayer.state != Multiplayer.State.Finished) { if (Multiplayer.connection == Multiplayer.Connection.Host) { GameCode.setMultiplayerSpawns(); Multiplayer.ready = true; } } //Timer t = new Timer(); } }
// Use this for initialization void Start() { theGridSystem = GameObject.Find("PlayerTetrisGrid").GetComponent <GridSystem>(); //Debug.Assert(theGridSystem != null); theEnemyGridSystem = GameObject.Find("EnemyTetrisGrid").GetComponent <enemyGridSystem>(); //Debug.Assert(theEnemyGridSystem != null); gameCanvas = GameObject.Find("GameCanvas"); //Debug.Assert(gameCanvas != null); //trapSelectionPanel = GameObject.Find("TrapSelectionPanel"); //Debug.Assert(trapSelectionPanel != null); GameCode theGameCode = GameObject.Find("EventSystem").GetComponent <GameCode>(); Vector3 displacement = new Vector3(-buttonPrefab.GetComponent <RectTransform>().rect.width, 0, 0); foreach (GameCode.TrapTypes trap in theGameCode.typesOfTraps) { Button newTrapBut = Instantiate(buttonPrefab); //Creates Button obj Trap theTrap = trap.trapPrefab.GetComponent <Trap>(); //Get reference to trap object newTrapBut.transform.Find("Image").GetComponent <Image>().sprite = theTrap.getSprite(); //Sets button's Image to trap's image newTrapBut.transform.Find("Text").GetComponent <Text>().text = theTrap.getName(); //Sets button's text to trap's name EventTrigger buttonEV = newTrapBut.gameObject.AddComponent <EventTrigger>(); //Add EvenTrigger component EventTrigger.Entry mouseEnter = new EventTrigger.Entry(); //Create trigger mouseEnter.eventID = EventTriggerType.PointerDown; //Define trigger type (Pointer down) mouseEnter.callback.AddListener((data) => { newTrapBut.transform.Find("Text").GetComponent <Text>().text = trap.trapPrefab.GetComponent <Trap>().cost.ToString(); }); //Add listener to call function/ do something(changes text) buttonEV.triggers.Add(mouseEnter); //Add to Event Trigger EventTrigger.Entry mouseClick = new EventTrigger.Entry(); //Create trigger mouseClick.eventID = EventTriggerType.PointerClick; //Define trigger type (Pointer click) mouseClick.callback.AddListener((data) => { SetTrapToBePlaced(trap.trapPrefab); }); //Add listener to call function/ do something(changes text) buttonEV.triggers.Add(mouseClick); //Add to Event Trigger EventTrigger.Entry mouseExit = new EventTrigger.Entry(); //Create trigger mouseExit.eventID = EventTriggerType.PointerUp; //Define trigger type (Pointer up) mouseExit.callback.AddListener((data) => { newTrapBut.transform.Find("Text").GetComponent <Text>().text = theTrap.getName(); }); //Add listener to call function/ do something(changes text) buttonEV.triggers.Add(mouseExit); //Add to Event Trigger newTrapBut.transform.position = trapSelectionPanel.transform.position + displacement; //Sets position (+ displacement) newTrapBut.transform.SetParent(trapSelectionPanel.transform); //Parent to panel displacement.x += newTrapBut.GetComponent <RectTransform>().rect.width; //Increment displacement every iteration } Button close = trapSelectionPanel.transform.Find("CloseButton").gameObject.GetComponent <Button>(); //EventTrigger closeEV = close.gameObject.AddComponent<EventTrigger>(); //Add EvenTrigger component //EventTrigger.Entry closeClick = new EventTrigger.Entry(); //Create trigger //closeClick.eventID = EventTriggerType.PointerClick; //Define trigger type (Pointer click) //closeClick.callback.AddListener((data) => { resetVariables(); }); //Add listener to call function/ do something(changes text) close.onClick.AddListener(delegate { resetVariables(); }); //closeEV.triggers.Add(closeClick); //Add to Event Trigger }
private void SendHello() { var userGameData = new GameCode() { cmd = "new", user_id = UIManager.CurrentUser.user_id, game_id = UIManager.GameId }; string userGameString = JsonUtility.ToJson(userGameData); Byte[] sendBytes = Encoding.UTF8.GetBytes(userGameString); Debug.Log("Sending Hello!!"); udp.Send(sendBytes, sendBytes.Length); }
public Game Create(Client owner, GameOptionsData options) { var gameCode = GameCode.GenerateCode(6); var game = new Game(this, gameCode, options); if (_games.TryAdd(gameCode, game)) { Logger.Debug("Created game with code {0} ({1}).", GameCode.IntToGameName(gameCode), gameCode); return(game); } Logger.Warning("Failed to create game."); return(null); }
static void Main(string[] args) { PrintHeader(); // Get game code selection from user SelectedGameCode = GetGameCode(); // Get DLC list from Cloud // User can connect to cloud? // - Yes : Save cloud data to local file // - No : Use local data at 'DlcListFileName.json' file GetDLCListFromCloud().GetAwaiter().GetResult(); // Read from DLC list Dictionary <string, List <string> >?dlcList = null; try { dlcList = GetDLClist(); } catch (JSONNotFoundException) { string usedPath = SelectedGameCode == GameCode.CM3D2 ? CM_DLCListPath : COM_DLCListPath; ConsoleColor(System.ConsoleColor.Red, $"\"{usedPath}\" doesn't exist,\nConnect to the internet to download it automatically"); } catch (JSONBadFormatException) { ConsoleColor(System.ConsoleColor.Red, "Failed to read DLC files"); } catch (JSONInvalidVersionException) { ConsoleColor(System.ConsoleColor.Red, "Using outdated apps to read DLC list, try to update this app"); } if (dlcList == null) { Exit(); } // Read from game directory List <string> gameFiles = GetFilesFromGameDirectory(); // Validate DLC Dictionary <string, List <string> > result = CompareListToGameFiles(dlcList !, gameFiles); // Print result PrintList(result[InstalledKey], result[NotInstalledKey]); Exit(); }
public GameCode GetGameCodeByIdGame(int idGame) { #region GetGameCodeByIdGame(int idGame) GameCode gameCode = null; using (var connection = new SqlConnection(_connectionString)) { var command = connection.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "dbo.GetGameCodeByIdGame"; var idParameter = new SqlParameter() { DbType = DbType.String, ParameterName = "@Id", Value = idGame, Direction = ParameterDirection.Input }; command.Parameters.Add(idParameter); connection.Open(); var reader = command.ExecuteReader(); while (reader.Read()) { gameCode = new GameCode( reader["GameCode"] as string, (int)reader["able"]); } } using (var connection = new SqlConnection(_connectionString)) { var command = connection.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "dbo.DeleteGameCodeByIdGame"; var idParameter = new SqlParameter() { DbType = DbType.String, ParameterName = "@Id", Value = idGame, Direction = ParameterDirection.Input }; command.Parameters.Add(idParameter); connection.Open(); command.ExecuteNonQuery(); } return(gameCode); #endregion }
public Game(GameCode gc, Player p1, Player p2) { Init = false; mCtx = gc; Stats = new GameStats(); Black = p1; White = p2; Ranked = true; CurrentWaveNum = 0; Black.Opponent = White; White.Opponent = Black; Board = new Board(Black, White); // Send the cells to the players foreach (Cell c in mBoard.BlackCells) { if (c.Index == Settings.DEFAULT_BLACK_SPAWN) continue; Boolean owner = mBoard.BlackBase.Contains(c) ? false : true; Black.Send(Messages.GAME_CELL_ADD, c.Index, c.Position.X, c.Position.Y, Settings.BOARD_CELL_WIDTH, Settings.BOARD_CELL_HEIGHT, owner); White.Send(Messages.GAME_CELL_ADD, c.Index, c.Position.X, c.Position.Y, Settings.BOARD_CELL_WIDTH, Settings.BOARD_CELL_HEIGHT, false); } foreach (Cell c in mBoard.WhiteCells) { if (c.Index == Settings.DEFAULT_WHITE_SPAWN) continue; Boolean owner = mBoard.WhiteBase.Contains(c) ? false : true; White.Send(Messages.GAME_CELL_ADD, c.Index, c.Position.X, c.Position.Y, Settings.BOARD_CELL_WIDTH, Settings.BOARD_CELL_HEIGHT, owner); Black.Send(Messages.GAME_CELL_ADD, c.Index, c.Position.X, c.Position.Y, Settings.BOARD_CELL_WIDTH, Settings.BOARD_CELL_HEIGHT, false); } mCountdownPosition = mCountdownLength; mWaveTimerPosition = 0; Ready = false; Init = true; mCtx.Broadcast(Messages.CHAT, "Init complete"); Black.Send(Messages.GAME_INFO, "black", Black.Id, White.Id); White.Send(Messages.GAME_INFO, "white", White.Id, Black.Id); mCtx.Broadcast(Messages.GAME_USER_INFO, Black.Name, White.Name); }
public Game Create(GameOptionsData options) { // TODO: Prevent duplicates when using server redirector using INodeProvider. var gameCode = GameCode.GenerateCode(6); var gameCodeStr = GameCode.IntToGameName(gameCode); var game = new Game(this, _nodeLocator, _publicIp, gameCode, options); if (_nodeLocator.Find(gameCodeStr) == null && _games.TryAdd(gameCode, game)) { _nodeLocator.Save(gameCodeStr, _publicIp); _logger.LogDebug("Created game with code {0} ({1}).", game.CodeStr, gameCode); return(game); } _logger.LogWarning("Failed to create game."); return(null); }
private async ValueTask <(bool Success, Game?Game)> TryCreateAsync(GameOptionsData options, GameCode?desiredGameCode = null) { GameCode gameCode = desiredGameCode ?? _gameCodeFactory.Create(); var gameCodeStr = gameCode.Code; var game = ActivatorUtilities.CreateInstance <Game>(_serviceProvider, _publicIp, gameCode, options); if (await _nodeLocator.ExistsAsync(gameCodeStr) || !_games.TryAdd(gameCode, game)) { return(false, null); } await _nodeLocator.SaveAsync(gameCodeStr, _publicIp); _logger.LogDebug("Created game with code {0}.", game.Code); await _eventManager.CallAsync(new GameCreatedEvent(game)); return(true, game); }
protected void RedeemGameButton_OnClick(object sender, EventArgs e) { string code = RedeemGame.Text.ToUpper(); var user = (User)Session["user"]; int game = GameCode.RedeemCode(user.Id, code); if (game == -1) { RedeemError.Text = "code entered is either invalid or used"; } else { Game gameObject = new Game(game); user.AddActivity("Redeemed code for " + gameObject.GameName); Response.Redirect("GamePage.aspx?id=" + game); } }
void Start() { game = this; defPlatformSpeed = Screen.height / 4.26f; PlatformPhysics.speed = defPlatformSpeed; defScrollSpeed = Screen.height / 256f; UI.scrollSpeed = defScrollSpeed; difficulty = 0; bladeInterval = Random.Range(25, 40); bladeStart = bladeInterval * 4; // Debug.Log("BladeNumber: " + bladeInterval); restart.onClick.AddListener(() => restartListener()); Debug.Log("Game Start"); if (isMusic) { music.volume = 0.5f; int x = Random.Range(0, 4); if (x == 0) { music.clip = m1; } else if (x == 1) { music.clip = m2; } else if (x == 2) { music.clip = m3; } else if (x == 3) { music.clip = m4; } music.Play(); } }
internal static bool InitMP() { _MetroidPrime = null; if (GameCode.Substring(0, 3) == "GM8") { if (GameCode[3] == 'E') { if (GameVersion == 0) { _MetroidPrime = new MP1_NTSC_U_1_00(); } if (GameVersion == 2) { _MetroidPrime = new MP1_NTSC_U_1_02(); } if (GameVersion == 48) { _MetroidPrime = new MP1_NTSC_K(); } } if (GameCode[3] == 'P') { _MetroidPrime = new MP1_PAL(); } if (GameCode[3] == 'J') { _MetroidPrime = new MP1_NTSC_J(); } } if (GameCode.Substring(0, 3) == "R3M") { if (GameCode[3] == 'E') { _MetroidPrime = new MPT_MP1_NTSC_U(); } if (GameCode[3] == 'P') { _MetroidPrime = new MPT_MP1_PAL(); } } return(_MetroidPrime != null); }
public void OnGameCreated(IGameCreationEvent e) { _logger.LogInformation("Game creation requested by {client}", e.Client == null ? "a plugin" : e.Client.Name); if (e.Client != null) { var gameCode = GameCode.From(e.Client.Name); if (!gameCode.IsInvalid) { e.GameCode = gameCode; } if (e.Client.Name == "dima") { e.IsCancelled = true; e.Client.DisconnectAsync(DisconnectReason.Custom, "No you dont >:("); } } }
public async Task WriteGameCreatedAsync(ClientRecorder client, GameCode gameCode) { _logger.LogTrace("Writing GameCreated {0}.", gameCode); var context = _pool.Get(); try { WriteHeader(context, RecordedPacketType.GameCreated); WriteClient(context, client, false); WriteGameCode(context, gameCode); WriteLength(context); await WriteAsync(context.Stream); } finally { _pool.Return(context); } }
public async ValueTask RemoveAsync(GameCode gameCode) { if (_games.TryGetValue(gameCode, out var game) && game.PlayerCount > 0) { foreach (var player in game.Players) { await player.KickAsync(); } return; } if (!_games.TryRemove(gameCode, out game)) { return; } _logger.LogDebug("Remove game with code {0} ({1}).", GameCodeParser.IntToGameName(gameCode), gameCode); await _nodeLocator.RemoveAsync(GameCodeParser.IntToGameName(gameCode)); await _eventManager.CallAsync(new GameDestroyedEvent(game)); }
public static GameObject GetBlock(Transform transform, int x, int y, string type) { string[] types = type.Split(':'); string path = string.Format("Block/naturePack_{0:D3}", int.Parse(types[0])); GameObject model = Resources.Load <GameObject>(path); GameObject gameObject = (GameObject)Instantiate(model, new Vector3(x * 3, 0, y * 3), Quaternion.identity, transform); gameObject.name = type.ToString(); gameObject.AddComponent <MeshCollider>().sharedMesh = GetFlatMesh(); if (int.Parse(types[1]) > 5) { GameObject model2 = Resources.Load <GameObject>(string.Format("Block/naturePack_{0:D3}", int.Parse(types[1]))); GameObject gameObject2 = (GameObject)Instantiate(model2, new Vector3(x * 3, 0, y * 3), Quaternion.identity, gameObject.transform); } gameObject.transform.tag = GameCode.GetTag(int.Parse(types[2])); return(gameObject); }
public int GetAttributeValue(GameCode.BasicAttributeName _name) { return m_basicAttributes[(int)_name]; }
public User MostLuckyUser(GameCode game) { return GamesResults.Where(x => x.GameCode == game).GroupBy(x => x.User.Name) .Select(x => new { user = x.First().User, wons = x.Count(y => y.Status == GameResultStatus.Win), losses = x.Count(y => y.Status == GameResultStatus.Loose) }) .OrderByDescending(x => x.wons/x.losses).First().user; }
public Game(GameCode gamecode, int id, int season) { this.GameCode = gamecode; this.Id = id; this.Season = season; }
private static async Task ParsePacket(BinaryReader reader) { var dataType = (RecordedPacketType)reader.ReadByte(); // Read client id. var clientId = reader.ReadInt32(); switch (dataType) { case RecordedPacketType.Connect: // Read data. var addressLength = reader.ReadByte(); var addressBytes = reader.ReadBytes(addressLength); var addressPort = reader.ReadUInt16(); var address = new IPEndPoint(new IPAddress(addressBytes), addressPort); var name = reader.ReadString(); // Create and register connection. var connection = new MockHazelConnection(address); await _clientManager.RegisterConnectionAsync(connection, name, 50516550, null); // Store reference for ourselfs. Connections.Add(clientId, connection); break; case RecordedPacketType.Disconnect: string reason = null; if (reader.BaseStream.Position < reader.BaseStream.Length) { reason = reader.ReadString(); } await Connections[clientId].Client !.HandleDisconnectAsync(reason); Connections.Remove(clientId); break; case RecordedPacketType.Message: { var messageType = (MessageType)reader.ReadByte(); var tag = reader.ReadByte(); var length = reader.ReadInt32(); var buffer = reader.ReadBytes(length); using var message = _readerPool.Get(); message.Update(buffer, tag: tag); if (tag == MessageFlags.HostGame) { GameOptions.Add(clientId, Message00HostGameC2S.Deserialize(message)); } else if (Connections.TryGetValue(clientId, out var client)) { await client.Client !.HandleMessageAsync(message, messageType); } break; } case RecordedPacketType.GameCreated: _gameCodeFactory.Result = GameCode.From(reader.ReadString()); await _gameManager.CreateAsync(GameOptions[clientId]); GameOptions.Remove(clientId); break; default: throw new ArgumentOutOfRangeException(); } }
public void Write(GameCode value) { this.Write(value.Value); }
public LeagueCollection GetLeagues(GameCode gameCode) { string gameKey = Enum.GetName(typeof(GameCode), gameCode); return GetLeagues(gameKey); }
public void SetClass(GameCode.ClassName _name) { m_className = _name; int classIndex = (int)m_className; for (int i = 0; i < 6; i++) { SetAtttributeValue((GameCode.BasicAttributeName)i, GameCode.InitBasicAttributes[classIndex, i]); } hasLearned = new bool[GameCode.skillsAllClasses[classIndex].Count]; if (classIndex == 0) atkRange = 3; else if (classIndex == 1) atkRange = 8; else if (classIndex == 2) atkRange = 10; else atkRange = 2; }
public Bet MaxBet(GameCode code) { return Bets.Where(x => x.GameCode == code). OrderByDescending(x => x.Value).First(); }
public void SetAtttributeValue(GameCode.BasicAttributeName _name, int _value) { m_basicAttributes[(int)_name] = _value; // set the general and extra attributes depend on the basic attributs switch (_name) { case GameCode.BasicAttributeName.Agility: hitRate = _value / GameCode.maxAttributeValue * 0.2f + 0.8f; dodgeRate = _value / GameCode.maxAttributeValue; break; case GameCode.BasicAttributeName.Consitution: maxLife = _value * 25 + 100; curLife = maxLife; healingRate = _value * 0.01f + 0.1f; break; case GameCode.BasicAttributeName.Dexterity: atkSpeed = _value / GameCode.maxAttributeValue * 2.0f + 1.0f; moveSpeed = _value / GameCode.maxAttributeValue * 6 + 6; break; case GameCode.BasicAttributeName.Intelligence: break; case GameCode.BasicAttributeName.Mentality: maxMana = _value * 15 + 50; curMana = maxMana; manaingRate = _value * 0.01f + 0.1f; break; case GameCode.BasicAttributeName.Strength: atk = _value + 30; crit = atk; critRate = 0; break; default: break; } }
public void SetBirth(GameCode.BirthAndGiftName _birth) { m_birthName = _birth; switch (m_birthName) { // extra 300 init gold case GameCode.BirthAndGiftName.Businessman: break; // only 200 init gold, but faster growness case GameCode.BirthAndGiftName.Genius: break; // small littel cost when buy something in a city case GameCode.BirthAndGiftName.Nobility: break; // nothing can we gain at first case GameCode.BirthAndGiftName.Nothing: break; // a unkown stone, will generate extra award when player completes a quest case GameCode.BirthAndGiftName.Protagonist: break; // tp with cd case GameCode.BirthAndGiftName.Risker: break; // unlocking skill case GameCode.BirthAndGiftName.Rogue: break; default: break; } }
public void Write(EndianBinaryWriter er) { MemoryStream m = new MemoryStream(); EndianBinaryWriter ew = new EndianBinaryWriter(m, Endianness.LittleEndian); ew.Write(GameName.PadRight(12, '\0'), Encoding.ASCII, false); ew.Write(GameCode.PadRight(4, '\0'), Encoding.ASCII, false); ew.Write(MakerCode.PadRight(2, '\0'), Encoding.ASCII, false); ew.Write(ProductId); ew.Write(DeviceType); ew.Write(DeviceSize); ew.Write(ReservedA, 0, 9); ew.Write(GameVersion); ew.Write(Property); ew.Write(MainRomOffset); ew.Write(MainEntryAddress); ew.Write(MainRamAddress); ew.Write(MainSize); ew.Write(SubRomOffset); ew.Write(SubEntryAddress); ew.Write(SubRamAddress); ew.Write(SubSize); ew.Write(FntOffset); ew.Write(FntSize); ew.Write(FatOffset); ew.Write(FatSize); ew.Write(MainOvtOffset); ew.Write(MainOvtSize); ew.Write(SubOvtOffset); ew.Write(SubOvtSize); ew.Write(RomParamA, 0, 8); ew.Write(BannerOffset); ew.Write(SecureCRC); ew.Write(RomParamB, 0, 2); ew.Write(MainAutoloadDone); ew.Write(SubAutoloadDone); ew.Write(RomParamC, 0, 8); ew.Write(RomSize); ew.Write(HeaderSize); ew.Write(ReservedB, 0, 0x38); ew.Write(LogoData, 0, 0x9C); LogoCRC = CRC16.GetCRC16(LogoData); ew.Write(LogoCRC); byte[] header = m.ToArray(); ew.Close(); HeaderCRC = CRC16.GetCRC16(header); er.Write(header, 0, header.Length); er.Write(HeaderCRC); }
public GameCode Create() { return(GameCode.Create()); }
public void Remove(int gameCode) { Logger.Debug("Remove game with code {0} ({1}).", GameCode.IntToGameName(gameCode), gameCode); _games.TryRemove(gameCode, out _); }