private void UpdateMagicForm() { _selectedMagicInfo = (MagicInfo)MagiclistBox.SelectedItem; lblBookValid.BackColor = SystemColors.Window; if (_selectedMagicInfo == null) { tabControl1.Enabled = false; lblBookValid.Text = "Searching"; lblSelected.Text = "Selected Skill: none"; lblDamageExample.Text = ""; txtSkillIcon.Text = "0"; txtSkillLvl1Points.Text = "0"; txtSkillLvl1Req.Text = "0"; txtSkillLvl2Points.Text = "0"; txtSkillLvl2Req.Text = "0"; txtSkillLvl3Points.Text = "0"; txtSkillLvl3Req.Text = "0"; txtMPBase.Text = "0"; txtMPIncrease.Text = "0"; txtDelayBase.Text = "0"; txtDelayReduction.Text = "0"; txtDmgBaseMin.Text = "0"; txtDmgBaseMax.Text = "0"; txtDmgBonusMin.Text = "0"; txtDmgBonusMax.Text = "0"; } else { tabControl1.Enabled = true; lblSelected.Text = "Selected Skill: " + _selectedMagicInfo.ToString(); lblDamageExample.Text = string.Format("Damage @ Skill level 0: {0:000}-{1:000} ||| level 1: {2:000}-{3:000} ||| level 2: {4:000}-{5:000} ||| level 3: {6:000}-{7:000}", GetMinPower(0), GetMaxPower(0), GetMinPower(1), GetMaxPower(1), GetMinPower(2), GetMaxPower(2), GetMinPower(3), GetMaxPower(3)); txtSkillIcon.Text = _selectedMagicInfo.Icon.ToString(); txtSkillLvl1Points.Text = _selectedMagicInfo.Need1.ToString(); txtSkillLvl1Req.Text = _selectedMagicInfo.Level1.ToString(); txtSkillLvl2Points.Text = _selectedMagicInfo.Need2.ToString(); txtSkillLvl2Req.Text = _selectedMagicInfo.Level2.ToString(); txtSkillLvl3Points.Text = _selectedMagicInfo.Need3.ToString(); txtSkillLvl3Req.Text = _selectedMagicInfo.Level3.ToString(); txtMPBase.Text = _selectedMagicInfo.BaseCost.ToString(); txtMPIncrease.Text = _selectedMagicInfo.LevelCost.ToString(); txtDelayBase.Text = _selectedMagicInfo.DelayBase.ToString(); txtDelayReduction.Text = _selectedMagicInfo.DelayReduction.ToString(); txtDmgBaseMin.Text = _selectedMagicInfo.PowerBase.ToString(); txtDmgBaseMax.Text = (_selectedMagicInfo.PowerBase + _selectedMagicInfo.PowerBonus).ToString(); txtDmgBonusMin.Text = _selectedMagicInfo.MPowerBase.ToString(); txtDmgBonusMax.Text = (_selectedMagicInfo.MPowerBase + _selectedMagicInfo.MPowerBonus).ToString(); ItemInfo Book = Envir.GetBook((short)_selectedMagicInfo.Spell); if (Book != null) { lblBookValid.Text = Book.Name; } else { lblBookValid.Text = "No book found"; lblBookValid.BackColor = Color.Red; } } }
public override void BuildPacket() { PushIntoStack(pageCount); PushIntoStack(ContextUser.ExpNum); PushIntoStack(queueID); PushIntoStack(coldTime); PushIntoStack(userMagicArray.Count); foreach (UserMagic magic in userMagicArray) { magicInfo = new ConfigCacheSet <MagicInfo>().FindKey(magic.MagicID); if (IsUp(magic.MagicID, magic.MagicLv, ContextUser)) { isUp = 1; } else { isUp = 0; } DataStruct ds = new DataStruct(); ds.PushIntoStack(magic.MagicID); ds.PushIntoStack((int)magic.MagicType); ds.PushIntoStack(magicInfo == null ? string.Empty : magicInfo.MagicName.ToNotNullString()); ds.PushIntoStack(magicInfo == null ? string.Empty : magicInfo.HeadID.ToNotNullString()); ds.PushIntoStack((short)magic.MagicLv); ds.PushIntoStack(isUp); ds.PushIntoStack(magic.IsOpen ? 1 : 0); ds.PushIntoStack(magic.IsLv); PushIntoStack(ds); } }
private static readonly Bitboard[][] NoContextAttackBitboards = new Bitboard[6][]; // knight and king static StaticInfo() { for (int i = 0; i < Location.NumberOfValues; i++) { var source = Location.FromIndex(i); ref MagicInfo info = ref BishopInfos[i]; var occupancy = ComputeBishopOccupancy(source); info.Mask = occupancy; var magic = BishopMagics[i]; info.Magic = magic; int numBits = occupancy.CountSetBits(); Debug.Assert(numBits <= 11); int shift = 64 - numBits; int numValues = 1 << numBits; info.Shift = shift; info.AttackBitboards = new Bitboard[numValues]; foreach (var blockers in occupancy.PowerSet()) { ushort key = (ushort)((blockers * magic) >> shift); info.AttackBitboards[key] = ComputeBishopAttacks(source, blockers); } }
private IEnumerator ToWait(MagicInfo magicInfo) { yield return(new WaitForSecondsRealtime(magicInfo.TimeCast)); if (_player.GetNavMeshAgent().velocity.magnitude > 0.1f) { yield break; } var ray = new Ray(_player.GetTransformStartPosition().position, _player.GetTransformStartPosition().forward); _destination = Physics.Raycast(ray, out var hit) ? hit.point : ray.GetPoint(50f); InstantiateMagic(magicInfo); }
private void SaveButton_Click(object sender, EventArgs e) { var list = MagiclistBox.SelectedItems.Cast<MagicInfo>().ToList(); if (list.Count == 0) { MessageBox.Show("Not selected any Magics"); return; } for (int i = 0; i < list.Count; i++) MagicInfo.SaveMagicInfoDB(list[i]); MessageBox.Show("Saved Magic(s)"); }
public override bool TakeAction() { magicInfo = new ConfigCacheSet <MagicInfo>().FindKey(magicID); userMagicArray = new GameDataCacheSet <UserMagic>().FindAll(ContextUser.UserID, u => u.MagicID == magicID); if (userMagicArray.Count > 0) { magicLv = userMagicArray[0].MagicLv; } int upgradeLv = MathUtils.Addition(magicLv, 1, int.MaxValue); if (upgradeLv <= 10) { magicLvInfo = new ConfigCacheSet <MagicLvInfo>().FindKey(magicID, upgradeLv); } return(true); }
private void InstantiateMagic(MagicInfo magicInfo) { var position = _player.GetTransformStartPosition().position + (_player.GetTransformStartPosition().forward *magicInfo.SpawnOffset); Debug.Log(position); var magic = Instantiate(magicInfo.Projectile, position, Quaternion.identity); if (magicInfo.IsParent) { magic.transform.SetParent(_player.GetTransformStartPosition()); } if (magic.GetComponent <Rigidbody>() != null) { magic.GetComponent <Rigidbody>().velocity = (_destination - position).normalized * magicInfo.Speed; RandomMoveProjectile(magic, magicInfo.ArcRange); } }
public static void InsertMagicInfo(MagicInfo magicInfo) { try { conn.Open(); cmd = new MySqlCommand("InsertMagicInfo", conn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("SpellName", magicInfo.Name); cmd.Parameters.AddWithValue("Spell", (short)magicInfo.Spell); cmd.Parameters.AddWithValue("BaseCost", magicInfo.BaseCost); cmd.Parameters.AddWithValue("LevelCost", magicInfo.LevelCost); cmd.Parameters.AddWithValue("Icon", magicInfo.Icon); cmd.Parameters.AddWithValue("Level1", magicInfo.Level1); cmd.Parameters.AddWithValue("Level2", magicInfo.Level2); cmd.Parameters.AddWithValue("Level3", magicInfo.Level3); cmd.Parameters.AddWithValue("Need1", magicInfo.Need1); cmd.Parameters.AddWithValue("Need2", magicInfo.Need2); cmd.Parameters.AddWithValue("Need3", magicInfo.Need3); cmd.Parameters.AddWithValue("DelayBase", magicInfo.DelayBase); cmd.Parameters.AddWithValue("DelayReduction", magicInfo.DelayReduction); cmd.Parameters.AddWithValue("PowerBase", magicInfo.PowerBase); cmd.Parameters.AddWithValue("PowerBonus", magicInfo.PowerBonus); cmd.Parameters.AddWithValue("MPowerBase", magicInfo.MPowerBase); cmd.Parameters.AddWithValue("MPowerBonus", magicInfo.MPowerBonus); cmd.Parameters.AddWithValue("MagicRange", magicInfo.Range); cmd.Parameters.AddWithValue("MultiplierBase", magicInfo.MultiplierBase); cmd.Parameters.AddWithValue("MultiplierBonus", magicInfo.MultiplierBonus); cmd.ExecuteNonQuery(); } catch (MySqlException ex) { } finally { conn.Close(); } }
private void magicToolStripMenuItem_Click(object sender, EventArgs e) { foreach (var NewMagic in EditEnvir.MagicInfoList) { MagicInfo OldMagic = Envir.MagicInfoList.Find(x => x.Spell == NewMagic.Spell); if (OldMagic != null) { OldMagic.Copy(NewMagic); } } foreach (var p in Envir.Players) { foreach (var Magic in Envir.MagicInfoList) { p.Enqueue(new S.RefreshMagic { Magic = (new UserMagic(Magic.Spell)).CreateClientMagic() }); } } SMain.Enqueue("[Magic DataBase] total magics :" + Envir.MagicInfoList.Count.ToString()); SMain.Enqueue("[Magic DataBase] " + (Envir.MagicInfoList.Count).ToString() + " has been updated"); }
private void UpdateMagicForm(byte field = 0) { _selectedMagicInfo = (MagicInfo)MagiclistBox.SelectedItem; lblBookValid.BackColor = SystemColors.Window; if (_selectedMagicInfo == null) { tabControl1.Enabled = false; lblBookValid.Text = "Searching"; lblSelected.Text = "Selected Skill: none"; lblDamageExample.Text = ""; lblDamageExplained.Text = ""; txtSkillIcon.Text = "0"; txtSkillLvl1Points.Text = "0"; txtSkillLvl1Req.Text = "0"; txtSkillLvl2Points.Text = "0"; txtSkillLvl2Req.Text = "0"; txtSkillLvl3Points.Text = "0"; txtSkillLvl3Req.Text = "0"; txtMPBase.Text = "0"; txtMPIncrease.Text = "0"; txtDelayBase.Text = "0"; txtDelayReduction.Text = "0"; txtDmgBaseMin.Text = "0"; txtDmgBaseMax.Text = "0"; txtDmgBonusMin.Text = "0"; txtDmgBonusMax.Text = "0"; } else { tabControl1.Enabled = true; lblSelected.Text = "Selected Skill: " + _selectedMagicInfo.ToString(); lblDamageExample.Text = string.Format("Damage @ Skill level 0: {0:000}-{1:000} ||| level 1: {2:000}-{3:000} ||| level 2: {4:000}-{5:000} ||| level 3: {6:000}-{7:000}", GetMinPower(0), GetMaxPower(0), GetMinPower(1), GetMaxPower(1), GetMinPower(2), GetMaxPower(2), GetMinPower(3), GetMaxPower(3)); lblDamageExplained.Text = string.Format("Damage: {{Random(minstat-maxstat) + [<(random({0}-{1})/4) X (skill level +1)> + random<{2}-{3}>]}} X {{{4} + (skill level * {5})}}", _selectedMagicInfo.MPowerBase, _selectedMagicInfo.MPowerBase + _selectedMagicInfo.MPowerBonus, _selectedMagicInfo.PowerBase, _selectedMagicInfo.PowerBonus + _selectedMagicInfo.PowerBase, _selectedMagicInfo.MultiplierBase, _selectedMagicInfo.MultiplierBonus); txtSkillIcon.Text = _selectedMagicInfo.Icon.ToString(); txtSkillLvl1Points.Text = _selectedMagicInfo.Need1.ToString(); txtSkillLvl1Req.Text = _selectedMagicInfo.Level1.ToString(); txtSkillLvl2Points.Text = _selectedMagicInfo.Need2.ToString(); txtSkillLvl2Req.Text = _selectedMagicInfo.Level2.ToString(); txtSkillLvl3Points.Text = _selectedMagicInfo.Need3.ToString(); txtSkillLvl3Req.Text = _selectedMagicInfo.Level3.ToString(); txtMPBase.Text = _selectedMagicInfo.BaseCost.ToString(); txtMPIncrease.Text = _selectedMagicInfo.LevelCost.ToString(); txtDelayBase.Text = _selectedMagicInfo.DelayBase.ToString(); txtDelayReduction.Text = _selectedMagicInfo.DelayReduction.ToString(); txtDmgBaseMin.Text = _selectedMagicInfo.PowerBase.ToString(); txtDmgBaseMax.Text = (_selectedMagicInfo.PowerBase + _selectedMagicInfo.PowerBonus).ToString(); txtDmgBonusMin.Text = _selectedMagicInfo.MPowerBase.ToString(); txtDmgBonusMax.Text = (_selectedMagicInfo.MPowerBase + _selectedMagicInfo.MPowerBonus).ToString(); if (field != 1) { txtDmgMultBase.Text = _selectedMagicInfo.MultiplierBase.ToString(); } if (field != 2) { txtDmgMultBoost.Text = _selectedMagicInfo.MultiplierBonus.ToString(); } txtRange.Text = _selectedMagicInfo.Range.ToString(); ItemInfo Book = Envir.GetBook((short)_selectedMagicInfo.Spell); if (Book != null) { lblBookValid.Text = Book.Name; } else { lblBookValid.Text = "No book found"; lblBookValid.BackColor = Color.Red; } } }
public void Complete() { NextCast = Time.Now + Cooldown; Info = Globals.MagicInfoList.Binding.FirstOrDefault(x => x.Index == InfoIndex); }
public void Complete() { Info = Globals.MagicInfoList.Binding.FirstOrDefault(x => x.Index == InfoIndex); }
public override bool TakeAction() { //List<UserQueue> queueList = new PersonalCacheStruct<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.MagicStrong); //if (queueList.Count > 0) //{ // if (queueList[0].StrengNum >= 2 && queueList[0].DoRefresh() > 0) // { // ErrorCode = LanguageManager.GetLang().ErrorCode; // ErrorInfo = LanguageManager.GetLang().St1503_MagicColding; // return false; // } //} magicInfo = new ShareCacheStruct <MagicInfo>().FindKey(magicID); if (magicInfo == null) { return(false); } int maxMagicLv = ConfigEnvSet.GetInt("Queue.MaxLength"); UserMagic userMagic = new PersonalCacheStruct <UserMagic>().FindKey(ContextUser.UserID, magicID); if (userMagic == null) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1503_MagicIDNotEnough; return(false); } sumMagicLv = MathUtils.Addition(userMagic.MagicLv, (short)1, (short)100); MagicLvInfo magicLvInfo = new ShareCacheStruct <MagicLvInfo>().FindKey(magicID, sumMagicLv); if (magicLvInfo == null || userMagic.MagicLv == maxMagicLv) { guideID = 1; //等级已达到最高 ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1503_MaxMagicLv; return(false); } if (ContextUser.UserLv < magicLvInfo.EscalateMinLv) { //超出用户等级 ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St1503_MagicLevel; return(false); } experience = magicLvInfo.ExpNum; //codeTime = magicLvInfo.ColdTime; if (experience > ContextUser.ExpNum) { guideID = 3; //阅历不足 ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = string.Format(LanguageManager.GetLang().St1503_UpgradeExpNum); return(false); } int useGold = 0; if (ops == 1) { if (!VipHelper.GetVipOpenFun(ContextUser.VipLv, ExpandType.EquXiaoChuLengQueShiJian)) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St_VipNotEnoughNotFuntion; return(false); } useGold = (codeTime / 60); if (ContextUser.GoldNum < useGold) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St_GoldNotEnough; return(false); } ContextUser.UseGold = MathUtils.Addition(ContextUser.UseGold, useGold, int.MaxValue); } else { //放入队列中 // List<UserQueue> queueList = new PersonalCacheStruct<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType ==QueueType.MagicStrong); //todo //if (queueList.Count > 0) //{ // UserQueue queue = queueList[0]; // if (queue.DoRefresh() > 0 && queue.StrengNum < 2) // { // queue.TotalColdTime = MathUtils.Addition(queue.TotalColdTime, codeTime, int.MaxValue); // queue.ColdTime = MathUtils.Addition(queue.ColdTime, codeTime, int.MaxValue); // queue.IsSuspend = false; // queue.StrengNum = MathUtils.Addition(queue.StrengNum, 1, int.MaxValue); // //queue.Update(); // } // else // { // queue.TotalColdTime = codeTime; // queue.Timing = DateTime.Now; // queue.ColdTime = codeTime; // queue.IsSuspend = false; // queue.StrengNum = 1; // //queue.Update(); // } //} //else //{ // UserQueue userQueue = new UserQueue() // { // QueueID = Guid.NewGuid().ToString(), // UserID = ContextUser.UserID, // QueueType = QueueType.MagicStrong, // QueueName = QueueType.MagicStrong.ToString(), // TotalColdTime = codeTime, // Timing = DateTime.Now, // ColdTime = codeTime, // StrengNum = 1, // IsSuspend = false // }; // new PersonalCacheStruct<UserQueue>().Add(userQueue); //} } if (userMagic != null) { if (userMagic.MagicType == MagicType.MoFaZhen) { MagicLvInfo mLvInfo = new ShareCacheStruct <MagicLvInfo>().FindKey(userMagic.MagicID, userMagic.MagicLv); string[] mGridRange = mLvInfo.GridRange.Split(','); foreach (string gridRange in mGridRange) { UserEmbattle userEmbattle = new PersonalCacheStruct <UserEmbattle>().FindKey(ContextUser.UserID, userMagic.MagicID, gridRange.ToShort()); if (userEmbattle == null) { UserEmbattle embattle = new UserEmbattle() { UserID = ContextUser.UserID, MagicID = userMagic.MagicID, Position = gridRange.ToShort(), GeneralID = 0 }; new PersonalCacheStruct <UserEmbattle>().Add(embattle); } } } if (experience < ContextUser.ExpNum) { ContextUser.ExpNum = MathUtils.Subtraction(ContextUser.ExpNum, experience, 0); userMagic.MagicLv = MathUtils.Addition(userMagic.MagicLv, (short)1, (short)maxMagicLv); } UserLogHelper.AppenStrongLog(ContextUser.UserID, 1, null, magicID, 2, (short)userMagic.MagicLv, useGold, 0); } List <UserGeneral> userGeneralsArray = new PersonalCacheStruct <UserGeneral>().FindAll(ContextUser.UserID, s => s.GeneralStatus == GeneralStatus.DuiWuZhong && s.GeneralType != GeneralType.Soul); foreach (UserGeneral general in userGeneralsArray) { general.RefreshMaxLife(); } //日常任务-魔术升级 TaskHelper.TriggerDailyTask(Uid, 4004); return(true); }
public void ShootProjectile(MagicInfo magicInfo) { StartCoroutine(ToWait(magicInfo)); }