public ExchangePlayer(Characters.NPC.NPCMap _npc) { IsNpc = true; Npc = _npc; Items = new List<ExchangeItem>(); }
public ExchangePlayer(Characters.Character _character) { IsNpc = false; Character = _character; Items = new List<ExchangeItem>(); }
void Start() { player = gameObject.transform.parent.GetComponentInChildren<Player>(); //let's create the player items = new Items(); characters = new Characters(); if (items.LoadItems() && characters.LoadCharacters()) { prefab = Resources.Load(characters.GetCharacter("Guy").GetDirectory(), typeof(GameObject)); PlayerObject = Instantiate(prefab) as GameObject; PlayerObject.transform.position = new Vector3(0, 0.5f, 0); PlayerObject.transform.SetParent(gameObject.transform.parent.FindChild("PlayerObject").transform); for (int i = -4; i <= 4; i++) //initial 8 tiles { int rand = Random.Range(0, 2); item = items.GetItem(TilesArray[rand]); prefab = Resources.Load(item.GetDirectory(), typeof(GameObject)); ObjectI = Instantiate(prefab, Vector3.zero, Quaternion.identity) as GameObject; ObjectI.transform.position = new Vector3(i * 9, 0, 0) + item.GetBasePosition(); ObjectI.transform.SetParent(gameObject.transform.FindChild("Tiles").transform); tiles.Add(ObjectI); } } }
private string GetRangeFromCharacters(Characters range) { if (range == _previousRange) return _rangeCache; StringBuilder sb = new StringBuilder(); if (range.HasFlag(Characters.Letters)) sb.Append("abcdefghijklmnopqrstuvwxyz"); if (range.HasFlag(Characters.LettersUppercase)) sb.Append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); if (range.HasFlag(Characters.Numbers)) sb.Append("0123456789"); if (range.HasFlag(Characters.SymbolsBasic)) sb.Append("!-_.+"); if (range.HasFlag(Characters.SymbolsAdvanced)) sb.Append("'^%&/()=?~;,{[]}"); string ret = sb.ToString(); _previousRange = range; _rangeCache = ret; return ret; }
public override Common.AI_STATE chooseAction(Characters.Minion m) { //Decide whether the current path to the target is stale. If so, we need to recalculate the path, otherwise just follow the current one //The path is stale if we haven't calculated it in a long time return m.lastCalced <= 0 ? Common.AI_STATE.YES : Common.AI_STATE.NO; }
public static void OnMove(Characters.Character character, int nextZaapis) { if (Entities.Requests.ZaapisRequests.ZaapisList.Any(x => x.MapID == nextZaapis)) { var zaapis = Entities.Requests.ZaapisRequests.ZaapisList.First(x => x.MapID == nextZaapis); if ((zaapis.Faction == 1 && character.Faction.ID == 2) || (zaapis.Faction == 2 && character.Faction.ID == 1)) { character.NClient.Send("Im1196"); return; } var price = (character.Faction.ID == zaapis.Faction ? 10 : 20); character.Kamas -= price; character.NClient.Send(string.Concat("Im046;", price)); character.TeleportNewMap(zaapis.MapID, zaapis.CellID); character.NClient.Send("Wv"); character.SendChararacterStats(); } else character.NClient.Send("BN"); }
public static void OpenBank(Characters.Character character) { if (!Entities.Requests.BanksRequests.BanksList.Any(x => x.Owner == character.NClient.Infos.ID)) { var newBank = new Bank() { Owner = character.NClient.Infos.ID, Kamas = 0, IsNewBank = true }; Entities.Requests.BanksRequests.BanksList.Add(newBank); } var bank = Entities.Requests.BanksRequests.BanksList.First(x => x.Owner == character.NClient.Infos.ID); var price = bank.Items.Count; if (price != 0 && price > character.Kamas) { character.NClient.Send("Im182"); return; } character.Kamas -= price; character.SendChararacterStats(); BanksExchanges.Add(new BankExchange(bank, character)); character.NClient.Send("ECK5|"); character.NClient.Send(string.Format("EL{0};G{1}", bank.GetExchangeItems(), bank.Kamas)); character.State.OnExchangeWithBank = true; }
public static void LeaveExchange(Characters.Character canceler, bool must = true) { if (canceler.State.ActualNPC != -1) { canceler.State.ActualNPC = -1; canceler.State.OnExchange = false; } if (canceler.State.CurrentPlayerTrade != -1) { var character = SunDofus.World.Entities.Requests.CharactersRequests.CharactersList.First(x => x.ID == canceler.State.CurrentPlayerTrade); if (character != null) { if (character.IsConnected && must) character.NClient.Send("EV"); canceler.State.CurrentPlayerTrade = -1; canceler.State.OnExchange = false; canceler.State.OnExchangePanel = false; canceler.State.OnExchangeAccepted = false; character.State.CurrentPlayerTrade = -1; character.State.OnExchange = false; character.State.OnExchangePanel = false; character.State.OnExchangeAccepted = false; lock (Exchanges) { if (Exchanges.Any(x => (x.memberOne.Character == canceler && x.memberTwo.Character == character) || (x.memberTwo.Character == canceler && x.memberOne.Character == character))) Exchanges.Remove(Exchanges.First(x => (x.memberOne.Character == canceler && x.memberTwo.Character == character) || (x.memberTwo.Character == canceler && x.memberOne.Character == character))); } } } }
public WebCharacter(Characters character, int id) { Name = character.ToString(); _urlTail = CharacterUtility.GetEnumDescription(character); Id = id; _page = new Page(UrlBase + _urlTail, Id); GetData(); }
public FavorCheck(string RawFavor) { string[] parts = RawFavor.Trim().TrimStart('#').TrimStart('=').Split(':'); CharName = (Characters)Enum.Parse(typeof(Characters), parts[0].Trim()); Value = Convert.ToInt32(parts[1].Trim()); AboveID = Convert.ToInt32(parts[2].Trim()); BelowID = Convert.ToInt32(parts[3].Trim()); }
void Start () { currentCharacter = dialogueFile.DialogItems [0].character; //sets conversation with character listed in the first element of dialogue style.richText = true; //allows html modifications to text StepsisterCycle (); //kicks off the conversation if (currentCharacter == Characters.Pink) SoundtrackManager.s_instance.PlayAudioSource (SoundtrackManager.s_instance.pink); else SoundtrackManager.s_instance.PlayAudioSource (SoundtrackManager.s_instance.chat); }
/* * <summary> * Funcion que sirve para que es llamada por los items del scrollview de seleccion de personaje * indicando que un personaje fue elegido y se debe a elejir el persoanje del siguiente jugador * </summary> * <params name = "charPlayer"> * Enum Character que ha sido elejigo por el jugador * </params> * */ public void PlayerSelection (Characters charPlayer) { if (currPlayer != null) { currPlayer.character = charPlayer; Debug.Log (string.Format ("Player {0} selected {1}", currPlayer.playerIndex, charPlayer.ToString ())); currPlayer = GetNextPlayer (); } }
public static void MoveRight(Characters enemy, MainCharacter mainCharacter, ref bool reachMainCharacther) { if (mainCharacter.X - 50 < enemy.X) { enemy.X -= 1; reachMainCharacther = true; enemy.CurrentAnimation = enemy.WalkingLeft; } }
public static void MoveUp(Characters enemy, MainCharacter mainCharacter, ref bool reachMainCharacther) { if (mainCharacter.Y + (mainCharacter.CurrentAnimation.FrameHeight - enemy.CurrentAnimation.FrameHeight) < enemy.Y) { enemy.CurrentAnimation = enemy.CurrentAnimation == enemy.WalkingLeft ? enemy.WalkingLeft : enemy.WalkingRight; reachMainCharacther = true; enemy.Y -= 1; } }
public static PlayerInfo getPlayer(Characters character) { for (int i = 0; i < m_Players.Count; i++) { if (m_Players[i].i_Character == character) return m_Players[i]; } //error return null; }
void IPlayerApi.OnPlayerCharacters(Characters characters) { for (int i = 0; i <= maxCharacters; i++) { if (characters.characters.ElementAtOrDefault(i) != null) { Character character = characters.characters[i]; this.characters[character.id] = character; string name = "character" + i+1; characterOptions[name].Load(character.id, false); } } }
public override AI_STATE chooseAction(Characters.Minion m) { if (chooseNextNode(m)) { return AI_STATE.ATTACK; } else { return AI_STATE.NO; } }
public Fight(Characters.Character player1, Characters.Character player2, FightType type, Map map) { _fighters = new List<Fighter>(); //_players = new List<Characters.Character>(); //_players.Add(player1); //_players.Add(player2); _ID = map.NextFightID(); _type = type; _state = FightState.Starting; }
public static void AddExchange(Characters.Character trader, Characters.Character traded) { lock(Exchanges) Exchanges.Add(new Exchange(new ExchangePlayer(trader), new ExchangePlayer(traded))); trader.State.OnExchangePanel = true; traded.State.OnExchangePanel = true; trader.State.CurrentPlayerTrade = traded.ID; traded.State.CurrentPlayerTrade = trader.ID; trader.NClient.Send("ECK1"); traded.NClient.Send("ECK1"); }
public static void SaveZaap(Characters.Character character) { if (Entities.Requests.ZaapsRequests.ZaapsList.Any(x => x.MapID == character.MapID)) { var zaap = Entities.Requests.ZaapsRequests.ZaapsList.First(x => x.MapID == character.MapID); character.SaveMap = zaap.MapID; character.SaveCell = zaap.CellID; character.NClient.Send("Im06"); } else character.NClient.Send("BN"); }
public static void AddExchange(Characters.Character traider, Characters.Character traided) { lock(Exchanges) Exchanges.Add(new Exchange(traider, traided)); traider.State.onExchangePanel = true; traided.State.onExchangePanel = true; traider.State.actualPlayerExchange = traided.ID; traided.State.actualPlayerExchange = traider.ID; traider.NetworkClient.Send("ECK1"); traided.NetworkClient.Send("ECK1"); }
public static void ParseEffect(Characters.Character client, int type, string args) { var datas = args.Split(','); switch (type) { case 0: //Telep client.TeleportNewMap(int.Parse(datas[0]), int.Parse(datas[1])); break; case 1: //Life client.AddLife(int.Parse(datas[0])); break; } }
public void AddPlayer(Characters.Character character) { Send(string.Format("GM|+{0}", character.PatternDisplayChar())); character.NetworkClient.Send(string.Format("fC{0}", Fights.Count)); //Fight lock (Characters) Characters.Add(character); character.NetworkClient.Send(string.Format("GM{0}", CharactersPattern())); if(Npcs.Count > 0) character.NetworkClient.Send(string.Format("GM{0}", NPCsPattern())); if (MonstersGroups.Count > 0) character.NetworkClient.Send(string.Format("GM{0}", MonstersGroupsPattern())); }
public static Character Get(Characters e) { string name = ""; string imageName = ""; switch(e) { case Characters.Captain: name = ""; imageName = ""; break; } Character character = new Character(e, name, imageName); return character; }
public Character(Characters id, string name, string imagename) { ID = id; Name = name; ImageName = imagename; Images = new Dictionary<Status, Texture2D>(); foreach (Status e in Enum.GetValues(typeof(Status))) { Texture2D texture = Resources.Load<Texture2D>("Texture/" + ImageName + "_" + e.ToString()); if (texture == null) { Images.Add(e, null); continue; } } }
public static void Move(Characters enemy,MainCharacter mainCharacter) { bool reachMainCharacther=false; MoveLeft(enemy, mainCharacter, ref reachMainCharacther); MoveRight(enemy, mainCharacter, ref reachMainCharacther); MoveDown(enemy, mainCharacter, ref reachMainCharacther); MoveUp(enemy, mainCharacter, ref reachMainCharacther); if (!reachMainCharacther) { enemy.CurrentAnimation.SourceRectangle = new Rectangle(0, 0, enemy.CurrentAnimation.FrameWidth, enemy.CurrentAnimation.FrameHeight); } }
void IPlayerApi.OnPlayerCharacters(Characters characters) { for (int i = 0; i <= maxCharacters; i++) { if (characters.characters.ElementAtOrDefault(i) != null) { Character character = characters.characters[i]; this.characters[character.id] = character; string name = "character" + i+1; characterOptions[name].Load(character.id, false); } } if (DefaultClient.instance.autoLogin) { if (characters.characters.Count > 0) { Character character = characters.characters[0]; characterId = character.id; CharacterApi.instance.SetCharacter(characterId, this); } } }
public static void OnMove(Characters.Character character, int nextZaap) { if (Entities.Requests.ZaapsRequests.ZaapsList.Any(x => x.MapID == nextZaap)) { var zaap = Entities.Requests.ZaapsRequests.ZaapsList.First(x => x.MapID == nextZaap); var price = CalcPrice(character.GetMap(), zaap.Map); character.Kamas -= price; character.NClient.Send(string.Concat("Im046;", price)); character.TeleportNewMap(zaap.MapID, zaap.CellID); character.NClient.Send("WV"); character.SendChararacterStats(); } else character.NClient.Send("BN"); }
public void MoveGold(Characters.Character character, long kamas) { if (player1 == character) { Reset(); _player1Gold = kamas; player1.NetworkClient.Send(string.Format("EMKG{0}", kamas)); player2.NetworkClient.Send(string.Format("EmKG{0}", kamas)); } else if (player2 == character) { Reset(); _player2Gold = kamas; player2.NetworkClient.Send(string.Format("EMKG{0}", kamas)); player1.NetworkClient.Send(string.Format("EmKG{0}", kamas)); } }
public void Do_Area_Effect(List<Vector3> squares, Characters attacker, Actions act) { GameObject instance; instance = Instantiate(effects[1], act._area_start, Quaternion.identity) as GameObject; instance.transform.SetParent(effectholder); Vector3 dir = (act._area_target - act._area_start); dir.Normalize (); float ang = Vector3.Angle (new Vector3(1,0,0), dir); if (dir.y < 0) ang *= -1; instance.transform.Translate (dir/2); instance.transform.Rotate ( new Vector3 (0, 0, ang) ); effecttime = 30; // write log Append_Log (attacker.charname + " uses " + act._name); // roll damage int dmg = Dice.roll (act.Get_Damage()); disp_dmgpos.Clear(); disp_dmgstr.Clear(); // Get affected target foreach (Vector3 pos in squares) { int target = map.Get_Char_At (pos); if (target>0){ int sv =characters[target].Roll_Save (act._save_type); int dd = sv < act._save_dc ? dmg : dmg/2; disp_dmgpos.Add(pos); disp_dmgstr.Add (dd.ToString()); // "Char rolls reflex save (20). Pass! Take 10 damage!" string passfail=sv < act._save_dc ? "Fail" : "Pass"; Append_Log(characters[target].charname + " rolls " + Parser.Get_Save_Name(act._save_type) + " save (" + sv + "). " + passfail + "! Takes " + dd + " damage!"); } } showdmg = _dmgshowtime + effecttime; }
public MainWindowViewModelDummy() { Characters.Add(new CharacterViewModelDummy()); //EditingItem = Characters[0].ItemsProps[0]; //AboutWindowVisible = true; }
public List <BaseCharacter> TeamMembers(Team group) { return(Characters.Where(c => c.Group == group).ToList()); }
public void AddCharacter(Character character) { Characters.Add(character); SaveChanges(); }
public GetCharacterResponse(bool success, Characters character, string error = "") : base(success, error) { Character = character; }
internal static async void FarmFieldAction(IPlayer player, string itemName, int itemMinAmount, int itemMaxAmount, string animation, int duration) { if (player == null || !player.Exists || itemName == "" || itemMinAmount == 0 || itemMaxAmount == 0 || animation == "") { return; } int charId = User.GetPlayerOnline(player); if (charId <= 0) { return; } if (player.HasPlayerHandcuffs() || player.HasPlayerRopeCuffs()) { HUDHandler.SendNotification(player, 3, 5000, "Wie willst du das mit Handschellen/Fesseln machen?"); return; } InventoryHandler.InventoryAnimation(player, animation, duration); await Task.Delay(duration + 1250); lock (player) { player.SetPlayerFarmingActionMeta("None"); } int rndItemAmount = new Random().Next(itemMinAmount, itemMaxAmount); //Doppelte Menge aufsammeln if (Characters.IsCharacterFastFarm(charId)) { rndItemAmount += 1; } float itemWeight = ServerItems.GetItemWeight(itemName) * rndItemAmount; float invWeight = CharactersInventory.GetCharacterItemWeight(charId, "inventory"); float backpackWeight = CharactersInventory.GetCharacterItemWeight(charId, "backpack"); if (invWeight + itemWeight > 15f && backpackWeight + itemWeight > Characters.GetCharacterBackpackSize(Characters.GetCharacterBackpack(charId))) { HUDHandler.SendNotification(player, 3, 5000, $"Deine Taschen sind voll."); return; } if (invWeight + itemWeight <= 15f) { HUDHandler.SendNotification(player, 2, 5000, $"Du hast {itemName} ({rndItemAmount}x) gesammelt (Lagerort: Inventar)."); CharactersInventory.AddCharacterItem(charId, itemName, rndItemAmount, "inventory"); return; } if (Characters.GetCharacterBackpack(charId) != "None" && backpackWeight + itemWeight <= Characters.GetCharacterBackpackSize(Characters.GetCharacterBackpack(charId))) { HUDHandler.SendNotification(player, 2, 5000, $"Du hast {itemName} ({rndItemAmount}x) gesammelt (Lagerort: Rucksack / Tasche)."); CharactersInventory.AddCharacterItem(charId, itemName, rndItemAmount, "backpack"); return; } }
public static bool IsItemActive(IPlayer player, string itemName) { try { if (player == null || !player.Exists) { return(false); } int charId = User.GetPlayerOnline(player); if (charId <= 0 || itemName == "") { return(false); } itemName = ServerItems.ReturnNormalItemName(itemName); if (Characters.GetCharacterBackpack(charId) == itemName) { return(true); } else if ((string)Characters.GetCharacterWeapon(player, "PrimaryWeapon") == itemName || (string)Characters.GetCharacterWeapon(player, "SecondaryWeapon") == itemName || (string)Characters.GetCharacterWeapon(player, "SecondaryWeapon2") == itemName || (string)Characters.GetCharacterWeapon(player, "FistWeapon") == itemName) { return(true); } else if (itemName == "Smartphone" && Characters.IsCharacterPhoneEquipped(charId)) { return(true); } return(false); } catch (Exception e) { Alt.Log($"{e}"); } return(false); }
public async Task <ActionResult> Authorize(string code, string state) { if (User.Identity.IsAuthenticated) //TODO: check state { string id = User.Identity.GetUserId(); BearerToken b = await APIHelper.GetInstance().GetTokenWithAuthenticationCode(code); //probably going to need something like: //>authenticate and set identity+bearertoken with middleware // //>get identity // >get bearertoken from identity // >do API call(bearertoken) //One way of storing the access and/or openid token, but probably inefficient and not well maintainable? //var claims = new List<Claim>(); //claims.Add(new Claim("BlizzardAuthClientCredentialsAccessToken", b.access_token)); //claims.Add(new Claim("BlizzardAuthClientCredentialsTokenType", b.token_type)); //claims.Add(new Claim("BlizzardAuthClientCredentialsExpiresIn", b.expires_in.ToString())); //if(b.scope != null) // claims.Add(new Claim("BlizzardAuthClientCredentialsScope", b.scope)); //if (b.id_token != null) // claims.Add(new Claim("BlizzardAuthClientCredentialsIdToken", b.id_token)); //claims.Add(new Claim("BlizzardAuthClientCredentialsSub", b.sub)); //claims.Add(new Claim("BlizzardAuthClientCredentialsExpirationDate", b.expirationDate.ToString())); //foreach(Claim c in claims) //{ // await UserManager.AddClaimAsync(id, c); //} //Cookie: The worst option for storing an openid token, OK for storing the short-lived access token //TODO: there's no way of distinguishing region right now, and if different regions have same realm names errors will occur here. //CODE FOR ADDING (only max level) CHARACTERS TO ACCOUNT int processed = 0; AccountProfile account = await APIHelper.GetInstance().GetAccountProfile(); int accountsCount = account.wow_accounts.Count(); Tuple <Character, CharacterMedia>[] responseArr = new Tuple <Character, CharacterMedia> [account.wow_accounts.Select(x => x.characters.Where(y => y.level >= 60).Count()).Sum()]; for (int i = 0; i < accountsCount; i++) { Character[] cArr = account.wow_accounts[i].characters.Where(x => x.level >= 60).ToArray(); Characters[] csArr = cArr.Where(x => x.level >= 60).Select(y => Characters.CharacterToAerithiumDBCharactersConverter(y)).ToArray(); People_Characters[] pCsArr = new People_Characters[csArr.Count()]; for (int j = 0; j < csArr.Count(); j++) { //Use Characters to reference the object, since there is no id yet - EF will take care of it :) pCsArr[j] = new People_Characters() { Characters = csArr[j], person_id = id }; CharacterMedia cM = null; cM = await APIHelper.GetInstance().GetCharacterMedia(cArr[j].realm.slug, cArr[j].name); responseArr[processed] = new Tuple <Character, CharacterMedia>(cArr[j], cM); processed++; } db.Characters.AddRange(csArr); db.People_Characters.AddRange(pCsArr); //db.SaveChanges(); } ViewData["Response"] = responseArr; //ViewBag.Battletag = await APIHelper.GetInstance().GetUserInfo(); //ViewBag.Guild = await APIHelper.GetInstance().GetGuild("silvermoon", "aerithium"); //ViewBag.CharacterProfile = await APIHelper.GetInstance().GetCharacterProfile("silvermoon", "aerithium"); //ViewBag.Mounts = await APIHelper.GetInstance().GetAccountMounts(); //ViewBag.Pets = await APIHelper.GetInstance().GetAccountPets(); return(View()); } //someone's in between D: return(new HttpUnauthorizedResult()); }
public Task RegisterUser(User player, string username, string password) { Console.WriteLine("151"); //Check if user exists var dbUser = Main.database.UserCollection.AsQueryable().FirstOrDefault(x => x.Username.ToLower() == username.ToLower()); if (dbUser != null) { player.Emit("client:login:modal", "Fehler", "Dieser Benutzername ist bereits vergeben!"); return(Task.CompletedTask); } //hash pw var hashedPw = BCrypt.Net.BCrypt.HashString(password); Console.WriteLine("161"); //create user var newUser = new Users() { Username = username, Password = hashedPw }; //emit client success player.Emit("server:register:finished"); //add to db Main.database.UserCollection.InsertOne(newUser); Console.WriteLine("170"); var Clothes = new Clothing() { Mask = new Component() { drawableId = 0, colorId = 0 }, Torso = new Component() { drawableId = 0, colorId = 0 }, Legs = new Component() { drawableId = 0, colorId = 0 }, Bag = new Component() { drawableId = 0, colorId = 0 }, Shoes = new Component() { drawableId = 0, colorId = 0 }, Accessoires = new Component() { drawableId = 0, colorId = 0 }, Undershirt = new Component() { drawableId = 0, colorId = 0 }, Armor = new Component() { drawableId = 0, colorId = 0 }, Decals = new Component() { drawableId = 0, colorId = 0 }, Tops = new Component() { drawableId = 0, colorId = 0 }, Hats = new Component() { drawableId = 0, colorId = 0 }, Glasses = new Component() { drawableId = 0, colorId = 0 }, Ears = new Component() { drawableId = 0, colorId = 0 }, Watches = new Component() { drawableId = 0, colorId = 0 }, Bracelets = new Component() { drawableId = 0, colorId = 0 }, }; Console.WriteLine("190"); var charList = Main.database.CharacterCollection.AsQueryable().ToList(); int nextPlayerId; if (charList.Count == 0) { nextPlayerId = 1; } else { nextPlayerId = charList.Last().playerId + 1; } bool numberNotExisting = false; int nummer = 0; Console.WriteLine("197"); do { var rand = new Random(); nummer = rand.Next(10000, 99999); var nummerExists = Main.database.CharacterCollection.AsQueryable().Where(c => c.Number == nummer); if (nummerExists != null) { numberNotExisting = true; } } while (!numberNotExisting); Console.WriteLine("211"); //create new char var newChar = new Characters() { ownerObjId = newUser.id, moneyHand = 5000, Clothes = Clothes, playerId = nextPlayerId, Inventar = new List <Item>(), Number = nummer }; //create new Bankacc var nextKontoId = Main.database.BankCollection.AsQueryable().ToList().Count + 1; Console.WriteLine("217"); var newBankAcc = new KontoCollection() { kontoNummer = nextKontoId, kontoPin = 0000, kontoStand = 0, objectOwnerId = newChar.id }; Main.database.BankCollection.InsertOne(newBankAcc); Console.WriteLine("219"); //add to db Main.database.CharacterCollection.InsertOne(newChar); player.playerId = newChar.playerId; player.uid = newUser.id; Console.WriteLine("227"); player.Spawn(new Position(-812.0f, 175.0f, 76f), 0); player.Rotation = new Rotation(0, 0, 102.1003189086914f); //start charcreator player.Emit("character:Edit"); player.Dimension = player.Id; return(Task.CompletedTask); }
public ADDMEMBER(Characters characterId) { _characterId = characterId; }
public bool ProcessRound() { // make sure any new summons end up in the right place Characters.Sort(new InitSort()); bool result = true; if (OutputAttacks) { Console.WriteLine(string.Format("\n--- Encounter Round {0} --- ", Round)); } for (int me = 0; me < Characters.Count; me++) { // am dead, am big cat no more if (!Characters[me].Alive) { continue; } if (Characters[me].MyType == CreatureType.Summon && Characters[me].BeenSummoned == false) { continue; } // has a team prevailed? if (CurrentEnemies(Team.TeamOne).Count == 0 || CurrentEnemies(Team.TeamTwo).Count == 0) { if (result && OutputAttacks) { Console.WriteLine("\n*** Encounter ended *** \n"); } result = false; break; } Characters[me].Stats.Rounds++; Characters[me].OnNewRound(); // are we a healer? does anyone need it? if (AllowHealing && Characters[me].Healer) { int target = PickHealTarget(Characters[me].Group); if (target > -1) { Characters[me].HealTarget = Characters[target]; } } Characters[me].OnNewTurn(); foreach (int id in PreTurnChars) { int idx = GetIndexByID(id); BaseAction preAction = Characters[idx].PickPreTurn(Characters[me]); if (!ProcessAction(preAction, idx, me)) { if (result && OutputAttacks) { Console.WriteLine("\n*** Encounter ended *** \n"); } result = false; break; } } // am dead, am big cat no more if (!Characters[me].Alive) { continue; } if (Characters[me].BonusActionFirst) { // pick bonus action BaseAction bonusAction = Characters[me].PickBonusAction(); if (bonusAction.Type != BaseAction.ActionType.None) { Characters[me].UsedBonusAction = true; } if (!ProcessAction(bonusAction, me)) { if (result && OutputAttacks) { Console.WriteLine("\n*** Encounter ended *** \n"); } result = false; break; } // pick action BaseAction mainAction = Characters[me].PickAction(); if (mainAction.Type != BaseAction.ActionType.None) { Characters[me].UsedBonusAction = true; } if (!ProcessAction(mainAction, me)) { if (result && OutputAttacks) { Console.WriteLine("\n*** Encounter ended *** \n"); } result = false; break; } } else { // pick action BaseAction mainAction = Characters[me].PickAction(); if (mainAction.Type != BaseAction.ActionType.None) { Characters[me].UsedBonusAction = true; } if (!ProcessAction(mainAction, me)) { if (result && OutputAttacks) { Console.WriteLine("\n*** Encounter ended *** \n"); } result = false; break; } // pick bonus action BaseAction bonusAction = Characters[me].PickBonusAction(); if (bonusAction.Type != BaseAction.ActionType.None) { Characters[me].UsedBonusAction = true; } if (!ProcessAction(bonusAction, me)) { if (result && OutputAttacks) { Console.WriteLine("\n*** Encounter ended *** \n"); } result = false; break; } } string endTurn = Characters[me].OnEndTurn(); if (OutputAttacks) { if (!string.IsNullOrEmpty(endTurn)) { Console.WriteLine(endTurn); } } // post turn reactions if (result) { foreach (int id in PostTurnChars) { int idx = GetIndexByID(id); BaseAction postAction = Characters[idx].PickPostTurn(Characters[me]); if (!ProcessAction(postAction, idx, me)) { if (result && OutputAttacks) { Console.WriteLine("\n*** Encounter ended *** \n"); } result = false; break; } } } } // has a team prevailed? if (CurrentEnemies(Team.TeamOne).Count == 0 || CurrentEnemies(Team.TeamTwo).Count == 0) { result = false; } if (OutputAttacks && !result) { Console.WriteLine(string.Empty); } Round++; Players.Rounds++; Baddies.Rounds++; return(result); }
public async Task WithdrawFactionMoney(IPlayer player, string type, int factionId, int moneyAmount) //Type: faction | company { try { if (player == null || !player.Exists || factionId <= 0 || moneyAmount < 1 || type == "") { return; } if (type != "faction" && type != "company") { return; } int charid = User.GetPlayerOnline(player); if (charid == 0) { return; } if (type == "faction") { if (!ServerFactions.IsCharacterInAnyFaction(charid)) { HUDHandler.SendNotification(player, 4, 5000, "Du bist in keiner Fraktion und hast keine Berechtigung dazu."); return; } if (factionId != ServerFactions.GetCharacterFactionId(charid)) { HUDHandler.SendNotification(player, 4, 5000, "Ein unerwarteter Fehler ist aufgetreten. [FACTIONBANK-001]"); return; } if (ServerFactions.GetCharacterFactionRank(charid) != ServerFactions.GetFactionMaxRankCount(factionId) && ServerFactions.GetCharacterFactionRank(charid) != ServerFactions.GetFactionMaxRankCount(factionId) - 1) { HUDHandler.SendNotification(player, 3, 5000, "Du hast nicht den benötigten Rang um auf das Fraktionskonto zuzugreifen."); return; } if (ServerFactions.GetFactionBankMoney(factionId) < moneyAmount) { HUDHandler.SendNotification(player, 3, 5000, "Soviel Geld ist auf dem Fraktionskonto nicht vorhanden."); return; } ServerFactions.SetFactionBankMoney(factionId, ServerFactions.GetFactionBankMoney(factionId) - moneyAmount); CharactersInventory.AddCharacterItem(charid, "Bargeld", moneyAmount, "inventory"); HUDHandler.SendNotification(player, 2, 5000, $"Du hast erfolgreich {moneyAmount}$ vom Fraktionskonto abgebucht."); LoggingService.NewFactionLog(factionId, charid, 0, "bank", $"{Characters.GetCharacterName(charid)} ({charid}) hat {moneyAmount}$ vom Fraktionskonto abgebucht."); return; } else if (type == "company") { if (!ServerCompanys.IsCharacterInAnyServerCompany(charid)) { HUDHandler.SendNotification(player, 4, 5000, "Du bist in keinem Unternehmen und hast keine Berechtigung dazu."); return; } if (factionId != ServerCompanys.GetCharacterServerCompanyId(charid)) { HUDHandler.SendNotification(player, 4, 5000, "Ein unerwarteter Fehler ist aufgetreten. [FACTIONBANK-0001]"); return; } if (ServerCompanys.GetCharacterServerCompanyRank(charid) < 1) { HUDHandler.SendNotification(player, 3, 5000, "Du hast nicht den benötigten Rang um auf das Unternehmenskonto zuzugreifen."); return; } if (ServerCompanys.GetServerCompanyMoney(factionId) < moneyAmount) { HUDHandler.SendNotification(player, 3, 5000, "Soviel Geld ist auf dem Unternehmenskonto nicht vorhanden."); return; } ServerCompanys.SetServerCompanyMoney(factionId, ServerCompanys.GetServerCompanyMoney(factionId) - moneyAmount); CharactersInventory.AddCharacterItem(charid, "Bargeld", moneyAmount, "inventory"); HUDHandler.SendNotification(player, 2, 5000, $"Du hast erfolgreich {moneyAmount}$ vom Unternehmenskonto abgebucht."); LoggingService.NewCompanyLog(factionId, charid, 0, "bank", $"{Characters.GetCharacterName(charid)} ({charid}) hat {moneyAmount} vom Unternehmenskonto abgebucht."); return; } } catch (Exception e) { Alt.Log($"{e}"); } }
public static bool IsValidEscapeStart(int c) => GetEscapeReplacementCharacter(c & 0xff) != EscapeNotDefined && Characters.Is8BitChar(c);
public Character GetCharacter(int id) { return(Characters.Find(id)); }
public void SetCharacters(Characters <IThreeBehaviors> characters) { this.characters = characters; }
public void Render(string text, Matrix4 transform, Color4 color) { //GL.Enable(EnableCap.Blend); //GL.EnableClientState(ArrayCap.VertexArray); //GL.EnableClientState(ArrayCap.ColorArray); //GL.EnableClientState(ArrayCap.TextureCoordArray); //GL.Enable(EnableCap.Texture2D); //GL.EnableVertexAttribArray(0); //GL.EnableVertexAttribArray(1); //GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha); GL.UseProgram(textShader); GL.ActiveTexture(TextureUnit.Texture0); GL.BindTexture(TextureTarget.Texture2D, charMapTex); GL.Uniform4(uniformColor, color); GL.UniformMatrix4(uniformMatrix, false, ref transform); quadBufferPos = 0; Vector2 curpos = new Vector2(0, 0); int charImHeight = (Characters.Length - (Characters.Length % charImWidth)) / charImWidth + 1; double charwidth = 1.0 / charImWidth; double charheight = 1.0 / charImHeight; foreach (char c in text) { if (c == '\n') { curpos.Y += mapCharSize.Height; curpos.X = 0; } if (c == ' ') { curpos.X += mapCharSize.Width / 4.0f; } if (!Characters.Contains(c)) { continue; } var chari = Characters.IndexOf(c); var sz = charSizes[chari]; int charix = chari % charImWidth; int chariy = (chari - charix) / charImWidth; double sx = charwidth * charix; double ex = sx + charSizes[chari].Width / mapCharSize.Width * charwidth; double sy = charheight * chariy; double ey = sy + charSizes[chari].Height / mapCharSize.Height * charheight; float padding = mapCharSize.Width / 8f; sz.Width -= padding * 2; Vector2 endpos = curpos + new Vector2(sz.Width, sz.Height); int pos = quadBufferPos * 8; quadVertexbuff[pos++] = (curpos.X - padding); quadVertexbuff[pos++] = curpos.Y; quadVertexbuff[pos++] = (curpos.X - padding); quadVertexbuff[pos++] = endpos.Y; quadVertexbuff[pos++] = (endpos.X + padding); quadVertexbuff[pos++] = endpos.Y; quadVertexbuff[pos++] = (endpos.X + padding); quadVertexbuff[pos++] = curpos.Y; curpos.X += sz.Width; pos = quadBufferPos * 8; quaduvbuff[pos++] = sx; quaduvbuff[pos++] = sy; quaduvbuff[pos++] = sx; quaduvbuff[pos++] = ey; quaduvbuff[pos++] = ex; quaduvbuff[pos++] = ey; quaduvbuff[pos++] = ex; quaduvbuff[pos++] = sy; //quaduvbuff[pos++] = 0; //quaduvbuff[pos++] = 0; //quaduvbuff[pos++] = 1; //quaduvbuff[pos++] = 0; //quaduvbuff[pos++] = 1; //quaduvbuff[pos++] = 1; //quaduvbuff[pos++] = 0; //quaduvbuff[pos++] = 1; quadBufferPos++; FlushQuadBuffer(); } FlushQuadBuffer(false); //GL.Disable(EnableCap.Blend); //GL.Disable(EnableCap.Texture2D); //GL.DisableClientState(ArrayCap.VertexArray); //GL.DisableClientState(ArrayCap.ColorArray); //GL.DisableClientState(ArrayCap.TextureCoordArray); //GL.DisableVertexAttribArray(0); //GL.DisableVertexAttribArray(1); }
public async Task SetCorrectCharacterSkin(IPlayer player) { if (player == null || !player.Exists) { return; } int charid = User.GetPlayerOnline(player); if (charid == 0) { return; } player.EmitLocked("Client:SpawnArea:setCharSkin", Characters.GetCharacterSkin("facefeatures", charid), Characters.GetCharacterSkin("headblendsdata", charid), Characters.GetCharacterSkin("headoverlays", charid)); }
public bool[] BuildUsedRequestArray() { // Set anything false that is not used. This will be used when guilding the query string. bool[] used = new bool[18] { true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true }; if (Basic is null || Basic.Equals("")) { used[0] = false; } if (Title is null || Title.Equals("")) { used[1] = false; } if (Authors is null || Authors.Equals("")) { used[2] = false; } if (Characters is null || Characters.Equals("")) { used[3] = false; } if (Relationships is null || Relationships.Equals("")) { used[4] = false; } if (Fandoms is null || Fandoms.Equals("")) { used[5] = false; } if (OtherTags is null || OtherTags.Equals("")) { used[6] = false; } if (Likes.Item1 == 0 && Likes.Item2 == 0) { used[7] = false; } if (Views.Item1 == 0 && Views.Item2 == 0) { used[8] = false; } if (Comments.Item1 == 0 && Comments.Item2 == 0) { used[9] = false; } if (WordCount.Item1 == 0 && WordCount.Item2 == 0) { used[10] = false; } if (UpdateBefore.Item1 == default || UpdateBefore.Item2 == default) { used[11] = false; } if (PublishBefore.Item1 == default || PublishBefore.Item2 == default) { used[12] = false; } if (Direction == 0) { used[13] = false; } if (SearchFicsBy == 0) { used[14] = false; } if (FicRaiting == 0) { used[15] = false; } if (Status == 0) { used[16] = false; } if (Crossover == 0) { used[17] = false; } return(used); }
public CharacterData this[Characters id] => GetDamagable(id);
public async Task ValidateLoginAsync(User player, string username, string password) { Users dbUser = Main.database.UserCollection.AsQueryable().FirstOrDefault(x => x.Username == username); if (dbUser == null) { return; } if (!BCrypt.Net.BCrypt.Verify(password, dbUser.Password)) { player.Emit("client:login:modal", "Fehler", "Falsches Passwort!"); return; } Characters dbChar = Main.database.CharacterCollection.AsQueryable().FirstOrDefault(c => c.ownerObjId == dbUser.id); var tempChar = dbChar; if (dbChar == null) { return; } if (!dbUser.IsWhitelisted) { player.Emit("client:login:modal", "Fehler", "Dieser Account ist noch nicht gewhitelisted!"); return; } player.Username = dbUser.Username; player.Dimension = 0; player.adminLevel = dbUser.adminLevel; player.Model = (uint)PedModel.FreemodeMale01; if (dbChar.charData.sex != null) { player.sex = dbChar.charData.sex.Value; } player.playerId = dbChar.playerId; if (dbChar.frakId.HasValue) { player.frakId = dbChar.frakId.Value; } player.Emit("server:login:finished"); //an alter pos spawnen if (dbChar.pos_x.HasValue) { var chardata = JsonConvert.SerializeObject(dbChar.charData); player.Spawn(new Position(dbChar.pos_x.Value, dbChar.pos_y.Value, (dbChar.pos_z.Value + 0.1f)), 0); player.Emit("character:Sync", chardata, true); } else { player.Spawn(new Position(-1045.6171875f, -2750.943115234375f, 21.36341667175293f), 0); player.Rotation = new Rotation(0, 0, 326.61578369140625f); } if (dbChar.Clothes == null) { var Clothes = new Clothing() { Mask = new Component() { drawableId = 0, colorId = 0 }, Torso = new Component() { drawableId = 0, colorId = 0 }, Legs = new Component() { drawableId = 0, colorId = 0 }, Bag = new Component() { drawableId = 0, colorId = 0 }, Shoes = new Component() { drawableId = 0, colorId = 0 }, Accessoires = new Component() { drawableId = 0, colorId = 0 }, Undershirt = new Component() { drawableId = 0, colorId = 0 }, Armor = new Component() { drawableId = 0, colorId = 0 }, Decals = new Component() { drawableId = 0, colorId = 0 }, Tops = new Component() { drawableId = 0, colorId = 0 }, Hats = new Component() { drawableId = 0, colorId = 0 }, Glasses = new Component() { drawableId = 0, colorId = 0 }, Ears = new Component() { drawableId = 0, colorId = 0 }, Watches = new Component() { drawableId = 0, colorId = 0 }, Bracelets = new Component() { drawableId = 0, colorId = 0 }, }; tempChar.Clothes = Clothes; } if (dbChar.Inventar == null) { tempChar.Inventar = new List <Item> { new Item { amount = 39, itemId = 1 } }; } player.Emit("client:hud:displayNotify", "Erfolgreich eingeloggt!"); player.Emit("SaltyChat_OnConnected"); Alt.Emit("PlayerLoggedIn", player); player.uid = dbUser.id; player.Health = dbChar.health; player.Armor = dbChar.armor; player.paintballArena = 0; var tempUser = dbUser; tempUser.lastLogin = System.DateTime.Now.ToLocalTime().ToString("dd.MM.yyyy HH:mm:ss"); tempChar.isOnline = true; await Main.database.CharacterCollection.ReplaceOneAsync(c => c.ownerObjId == player.uid, tempChar); await Main.database.UserCollection.ReplaceOneAsync(x => x.Username == username, tempUser); var itemshopList = JsonConvert.SerializeObject(itemShopInteraction.shopList); var garageList = JsonConvert.SerializeObject(GarageInteractions.garageList); var tankstellenList = JsonConvert.SerializeObject(fuelStationInteract.fuelStationList); var vehshopList = JsonConvert.SerializeObject(VehShopInteraction.vehShops); var discountStoreList = JsonConvert.SerializeObject(ClothingStoreInteraction.clothingStores.Where(c => c.storeType == 3)); var suburbanList = JsonConvert.SerializeObject(ClothingStoreInteraction.clothingStores.Where(c => c.storeType == 2)); var ponsonlist = JsonConvert.SerializeObject(ClothingStoreInteraction.clothingStores.Where(c => c.storeType == 1)); var frakgaragelist = JsonConvert.SerializeObject(FrakGarageInteraction.frakGarages); var frakNpcList = JsonConvert.SerializeObject(FrakNPCInteraction.frakNPCList); var ammunationList = JsonConvert.SerializeObject(AmmunationInteraction.AmmunationList); player.Emit("client:interactions:loadGarage", garageList); player.Emit("client:interactions:loadShops", itemshopList); player.Emit("client:interactions:loadFuelstations", tankstellenList); player.Emit("client:interactions:loadClothingStores", discountStoreList, suburbanList, ponsonlist); player.Emit("client:interactions:loadCarDealers", vehshopList); player.Emit("client:interactions:loadFrakGarages", frakgaragelist); player.Emit("client:interactions:loadFrakNPCs", frakNpcList); player.Emit("client:interactions:loadAmmunations", ammunationList); player.Emit("server:createHud", dbChar.moneyHand); await Utils.Utils.LoadClothes(player, dbChar); player.SetStreamSyncedMetaData("sharedUsername", dbChar.firstName + " " + dbChar.lastName); player.SetSyncedMetaData("ADMINLEVEL", dbUser.adminLevel); player.SetStreamSyncedMetaData("sharedId", dbChar.playerId); player.IsJobDuty = false; }
static void GeneratePassword() { string name = Prompt("Service name"); while (List.Contains(name)) { if (!PromptConfirm("A password with that name already exists. Overwrite?")) { name = Prompt("Service name"); } else { break; } } string len = Prompt("Password length", "16"); string chars = Prompt("Characters to use", "lusd"); Dictionary <char, Characters> mappings = new Dictionary <char, Characters>() { { 'l', Characters.Letters }, { 'u', Characters.LettersUppercase }, { 's', Characters.SymbolsBasic }, { 'd', Characters.Numbers }, { 'a', Characters.SymbolsAdvanced } }; int length = int.Parse(len); Characters c = (Characters)0; foreach (var pair in mappings) { if (chars.Contains(pair.Key)) { c |= pair.Value; } } string password = List.Generate(name, new PasswordGenerator() { Characters = c, Length = length }); Utilities.PrintColored("Password for %a{0}%7 is ", name); int pass_x = Console.CursorLeft; int pass_y = Console.CursorTop; Utilities.PrintColoredLine("%c{0}%7.", password); Utilities.SetClipboard(password); Console.WriteLine("Copied password to clipboard."); Console.Write("Auto-clearing in {0} seconds...", AutoClearDelay / 1000); int progress_x = Console.CursorLeft; int progress_y = Console.CursorTop; Console.WriteLine(); Task.Factory.StartNew( delegate { ActionTrigger.Reset(); bool result = ActionTrigger.WaitOne(AutoClearDelay); if (!result) { int temp_x = Console.CursorLeft; int temp_y = Console.CursorTop; Console.SetCursorPosition(pass_x, pass_y); Utilities.PrintColored("%c" + new string('█', length) + "%7"); Console.SetCursorPosition(progress_x, progress_y); Console.Write("cleared."); Console.SetCursorPosition(temp_x, temp_y); } }); Save(); }
public void Setup(Characters newCharacter) { associateCharacter = newCharacter; }
public BaseCharacter GetByID(int id) { return(Characters.Where(c => c.ID == id).First()); }
private CharacterData GetDamagable(Characters id) => Characters.ContainsKey(id) ? Characters[id] : null;
public SUBMEMBER(Characters characterId) { _characterId = characterId; }
public WHOAMI(Characters characterID) => _characterID = characterID;
private void InitCharacters() { Character player = new Character(null); Characters.Add("Player", player); }
public SkinChanger(Characters selectedCharacter) { SelectedCharacter = selectedCharacter; }
public static Characters GetCharacters(DatabaseSettings databaseSettings, Guid userID) { Characters returnValue = new Characters(); using (SqlConnection connection = new SqlConnection(databaseSettings.SqlClientConnectionString)) { connection.Open(); using (SqlCommand command = connection.CreateCommand()) { SqlParameter parameter; command.CommandText = "csUserCharactersGet"; command.CommandType = CommandType.StoredProcedure; parameter = command.Parameters.Add("@UserID", SqlDbType.UniqueIdentifier); parameter.Value = userID; using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Character c = new Character(); if (reader["CharacterID"] is Guid) { c.CharacterID = (Guid)reader["CharacterID"]; } if (reader["UserID"] is Guid) { c.UserID = (Guid)reader["UserID"]; } if (reader["Name"] is string) { c.Name = (string)reader["Name"]; } if (reader["ShareCode"] is string) { returnValue.ShareCode = (string)reader["ShareCode"]; } if (reader["STR"] is int) { c.STR = (int)reader["STR"]; } if (reader["DEX"] is int) { c.DEX = (int)reader["DEX"]; } if (reader["CON"] is int) { c.CON = (int)reader["CON"]; } if (reader["WIS"] is int) { c.WIS = (int)reader["WIS"]; } if (reader["INT"] is int) { c.INT = (int)reader["INT"]; } if (reader["CHA"] is int) { c.CHA = (int)reader["CHA"]; } if (reader["Alignment"] is string) { c.Alignment = (string)reader["Alignment"]; } if (reader["ImageURL"] is string) { c.ImageURL = (string)reader["ImageURL"]; } if (reader["EyeColor"] is string) { c.EyeColor = (string)reader["EyeColor"]; } if (reader["HairColor"] is string) { c.HairColor = (string)reader["HairColor"]; } if (reader["Height"] is string) { c.Height = (string)reader["Height"]; } if (reader["Weight"] is string) { c.Weight = (string)reader["Weight"]; } if (reader["Biography"] is string) { c.Biography = (string)reader["Biography"]; } if (reader["TraitID"] is int) { c.TraitID = (int)reader["TraitID"]; } if (reader["ClassID"] is int) { c.ClassID = (int)reader["ClassID"]; } if (reader["RaceID"] is int) { c.RaceID = (int)reader["RaceID"]; } c.Trait = TraitsLogic.GetTrait(databaseSettings, c.TraitID); c.Class = ClassesLogic.GetClass(databaseSettings, c.ClassID); c.Race = RacesLogic.GetRace(databaseSettings, c.RaceID); returnValue.Add(c); } } } } return(returnValue); }
public static string ToNumberString(this byte number, Characters characters = Characters.DECIMAL, string customCharacter = CHARS_PUREUPPERCHAR) { return(((ulong)number).ToNumberString(characters, customCharacter)); }
void OnTriggerExit(Collider other) { if (m_HasAlreadyDead) { return; } //local varibale. Characters OtherCharacter = Characters.Alex; short tempCharcater; //checks which character we are switch (other.name) { case Constants.ALEX_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Alex; break; case Constants.DEREK_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Derek; break; case Constants.ZOE_WITH_MOVEMENT_STRING: OtherCharacter = Characters.Zoe; break; } //checks which player we are if (OtherCharacter == GameData.Instance.PlayerOneCharacter) { tempCharcater = 1; } else { tempCharcater = 2; } //check if the player leaving is the current target, if not, we don't need to do anything. if (tempCharcater != m_CurrentTarget) { return; } //if our current target leaves we need to check if the other player is in range. if not we set to idle. if (m_CurrentTarget == 1) { if (WithinRange(2)) { m_CurrentTarget = 2; } else { m_CurrentState = TimingStates.Idle; m_HasTraget = false; } } else { if (WithinRange(1)) { m_CurrentTarget = 1; } else { m_CurrentState = TimingStates.Idle; m_HasTraget = false; } } }