private async Task ModifyskillAsync(string skill_name, int mod) { SocketGuildUser usr = Context.Guild.GetUser(Context.Message.Author.Id); character character = character.get_character(Context.Message.Author.Id); if (character == null) { await ReplyAsync("Create a character first."); return; } var skill = character.skills.FirstOrDefault(e => e.Name == skill_name); if (skill == null) { await ReplyAsync("Skill invalid"); return; } foreach (var item in character.skills) { if (item.Name == skill_name) { item.Level = mod; } } character.update_character(); await ReplyAsync("Skill Updated."); }
public async Task ChangearmorAsync(params string[] args) { string armor_name = string.Join(" ", args); SocketGuildUser usr = Context.Guild.GetUser(Context.Message.Author.Id); character character = character.get_character(Context.Message.Author.Id); if (character == null) { await ReplyAsync("Character not found. Please create one before proceeding."); return; } Classes.Armor selection = Classes.Armor.InitArmor(System.IO.File.ReadAllText("Data/armor.json")).ToList().FirstOrDefault(e => e.Name == armor_name); if (selection == null) { await ReplyAsync("Armor selection invalid."); return; } character.armor = selection; if (selection.Ac > character.ac) { character.ac = selection.Ac; } await ReplyAsync("Armor changed"); }
void HitSomething(Collider2D c) { player = c.GetComponent <character>(); if (player != null) { IdleMovement.enabled = false; IdleChild.SetActive(false); ActiveChild.GetComponent <PowerupChild>().Init(player, player.playerGui.ActivatePowerup(this), duration); Vector3 lp = ActiveChild.transform.localPosition; ActiveChild.transform.parent = player.transform; ActiveChild.transform.localPosition = lp; ActiveChild.transform.localRotation = Quaternion.identity; if (ActiveChild.GetComponent <BossMovement>() != null) { ActiveChild.GetComponent <BossMovement>().ResetOrigin(); } ActiveChild.SetActive(true); Destroy(ActiveChild, duration); Destroy(gameObject); } }
// Start is called before the first frame update private void Awake() { backgroundMusic = this.gameObject.GetComponent <AudioSource>(); backgroundMusic.volume = 0.5f; player = FindObjectOfType <character>(); //walkingSound = player.audioSource; }
// OnStateUpdate is called before OnStateUpdate is called on any state inside this state machine //override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) //{ // //} override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { actor = GameObject.FindGameObjectsWithTag("Player")[0].GetComponent <character>(); if (stateInfo.IsName("pulldown")) { actor.isHolding = false; actor.rigidbody.isKinematic = false; actor.animator.SetBool("pulldown", false); } else if (stateInfo.IsName("pullup")) { actor.isHolding = false; actor.rigidbody.isKinematic = false; vaultObject aVault = actor.aVaultObject; if (aVault) { actor.rigidbody.MovePosition(aVault.transform.TransformPoint(aVault.curve[1])); } actor.animator.SetBool("pullup", false); } else if (stateInfo.IsName("pullup_stair")) { animator.SetTrigger("climb_end"); animator.SetBool("pullup", false); actor.isClimbing = false; actor.rigidbody.isKinematic = false; } else if (stateInfo.IsName("idle_vault") || stateInfo.IsName("walk_vault") || stateInfo.IsName("run_vault")) { animator.ResetTrigger("goslide"); } }
///////////////////////////////////////////////////////////////////////////////// // Get matching degree stones for item ///////////////////////////////////////////////////////////////////////////////// public List <int> GetStonesDegree(int itemid, character c) { try { List <int> stones = new List <int>(); for (int i = 0; i < Data.ItemBase.Length; i++) { if (Data.ItemBase[i] != null) { if (Data.ItemBase[i].Etctype == Global.item_database.EtcType.STONES && Data.ItemBase[i].Degree == Data.ItemBase[itemid].Degree) { if (i != 0) { stones.Add(i); } } } } return(stones); } catch (Exception ex) { Systems.Debugger.Write(ex); } return(null); }
public PlayerEntity(ObjectGUID objectGUID, character databaseCharacter, WorldSession session) : base(objectGUID) { this.Character = databaseCharacter; this.Session = session; this.SpellCollection = new SpellCollection(this); this.ActionButtonCollection = new ActionButtonCollection(this); }
private async Task AttackrangedAsync(string weapon_name, int mod = 0) { SocketGuildUser usr = Context.Guild.GetUser(Context.Message.Author.Id); string rtn_name = usr.Nickname == null ? usr.Username : usr.Nickname; character character = character.get_character(Context.Message.Author.Id); if (character == null) { await ReplyAsync("Create a character first."); return; } Weapon weap = character.weapons.FirstOrDefault(e => e.Name == weapon_name); if (weap == null) { await ReplyAsync("Weapon selection invalid."); } List <int> attack_results = new List <int>(); List <int> damage_results = new List <int>(); Embed hit = (Embed)character.RollToHit(weap, mod); Embed dmg = (Embed)weap.RollRangedDamage(character, mod); await Context.Channel.SendMessageAsync("", false, hit, null); await Context.Channel.SendMessageAsync("", false, dmg, null); }
///////////////////////////////////////////////////////////////////////////////// // Get matching degree elements for item ///////////////////////////////////////////////////////////////////////////////// public List <int> GetDegreeElements(int itemid, character c) { try { List <int> elements = new List <int>(); for (int i = 0; i < Data.ItemBase.Length; i++) { if (Data.ItemBase[i] != null) { if (Data.ItemBase[i].Etctype == Global.item_database.EtcType.ELEMENTS && Data.ItemBase[i].Degree == Data.ItemBase[itemid].Degree) { if (i != 0) { elements.Add(i); } } } } return(elements); } catch (Exception ex) { Systems.Debugger.Write(ex); } return(null); }
public async Task <ResponseData <List <GetCharacterDTO> > > DeleteCharacter(int id) { ResponseData <List <GetCharacterDTO> > response = new ResponseData <List <GetCharacterDTO> >(); try { character c = await _context.characters.FirstAsync(x => x.Id == id && x.user.id == getUserId()); if (c != null) { _context.characters.Remove(c); await _context.SaveChangesAsync(); response.Data = _context.characters.Where(c => c.Id == getUserId()).Select(c => _imapper.Map <GetCharacterDTO>(c)).ToList(); } else { response.Message = "character not found"; response.success = false; } } catch (Exception ex) { response.success = false; response.Message = ex.Message; } return(response); }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Drop System Base /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public void SkillDrop(obj o, character c, string type) { try { world_item sitem = new world_item(); switch (type) { case "mask": sitem.Model = 10364; sitem.Ids = new Global.ID(Global.ID.IDS.World); sitem.UniqueID = sitem.Ids.GetUniqueID; sitem.PlusValue = 0; sitem.x = this.x + rnd.Next(0, 7); sitem.z = this.z; sitem.y = this.y + rnd.Next(0, 6); sitem.xSec = this.xSec; sitem.ySec = this.ySec; sitem.Type = 3; sitem.fromType = 5; sitem.downType = true; sitem.fromOwner = this.UniqueID; sitem.Owner = ((Systems)this.GetTarget()).Character.Account.ID; Systems.aRound(ref sitem.x, ref sitem.y, 0); Systems.WorldItem.Add(sitem); sitem.Send(Packet.ObjectSpawn(sitem), true); break; } } catch (Exception ex) { Console.WriteLine("Skill drop error {0}", ex); Systems.Debugger.Write(ex); } }
public async Task <ResponseData <GetCharacterDTO> > GetCharacterById(int id) { ResponseData <GetCharacterDTO> response = new ResponseData <GetCharacterDTO>(); try { character ch = await _context.characters. Include(c => c.weapon) .Include(c => c.characterSkills) .ThenInclude(cs => cs.skill) .FirstOrDefaultAsync(c => c.Id == id && c.user.id == getUserId()); if (ch == null) { response.success = false; response.Message = "You may not have the charcter or you may not have authority to view the record"; //return response; } else { response.Data = _imapper.Map <GetCharacterDTO>(ch); } // return response; } catch (Exception ex) { response.success = false; response.Message = ex.Message; // return response; } return(response); }
public async Task <ResponseData <updateCharacterDTO> > UpdateCharacter(updateCharacterDTO updChar) { ResponseData <updateCharacterDTO> response = new ResponseData <updateCharacterDTO>(); try { character c = await _context.characters.Include(c => c.user).FirstOrDefaultAsync(x => x.Id == updChar.Id); if (c.user.id == getUserId()) { c.Name = updChar.Name; c.Class = updChar.Class; c.Defense = updChar.Defense; c.HitPoints = updChar.HitPoints; c.Intelligence = updChar.Intelligence; c.Strength = updChar.Strength; response.Data = _imapper.Map <updateCharacterDTO>(c); } else { response.Message = "character not found"; response.success = false; } } catch (Exception ex) { response.success = false; response.Message = ex.Message; } return(response); }
public void EnterRoom(character character) { if (HasEnemy()) { print("Oppps! There is enemy in this room."); } }
public override void activate(character player) { if (thisCost == cost.seeds) { if (player.seedCount >= amount) { Debug.Log("buy with seeds"); player.spendSeed(amount); itemToActivate.SetActive(true); itemCelebration.transform.parent = null; itemCelebration.Play(); gameObject.SetActive(false); } } if (thisCost == cost.gold) { if (player.gold >= amount) { Debug.Log("buy with gold"); player.spendGold(amount); itemToActivate.SetActive(true); itemCelebration.transform.parent = null; itemCelebration.Play(); gameObject.SetActive(false); } } }
public async Task <ResponseData <GetCharacterDTO> > AddWeapon(AddWeaponDTO newWeapon) { ResponseData <GetCharacterDTO> res = new ResponseData <GetCharacterDTO>(); try { character character = _context.characters.FirstOrDefault(c => c.Id == newWeapon.characterId && c.user.id == int.Parse(httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier))); if (character == null) { res.Message = "charcater not found"; res.success = false; } else { Weapon weapon = new Weapon { Name = newWeapon.Name, Damage = newWeapon.Damage, characterId = newWeapon.characterId }; await _context.Weapons.AddAsync(weapon); await _context.SaveChangesAsync(); res.Data = mapper.Map <GetCharacterDTO>(character); } } catch (Exception ex) { res.success = false; res.Message = ex.Message; } return(res); }
public void Init(character p, Slider d, float t) { player = p; display = d; duration = t; OnStartup(); }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { string ec, et; ec = IniReadValue("com", "esiserenity", "C:\\ERC.ini"); et = IniReadValue("com", "esitranquility", "C:\\ERC.ini"); Jitas J = new Jitas(); character C = new character(); string res = "null"; string com = context.Message.Substring(0, 1); string coml = ""; if (context.Message.Length > 3) { coml = context.Message.Substring(0, 3); } else { coml = context.Message.Substring(0, 1); } if (context.Message == "帮助") { _mahuaApi.SendGroupMessage(context.FromGroup) .Text("EVE查询机器人使用说明") .Face("12").Newline() .Text("====物品查价功能").Face("151").Newline() .Text("|\t'" + ec + "'+精确名称(晨曦中文)\n|").Newline() .Text("|\t'" + et + "'+精确名称(宁静英文)\n|").Newline() .Face("54").Text("就是这样喵~").Face("54") .Done(); } else if (com == ec) { string ser = context.Message.Replace(ec, ""); res = J.esipriceget(ser); _mahuaApi.SendGroupMessage(context.FromGroup) .Text(ser + "晨曦查询结果:") .Newline() .Text(res) .Done(); } else if (com == et) { string ser1 = context.Message.Replace(et, ""); res = J.esipricegettq(ser1); _mahuaApi.SendGroupMessage(context.FromGroup) .Text(ser1 + "宁静查询结果:") .Newline() .Text(res) .Done(); } else if (context.Message == "更新日志") { _mahuaApi.SendGroupMessage(context.FromGroup) .Newline() .Text("当前版本Public1.0\r\n开源1.0版本,仅提供最基础的吉他市场查询功能。\r\n开发者邮箱:[email protected]\r\n感谢大家的选择和使用!\r\n获取更多功能联系开发者") .Done(); } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); deviljin = new character(); // instance of my class deviljin.hair_black = true; // initiating a member of the instance }
public static byte[] GuildStorageGold(character c) { PacketWriter Writer = new PacketWriter(); Writer.Create(Systems.SERVER_GUILD_STORAGE_GOLD); Writer.LWord(c.Network.Guild.StorageGold); return(Writer.GetBytes()); }
public void DetailsValidId() { // act character actual = (character)((ViewResult)controller.Details("testName2")).Model; // assert Assert.AreEqual(characters[1], actual); }
private void OnSendMail(WorldSession session, PCSendMail packet) { character reciever = Characters.SingleOrDefault(c => c.name == packet.Reciever); var result = MailResponseResult.MAIL_OK; if (reciever == null) { result = MailResponseResult.MAIL_ERR_RECIPIENT_NOT_FOUND; } else if (reciever.name == session.Player.Name) { result = MailResponseResult.MAIL_ERR_CANNOT_SEND_TO_SELF; } else if (session.Player.Character.money < packet.Money + 30) { result = MailResponseResult.MAIL_ERR_NOT_ENOUGH_MONEY; } else if (Mails.Where(m => m.receiver == reciever.guid).ToArray().Length > 100) { result = MailResponseResult.MAIL_ERR_RECIPIENT_CAP_REACHED; } else if (GetFaction(reciever) != GetFaction(session.Player.Character)) { result = MailResponseResult.MAIL_ERR_NOT_YOUR_TEAM; } if (packet.ItemGUID > 0) { throw new NotImplementedException(); } session.SendPacket(new PSSendMailResult(0, MailResponseType.MAIL_SEND, result)); if (result == MailResponseResult.MAIL_OK) { session.Player.Character.money -= (int)(packet.Money + 30); Mails.Add( new mail() { messageType = (byte)MailMessageType.MAIL_NORMAL, deliver_time = 0, expire_time = (int)GameUnits.DAY * 30, @checked = packet.Body != "" ? (byte)MailCheckMask.MAIL_CHECK_MASK_HAS_BODY : (byte)MailCheckMask.MAIL_CHECK_MASK_COPIED, cod = (int)packet.COD, has_items = 0, itemTextId = 0, money = (int)packet.Money, sender = session.Player.Character.guid, receiver = reciever.guid, subject = packet.Subject, stationery = (sbyte)MailStationery.MAIL_STATIONERY_DEFAULT, mailTemplateId = 0 }); } }
public static byte[] SendFriendList(byte count, character c) { PacketWriter Writer = new PacketWriter(); Writer.Create(Systems.SERVER_SEND_FRIEND_LIST); //Groups Systems.MsSQL ms = new Systems.MsSQL("SELECT * FROM friends_groups WHERE playerid='"+ c.Information.CharacterID +"'"); int groupcount = ms.Count(); groupcount = groupcount + 1; Writer.Byte((byte)groupcount); Writer.Word(0); Writer.Text("NonClassified"); int groupid = 0; using (System.Data.SqlClient.SqlDataReader reader = ms.Read()) { while (reader.Read()) { string groupname = reader.GetString(2); groupid = groupid +1; Writer.Word((short)groupid); Writer.Text(groupname); } } //Friends Writer.Byte(count); ms = new Systems.MsSQL("SELECT * FROM friends WHERE owner='"+ c.Information.CharacterID +"'"); using (System.Data.SqlClient.SqlDataReader reader = ms.Read()) { while (reader.Read()) { int model = Systems.MsSQL.GetDataInt("SELECT * FROM character WHERE id='" + reader.GetInt32(2) + "'", "chartype"); int status = Systems.MsSQL.GetDataInt("SELECT * FROM character WHERE id='" + reader.GetInt32(2) + "'", "Online"); int charid = Systems.MsSQL.GetDataInt("SELECT * FROM character WHERE id='" + reader.GetInt32(2) + "'", "id"); string charname = Systems.MsSQL.GetData("SELECT * FROM character WHERE id='" + reader.GetInt32(2) + "'", "name"); string groupname = reader.GetString(4); Writer.DWord(charid); // Friend CharID Writer.Text(charname); // Friend Name Writer.DWord(model); // Friend Model Type if (groupname == "none") Writer.Word(0); else Writer.Word(groupid); if (status != 0) { Writer.Byte(0); // Friend is online } else { Writer.Byte(1); // Inverted, Friend is offline } } reader.Close(); } ms.Close(); return Writer.GetBytes(); }
public PlayerEntity AddPlayerEntity(character character, WorldSession session) { ObjectGUID guid = new ObjectGUID((ulong)character.guid, TypeID.TYPEID_PLAYER); PlayerEntity playerEntity = new PlayerEntity(guid, character, session); PlayerEntities.Add(playerEntity); playerEntity.Setup(); return(playerEntity); }
private void Start() { Initialize(); stateMachine.ChangeState(FirstCharacter.Instance); currentChar = character.FirstCharacter; AssignCharacterControls(); InitializeDataCharacther(); }
// Start is called before the first frame update // Manage icons and button click on this slot private void Awake() { this.name = null; this.currentStack = 0; isDeleted = false; inventory = GameObject.FindGameObjectWithTag("player").GetComponent <Inventory>(); player = FindObjectOfType <character>(); btnX = removeButton.GetComponent <Button>(); }
private List <Spell> GetSpellsFromDatabase(character character) { List <Spell> Spells = new List <Spell>(); var dbspells = CharacterSpells.Where(cs => cs.guid == character.guid).ToList(); dbspells.ForEach(characterSpell => Spells.Add(CreateSpell((int)characterSpell.spell))); return(Spells); }
private void Awake() { rb = GetComponent <Rigidbody>(); player = GameObject.FindGameObjectWithTag("Player"); pct = player.GetComponent <character>(); ect = GetComponent <character>(); enemy = GetComponent <Animator>(); }
public static byte[] JoinFormedRequest(character requesting, character owner) { //Create new packet writer PacketWriter Writer = new PacketWriter(); //Add opcode for packet Writer.Create(Systems.SERVER_PARTY_JOIN_FORMED); //Character model information (Req). Writer.DWord(requesting.Information.Model); //Leader id Writer.DWord(requesting.Information.UniqueID); //Party id Writer.DWord(owner.Network.Party.ptid); //Static Writer.DWord(0); Writer.DWord(0); Writer.Byte(0); Writer.Byte(0xFF); //Write character unique id Writer.DWord(requesting.Information.UniqueID); //Write character name Writer.Text(requesting.Information.Name); //Write model information Writer.DWord(requesting.Information.Model); //Write level information Writer.Byte(requesting.Information.Level); //Static Writer.Byte(0xAA); //X and Y Sector Writer.Byte(requesting.Position.xSec); Writer.Byte(requesting.Position.ySec); //Static Writer.Word(0); Writer.Word(0); Writer.Word(0); Writer.Word(1); Writer.Word(1); //If character is in a guild if (requesting.Network.Guild != null) { //Write guild name Writer.Text(requesting.Network.Guild.Name); } //If character is not in a guild else { //Write word value 0 Writer.Word(0); } //Static Writer.Byte(0); Writer.DWord(0); Writer.DWord(0); //Return all bytes to send return(Writer.GetBytes()); }
public PSNameQueryResponse(character character) : base(WorldOpcodes.SMSG_NAME_QUERY_RESPONSE) { this.Write((ulong)character.guid); this.Write(Encoding.UTF8.GetBytes(character.name + '\0')); this.Write((byte)0); // realm name for cross realm BG usage this.Write((uint)character.race); this.Write((uint)character.guid); this.Write((uint)character.@class); }
public void CheckCharStats(character ch) { if (ch.Stat.AttackPower < 0) Math.Abs(ch.Stat.AttackPower); if (ch.Stat.Hit < 0) Math.Abs(ch.Stat.Hit); if (ch.Stat.MagDef < 0) Math.Abs(ch.Stat.MagDef); if (ch.Stat.PhyDef < 0) Math.Abs(ch.Stat.PhyDef); if (ch.Stat.MinPhyAttack < 0) Math.Abs(ch.Stat.MinPhyAttack); if (ch.Stat.MinMagAttack < 0) Math.Abs(ch.Stat.MinMagAttack); if (ch.Stat.MaxPhyAttack < 0) Math.Abs(ch.Stat.MaxPhyAttack); if (ch.Stat.MaxMagAttack < 0) Math.Abs(ch.Stat.MaxMagAttack); if (ch.Information.XP < 0) Math.Abs(ch.Information.XP); }
public float calstring(string text, Font font, float fontsize, SolidBrush brush, int align) { if (text == null || text == "" || align == 0) return 0; char[] chars = text.ToCharArray(); float maxy = 1; float strLen = 0; foreach (char cha in chars) { int charno = (int)cha; int charid = charno ^ (int)(fontsize * 1000) ^ brush.Color.ToArgb(); if (!charDict.ContainsKey(charid)) { charDict[charid] = new character() { bitmap = new Bitmap(128, 128, System.Drawing.Imaging.PixelFormat.Format32bppArgb), size = (int)fontsize }; charDict[charid].bitmap.MakeTransparent(Color.Transparent); //charbitmaptexid float maxx = this.Width / 150; // for space // create bitmap using (Graphics gfx = Graphics.FromImage(charDict[charid].bitmap)) { pth.Reset(); if (text != null) pth.AddString(cha + "", font.FontFamily, 0, fontsize + 5, new Point((int)0, (int)0), StringFormat.GenericTypographic); gfx.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; gfx.DrawPath(P, pth); //Draw the face gfx.FillPath(brush, pth); if (pth.PointCount > 0) { foreach (PointF pnt in pth.PathPoints) { if (pnt.X > maxx) maxx = pnt.X; if (pnt.Y > maxy) maxy = pnt.Y; } } } charDict[charid].width = (int)(maxx + 2); //charbitmaps[charid] = charbitmaps[charid].Clone(new RectangleF(0, 0, maxx + 2, maxy + 2), charbitmaps[charid].PixelFormat); //charbitmaps[charno * (int)fontsize].Save(charno + " " + (int)fontsize + ".png"); // create texture int textureId; GL.TexEnv(TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvMode, (float)TextureEnvModeCombine.Replace);//Important, or wrong color on some computers Bitmap bitmap = charDict[charid].bitmap; GL.GenTextures(1, out textureId); GL.BindTexture(TextureTarget.Texture2D, textureId); BitmapData data = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0, OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); GL.Finish(); bitmap.UnlockBits(data); charDict[charid].gltextureid = textureId; } float scale = 1.0f; strLen += charDict[charid].width * scale; } if (align == 1) { strLen = strLen / 2; } return strLen; }
public void LoginScreen() { try { PacketReader Reader = new PacketReader(PacketInformation.buffer); string name = Reader.Text(); Reader.Close(); #region Check name before entering (exploit) Systems.MsSQL ms = new Systems.MsSQL("SELECT name FROM character WHERE account='" + Player.AccountName + "' AND name='" + name + "'"); int checkinfo = ms.Count(); if (checkinfo == 0) { return; } #endregion else { Character = new character(); Character.Information.Name = name; Character.Account.ID = Player.ID; PlayerDataLoad(); LoadJobData(); checkSameChar(name, Character.Information.UniqueID); CheckCharStats(Character); clients.Add(this); client.Send(Packet.LoginScreen()); client.Send(Packet.StartPlayerLoad()); client.Send(Packet.Load(Character)); client.Send(Packet.EndPlayerLoad()); client.Send(Packet.PlayerUnknowPack(Character.Information.UniqueID)); client.Send(Packet.UnknownPacket()); OpenTimer(); } } catch (Exception ex) { Console.WriteLine("Error login by: {0}",Character.Information.Name); deBug.Write(ex); Console.WriteLine(ex); } }
public void UpdateHp(character Character) { Send(Packet.UpdatePlayer(Character.Information.UniqueID, 0x20, 1, Character.Stat.SecondHp)); }
void drawstring(HUD e, string text, Font font, float fontsize, SolidBrush brush, float x, float y) { if (!opengl) { drawstring(graphicsObjectGDIP, text, font, fontsize, brush, x, y); return; } if (text == null || text == "") return; /* OpenTK.Graphics.Begin(); GL.PushMatrix(); GL.Translate(x, y, 0); printer.Print(text, font, c); GL.PopMatrix(); printer.End(); */ char[] chars = text.ToCharArray(); float maxy = 1; foreach (char cha in chars) { int charno = (int)cha; int charid = charno ^ (int)(fontsize * 1000) ^ brush.Color.ToArgb(); if (!charDict.ContainsKey(charid)) { charDict[charid] = new character() { bitmap = new Bitmap(128, 128, System.Drawing.Imaging.PixelFormat.Format32bppArgb) , size = (int)fontsize }; charDict[charid].bitmap.MakeTransparent(Color.Transparent); //charbitmaptexid float maxx = this.Width / 150; // for space // create bitmap using (Graphics gfx = Graphics.FromImage(charDict[charid].bitmap)) { pth.Reset(); if (text != null) pth.AddString(cha + "", font.FontFamily, 0, fontsize + 5, new Point((int)0, (int)0), StringFormat.GenericTypographic); gfx.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; gfx.DrawPath(P, pth); //Draw the face gfx.FillPath(brush, pth); if (pth.PointCount > 0) { foreach (PointF pnt in pth.PathPoints) { if (pnt.X > maxx) maxx = pnt.X; if (pnt.Y > maxy) maxy = pnt.Y; } } } charDict[charid].width = (int)(maxx + 2); //charbitmaps[charid] = charbitmaps[charid].Clone(new RectangleF(0, 0, maxx + 2, maxy + 2), charbitmaps[charid].PixelFormat); //charbitmaps[charno * (int)fontsize].Save(charno + " " + (int)fontsize + ".png"); // create texture int textureId; GL.TexEnv(TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvMode, (float)TextureEnvModeCombine.Replace);//Important, or wrong color on some computers Bitmap bitmap = charDict[charid].bitmap; GL.GenTextures(1, out textureId); GL.BindTexture(TextureTarget.Texture2D, textureId); BitmapData data = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0, OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); // GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Nearest); //GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Nearest); GL.Finish(); bitmap.UnlockBits(data); charDict[charid].gltextureid = textureId; } //GL.Enable(EnableCap.Blend); GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); GL.Enable(EnableCap.Texture2D); GL.BindTexture(TextureTarget.Texture2D, charDict[charid].gltextureid); float scale = 1.0f; GL.Begin(PrimitiveType.Quads); GL.TexCoord2(0, 0); GL.Vertex2(x, y); GL.TexCoord2(1, 0); GL.Vertex2(x + charDict[charid].bitmap.Width * scale, y); GL.TexCoord2(1, 1); GL.Vertex2(x + charDict[charid].bitmap.Width * scale, y + charDict[charid].bitmap.Height * scale); GL.TexCoord2(0, 1); GL.Vertex2(x + 0, y + charDict[charid].bitmap.Height * scale); GL.End(); //GL.Disable(EnableCap.Blend); GL.Disable(EnableCap.Texture2D); x += charDict[charid].width * scale; } }
// Use this for initialization void Start() { _camera = Camera.main; screenWidth = _camera.pixelWidth; screenHeight = _camera.pixelHeight; enemies = new enemy[20]; enemynumber = 0; nowenemy = 0; mines = new mine[1000]; minenumber = 0; nowmine = 0; dmap = new map (); StreamReader sr= new StreamReader("playinfo.txt"); mode = sr.ReadLine(); stage = int.Parse(sr.ReadLine()); sr.Close(); sr = new StreamReader(mode+"map\\"+stage.ToString()+".txt"); string nextstring=""; char[] cstring= new char[100]; for (int y=0; y<15; y++) { nextstring=sr.ReadLine(); cstring=nextstring.ToCharArray(); for (int x=0; x<15; x++) { dmap.mapparts [y, x]=int.Parse(cstring[x].ToString()); } } nextstring=sr.ReadLine(); cstring=nextstring.ToCharArray(); for (int x=0; x<5; x++) { dmap.mine[x]=int.Parse(cstring[2*x].ToString())*10+int.Parse(cstring[2*x+1].ToString()); } nextstring=sr.ReadLine(); cstring=nextstring.ToCharArray(); for (int x=0; x<5; x++) { if(cstring[x]=='0') dmap.enemy[x]=false; else dmap.enemy[x]=true; } dmap.playerx=int.Parse(sr.ReadLine()); dmap.playery=int.Parse(sr.ReadLine()); sr.Close(); for (int y=0; y<15; y++) { for (int x=0; x<15; x++) { Vector3 nextpoint= new Vector3((float)(-3+0.668*x),(float)(4.67-0.668*y)); Instantiate (maps [dmap.mapparts[y,x]], nextpoint, transform.rotation); } } player = GameObject.Find ("character").GetComponent<character>(); player.positionx = dmap.playerx; player.positiony = dmap.playery; turn = dmap.turn; }
public static byte[] SendGuildInfo2(character c) { PacketWriter Writer = new PacketWriter(); Writer.Create(Systems.SERVER_GUILD_ONLINE); Writer.DWord(c.Information.UniqueID); // Guildmaster ID Writer.DWord(c.Network.Guild.Guildid); // Guild ID Writer.Text(c.Network.Guild.Name); if (c.Network.Guild.GrantName != "") Writer.Text(c.Network.Guild.GrantName); // Guildmaster grand name len else Writer.Word(0); Writer.DWord(0); // ? Writer.DWord(0); // ? Writer.DWord(0); // ? Amount of guilds in union ? Writer.Byte(1); // ? Writer.Byte(1); return Writer.GetBytes(); }
public void GameStart(int playable) { this.playable = (character)playable; Application.LoadLevel("Story"); }
public static DarkEmu_GameServer.character._usingSkill Info(int SkillID, character Character) { //Create new global information DarkEmu_GameServer.character._usingSkill info = new DarkEmu_GameServer.character._usingSkill(); //Wrap our function inside a catcher try { //Set default skill information info.MainSkill = SkillID; info.SkillID = new int[10]; info.FoundID = new int[10]; info.TargetType = new bool[10]; info.NumberOfAttack = NumberAttack(SkillID, ref info.SkillID); info.Targethits = 1; info.Distance = Convert.ToByte(Data.SkillBase[SkillID].Distance); info.Tdistance = 0; info.canUse = true; //Switch on skills series switch (Data.SkillBase[SkillID].Series) { case "SKILL_EU_ROG_TRANSFORMA_MASK_A": break; #region Bicheon #region Smashing Series case "SKILL_CH_SWORD_SMASH_A": info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_SMASH_B": info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_SMASH_C": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_SMASH_D": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_SMASH_E": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_SMASH_F": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; break; #endregion #region Chain Sword Attack Series case "SKILL_CH_SWORD_CHAIN_A": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_CHAIN_B": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_CHAIN_C": info.NumberOfAttack = 5; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_CHAIN_D": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_CHAIN_E": info.NumberOfAttack = 5; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_CHAIN_F": info.NumberOfAttack = 6; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_CHAIN_G": info.NumberOfAttack = 6; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SWORD_CHAIN_H": info.NumberOfAttack = 7; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.SkillID[7] = SkillID; info.Instant = 0; info.P_M = false; break; #endregion #region Blade Force Series case "SKILL_CH_SWORD_GEOMGI_A": info.Instant = 0; info.Distance = 4; info.P_M = false; break; case "SKILL_CH_SWORD_GEOMGI_B": info.Instant = 0; info.Distance = 4; info.P_M = false; break; case "SKILL_CH_SWORD_GEOMGI_C": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.Distance = 4; info.P_M = false; break; case "SKILL_CH_SWORD_GEOMGI_D": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.Distance = 4; info.P_M = false; break; case "SKILL_CH_SWORD_GEOMGI_E": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.Distance = 4; info.P_M = false; break; case "SKILL_CH_SWORD_GEOMGI_F": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.Distance = 4; info.P_M = false; break; #endregion #region Hidden Blade Series case "SKILL_CH_SWORD_KNOCKDOWN_A": info.Instant = 0; info.P_M = false; info.OzelEffect = 4; break; case "SKILL_CH_SWORD_KNOCKDOWN_B": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; info.OzelEffect = 4; break; case "SKILL_CH_SWORD_KNOCKDOWN_C": info.Instant = 0; info.P_M = false; info.OzelEffect = 4; break; case "SKILL_CH_SWORD_KNOCKDOWN_D": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 3; info.OzelEffect = 4; break; case "SKILL_CH_SWORD_KNOCKDOWN_E": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; info.OzelEffect = 5; break; #endregion #region Killing Heaven Blade Series case "SKILL_CH_SWORD_DOWNATTACK_A": info.Instant = 0; info.P_M = false; info.OzelEffect = 5; break; case "SKILL_CH_SWORD_DOWNATTACK_B": info.Instant = 0; info.P_M = false; info.OzelEffect = 5; break; case "SKILL_CH_SWORD_DOWNATTACK_C": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; info.OzelEffect = 5; break; case "SKILL_CH_SWORD_DOWNATTACK_D": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; info.OzelEffect = 5; break; case "SKILL_CH_SWORD_DOWNATTACK_E": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; info.OzelEffect = 5; break; case "SKILL_CH_SWORD_DOWNATTACK_F": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; info.OzelEffect = 5; break; #endregion #region Sword Dance Series case "SKILL_CH_SWORD_SPECIAL_A": info.Instant = 0; info.Distance = 4; info.P_M = false; info.Targethits = 3; info.Tdistance = 7; break; case "SKILL_CH_SWORD_SPECIAL_B": info.Instant = 0; info.Distance = 4; info.P_M = false; info.Targethits = 3; info.Tdistance = 15; break; case "SKILL_CH_SWORD_SPECIAL_C": info.Instant = 0; info.Distance = 4; info.P_M = false; info.Targethits = 3; info.Tdistance = 15; break; case "SKILL_CH_SWORD_SPECIAL_D": info.Instant = 0; info.Distance = 4; info.P_M = false; info.Targethits = 4; info.Tdistance = 15; break; case "SKILL_CH_SWORD_SPECIAL_E": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.Distance = 4; info.P_M = false; info.Targethits = 3; info.Tdistance = 15; break; #endregion #endregion #region Heuksal #region Annihilating Blade Series case "SKILL_CH_SPEAR_PIERCE_A": info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_PIERCE_B": info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_PIERCE_C": info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_PIERCE_D": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_PIERCE_E": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_PIERCE_F": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; #endregion #region Heuksal Spear Series case "SKILL_CH_SPEAR_FRONTAREA_A": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 1; break; case "SKILL_CH_SPEAR_FRONTAREA_B": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 1; break; case "SKILL_CH_SPEAR_FRONTAREA_C": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 1; break; case "SKILL_CH_SPEAR_FRONTAREA_D": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; break; case "SKILL_CH_SPEAR_FRONTAREA_E": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; break; case "SKILL_CH_SPEAR_FRONTAREA_F": info.Instant = 0; info.P_M = false; info.Targethits = 4; info.Tdistance = 3; break; #endregion #region Soul Departs Spear Series case "SKILL_CH_SPEAR_STUN_A": info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_STUN_B": info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_STUN_C": info.Instant = 0; info.P_M = false; info.Targethits = 2; break; case "SKILL_CH_SPEAR_STUN_D": info.Instant = 0; info.P_M = false; info.Targethits = 2; break; case "SKILL_CH_SPEAR_STUN_E": info.Instant = 0; info.P_M = false; info.Targethits = 3; break; case "SKILL_CH_SPEAR_STUN_F": info.Instant = 0; info.P_M = false; info.Targethits = 3; break; #endregion #region Ghost Spear Attack Series case "SKILL_CH_SPEAR_ROUNDAREA_A": info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 2; break; case "SKILL_CH_SPEAR_ROUNDAREA_B": info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 3; break; case "SKILL_CH_SPEAR_ROUNDAREA_C": info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 4; break; case "SKILL_CH_SPEAR_ROUNDAREA_D": info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 5; break; case "SKILL_CH_SPEAR_ROUNDAREA_E": info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 5; break; case "SKILL_CH_SPEAR_ROUNDAREA_F": info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 5; break; #endregion #region Chain Spear Attack Series case "SKILL_CH_SPEAR_CHAIN_A": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_CHAIN_B": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_CHAIN_C": info.NumberOfAttack = 5; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; break; case "SKILL_CH_SPEAR_CHAIN_D": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_CH_SPEAR_CHAIN_E": info.NumberOfAttack = 6; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 3; break; case "SKILL_CH_SPEAR_CHAIN_F": info.NumberOfAttack = 6; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 3; break; case "SKILL_CH_SPEAR_CHAIN_G": info.NumberOfAttack = 7; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.SkillID[7] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 3; break; #endregion #region Flying Dragon Spear Series case "SKILL_CH_SPEAR_SHOOT_A": info.Instant = 0; info.Distance = 6; info.P_M = false; break; case "SKILL_CH_SPEAR_SHOOT_B": info.Instant = 0; info.Distance = 6; info.P_M = false; break; case "SKILL_CH_SPEAR_SHOOT_C": info.Instant = 0; info.Distance = 6; info.P_M = false; break; case "SKILL_CH_SPEAR_SHOOT_D": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.Distance = 6; info.P_M = false; break; case "SKILL_CH_SPEAR_SHOOT_E": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.Distance = 6; info.P_M = false; break; #endregion #endregion #region Pacheon #region Anti Devil Bow Series case "SKILL_CH_BOW_CRITICAL_A": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CRITICAL_B": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CRITICAL_C": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CRITICAL_D": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CRITICAL_E": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CRITICAL_F": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CRITICAL_G": info.Instant = 2; info.Distance = 15; info.P_M = false; break; #endregion #region Arrow Combo Attack Series case "SKILL_CH_BOW_CHAIN_A": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CHAIN_B": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CHAIN_C": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CHAIN_D": info.NumberOfAttack = 5; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.Instant = 0; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CHAIN_E": info.NumberOfAttack = 6; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.Instant = 0; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_CHAIN_F": info.NumberOfAttack = 7; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.SkillID[7] = SkillID; info.Instant = 0; info.Distance = 15; info.P_M = false; break; #endregion #region Autumn Wind Arrow Series case "SKILL_CH_BOW_PIERCE_A": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_PIERCE_B": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_PIERCE_C": info.Instant = 2; info.Distance = 7; info.P_M = false; break; case "SKILL_CH_BOW_PIERCE_D": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_PIERCE_E": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_PIERCE_F": info.Instant = 2; info.Distance = 15; info.P_M = false; break; #endregion #region Explosion Arrow Series case "SKILL_CH_BOW_AREA_A": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 4; info.Tdistance = 4; break; case "SKILL_CH_BOW_AREA_B": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 4; info.Tdistance = 4; break; case "SKILL_CH_BOW_AREA_C": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 4; info.Tdistance = 4; break; case "SKILL_CH_BOW_AREA_D": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 4; info.Tdistance = 5; break; case "SKILL_CH_BOW_AREA_E": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 4; info.Tdistance = 6; break; #endregion #region Strong Bow Series case "SKILL_CH_BOW_POWER_A": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_POWER_B": info.Instant = 2; info.Distance = 15; info.P_M = false; break; case "SKILL_CH_BOW_POWER_C": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Tdistance = 4; break; case "SKILL_CH_BOW_POWER_D": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Tdistance = 5; break; case "SKILL_CH_BOW_POWER_E": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Tdistance = 6; break; #endregion #region Mind Bow Series case "SKILL_CH_BOW_SPECIAL_A": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 2; info.Tdistance = 20; break; case "SKILL_CH_BOW_SPECIAL_B": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 3; info.Tdistance = 22; break; case "SKILL_CH_BOW_SPECIAL_C": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 4; info.Tdistance = 23; break; case "SKILL_CH_BOW_SPECIAL_D": info.Instant = 2; info.Distance = 15; info.P_M = false; info.Targethits = 5; info.Tdistance = 24; break; #endregion #endregion #region Cold #region Snow Storm Series case "SKILL_CH_COLD_GIGONGSUL_A": info.Instant = 2; info.Distance = 15; info.P_M = true; break; case "SKILL_CH_COLD_GIGONGSUL_B": info.Instant = 2; info.Distance = 15; info.P_M = true; info.Targethits = 5; info.Tdistance = 6; break; case "SKILL_CH_COLD_GIGONGSUL_C": info.Instant = 2; info.Distance = 15; info.P_M = true; break; case "SKILL_CH_COLD_GIGONGSUL_D": info.Instant = 2; info.Distance = 15; info.P_M = true; info.Targethits = 5; info.Tdistance = 7; break; case "SKILL_CH_COLD_GIGONGSUL_E": info.Instant = 2; info.Distance = 15; info.P_M = true; break; #endregion #endregion #region Light #region Lion Shout Series case "SKILL_CH_LIGHTNING_CHUNDUNG_A": case "SKILL_CH_LIGHTNING_CHUNDUNG_B": case "SKILL_CH_LIGHTNING_CHUNDUNG_C": case "SKILL_CH_LIGHTNING_CHUNDUNG_D": case "SKILL_CH_LIGHTNING_CHUNDUNG_E": case "SKILL_CH_LIGHTNING_CHUNDUNG_F": info.Instant = 0; info.Distance = 10; info.P_M = true; info.Targethits = 3; info.Tdistance = 2; break; #endregion #region Thunderbolt Force Series case "SKILL_CH_LIGHTNING_STORM_A": case "SKILL_CH_LIGHTNING_STORM_B": case "SKILL_CH_LIGHTNING_STORM_C": case "SKILL_CH_LIGHTNING_STORM_D": case "SKILL_CH_LIGHTNING_STORM_E": info.Instant = 2; info.Distance = 12; info.P_M = true; info.Targethits = 3; info.Tdistance = 10; break; #endregion #endregion #region Fire #region Flame Wave Series case "SKILL_CH_FIRE_GIGONGSUL_A": case "SKILL_CH_FIRE_GIGONGSUL_B": case "SKILL_CH_FIRE_GIGONGSUL_D": case "SKILL_CH_FIRE_GIGONGSUL_E": case "SKILL_CH_FIRE_GIGONGSUL_G": info.Instant = 2; info.Distance = 12; info.P_M = true; break; case "SKILL_CH_FIRE_GIGONGSUL_F": case "SKILL_CH_FIRE_GIGONGSUL_C": info.Instant = 2; info.Distance = 12; info.P_M = true; info.Targethits = 3; info.Tdistance = 6; break; #endregion #endregion #region Force case "SKILL_CH_WATER_CURE_A": case "SKILL_CH_WATER_CURE_B": case "SKILL_CH_WATER_CURE_C": case "SKILL_CH_WATER_CURE_D": case "SKILL_CH_WATER_CURE_E": case "SKILL_CH_WATER_CURE_F": case "SKILL_CH_WATER_HEAL_A": case "SKILL_CH_WATER_HEAL_B": case "SKILL_CH_WATER_HEAL_C": case "SKILL_CH_WATER_HEAL_D": case "SKILL_CH_WATER_HEAL_E": case "SKILL_CH_WATER_HEAL_F": if (Character.Action.Object != null || Character.Action.Object.GetType().ToString() == "DarkEmu_GameServer.Systems") info.canUse = false; break; case "SKILL_CH_WATER_CANCEL_A": case "SKILL_CH_WATER_CANCEL_B": case "SKILL_CH_WATER_CANCEL_C": case "SKILL_CH_WATER_CANCEL_D": case "SKILL_CH_WATER_CANCEL_E": case "SKILL_CH_WATER_CANCEL_F": case "SKILL_CH_WATER_CANCEL_G": case "SKILL_CH_WATER_CANCEL_H": if (Character.Action.Object != null || Character.Action.Object.GetType().ToString() == "DarkEmu_GameServer.Systems") info.canUse = false; break; case "SKILL_CH_WATER_RESURRECTION_A": case "SKILL_CH_WATER_RESURRECTION_B": case "SKILL_CH_WATER_RESURRECTION_C": case "SKILL_CH_WATER_RESURRECTION_D": case "SKILL_CH_WATER_RESURRECTION_E": if (Character.Action.Object != null || Character.Action.Object.GetType().ToString() == "DarkEmu_GameServer.Systems") info.canUse = false; break; #endregion #region Europe #region Melee #region Europe Warrior #region One-Handed case "SKILL_EU_WARRIOR_ONEHANDA_STRIKE_A": info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_ONEHANDA_SHIELD_A": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; break; case "SKILL_EU_WARRIOR_ONEHANDA_SHIELD_B": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; break; case "SKILL_EU_WARRIOR_ONEHANDA_PIERCE_A": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_ONEHANDA_PIERCE_B": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_ONEHANDA_CRITICAL_A": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_ONEHANDA_CRITICAL_B": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.P_M = false; break; #endregion #region Two-Handed case "SKILL_EU_WARRIOR_TWOHANDA_DASH_A": info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 1; break; case "SKILL_EU_WARRIOR_TWOHANDA_RISING_A": info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_TWOHANDA_CHARGE_A": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_TWOHANDA_CHARGE_B": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_TWOHANDA_CRY_A": info.Instant = 0; info.P_M = false; info.Targethits = 3; break; case "SKILL_EU_WARRIOR_TWOHANDA_CRY_B": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 3; break; #endregion #region Axe case "SKILL_EU_WARRIOR_DUALA_CROSS_A": info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_DUALA_TWIST_A": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_DUALA_TWIST_B": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_WARRIOR_DUALA_STUN_A": info.Instant = 0; info.P_M = false; info.Targethits = 8; info.Tdistance = 5; break; case "SKILL_EU_WARRIOR_DUALA_COUNTER_A": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; break; case "SKILL_EU_WARRIOR_DUALA_COUNTER_B": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 2; break; case "SKILL_EU_WARRIOR_DUALA_WHIRLWIND_A": info.NumberOfAttack = 4; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 1; break; case "SKILL_EU_WARRIOR_DUALA_WHIRLWIND_B": info.NumberOfAttack = 5; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.Instant = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 1; break; #endregion #region Warrior Others case "SKILL_EU_WARRIOR_FRENZYA_TOUNT_A": info.Instant = 0; info.Distance = 15; info.P_M = false; info.Targethits = 3; info.Tdistance = 5; break; case "SKILL_EU_WARRIOR_FRENZYA_TOUNT_SPRINT_A": info.Instant = 0; info.Distance = 15; info.P_M = false; break; #endregion #endregion #region Europe Rogue #region Rogue case "SKILL_EU_ROG_BOWA_POWER_A": info.Instant = 1; info.Distance = 15; info.P_M = false; break; case "SKILL_EU_ROG_BOWA_POWER_B": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 1; info.Distance = 15; info.P_M = false; break; case "SKILL_EU_ROG_BOWA_FAST_A": info.Instant = 0; info.Distance = 30; info.P_M = false; break; case "SKILL_EU_ROG_BOWA_FAST_B": info.Instant = 0; info.Distance = 30; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; case "SKILL_EU_ROG_BOWA_RANGE_A": info.Instant = 1; info.Distance = 22; info.P_M = false; break; case "SKILL_EU_ROG_BOWA_RANGE_B": info.Instant = 1; info.Distance = 22; info.P_M = false; break; case "SKILL_EU_ROG_BOWA_KNOCK_A": info.Instant = 1; info.Distance = 15; info.P_M = false; break; case "SKILL_EU_ROG_BOWA_KNOCK_B": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 1; info.Distance = 15; info.P_M = false; break; #endregion #region Dagger case "SKILL_EU_ROG_DAGGERA_CHAIN_A": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_ROG_DAGGERA_WOUND_A": info.NumberOfAttack = 2; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_ROG_DAGGERA_WOUND_B": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_ROG_DAGGERA_SCREW_A": info.Instant = 1; info.P_M = false; break; case "SKILL_EU_ROG_DAGGERA_SLASH_A": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_ROG_DAGGERA_SLASH_B": info.NumberOfAttack = 5; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.Instant = 0; info.P_M = false; break; case "SKILL_EU_ROG_STEALTHA_ATTACK_A": info.Instant = 0; info.P_M = false; break; #endregion #endregion #endregion #region Caster #region Europe Wizard #region Earth case "SKILL_EU_WIZARD_EARTHA_POINT_A": info.Instant = 1; info.Distance = 5; info.P_M = true; info.Targethits = 5; info.Tdistance = 5; break; case "SKILL_EU_WIZARD_EARTHA_POINT_B": info.Instant = 1; info.Distance = 5; info.P_M = true; info.Targethits = 5; info.Tdistance = 5; break; case "SKILL_EU_WIZARD_EARTHA_AREA_A": info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 5; info.Tdistance = 10; break; case "SKILL_EU_WIZARD_EARTHA_AREA_B": info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 5; info.Tdistance = 10; break; case "SKILL_EU_WIZARD_EARTHA_ABNORMAL_A": info.Instant = 1; info.Distance = 10; info.P_M = true; break; case "SKILL_EU_WIZARD_EARTHA_ABNORMAL_B": info.Instant = 1; info.Distance = 10; info.P_M = true; info.Targethits = 3; info.Tdistance = 5; break; #endregion #region Cold case "SKILL_EU_WIZARD_COLDA_POINT_A": info.Instant = 1; info.Distance = 15; info.P_M = true; break; case "SKILL_EU_WIZARD_COLDA_POINT_B": info.NumberOfAttack = 3; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.Instant = 1; info.Distance = 15; info.P_M = true; break; case "SKILL_EU_WIZARD_COLDA_AREA_A": info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 5; info.Tdistance = 10; break; case "SKILL_EU_WIZARD_COLDA_AREA_B": info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 5; info.Tdistance = 15; break; case "SKILL_EU_WIZARD_COLDA_MANADRY_A": info.Instant = 1; info.Distance = 10; info.P_M = true; break; case "SKILL_EU_WIZARD_COLDA_MANADRY_B": info.Instant = 1; info.Distance = 10; info.P_M = true; info.Targethits = 3; info.Tdistance = 8; break; #endregion #region Fire case "SKILL_EU_WIZARD_FIREA_POINT_A": info.Instant = 1; info.Distance = 15; info.P_M = true; break; case "SKILL_EU_WIZARD_FIREA_POINT_B": info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 3; info.Tdistance = 3; break; case "SKILL_EU_WIZARD_FIREA_SPRAY_A": info.NumberOfAttack = 7; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.SkillID[7] = SkillID; info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 3; break; case "SKILL_EU_WIZARD_FIREA_SPRAY_B": info.NumberOfAttack = 7; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.SkillID[7] = SkillID; info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 3; break; case "SKILL_EU_WIZARD_FIREA_TRAP_A": info.Instant = 1; info.Distance = 10; info.P_M = true; info.Targethits = 5; info.Tdistance = 7; break; case "SKILL_EU_WIZARD_FIREA_TRAP_B": info.Instant = 1; info.Distance = 10; info.P_M = true; info.Targethits = 5; info.Tdistance = 7; break; #endregion #region Light case "SKILL_EU_WIZARD_PSYCHICA_LIGHT_A": info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 2; info.Tdistance = 10; break; case "SKILL_EU_WIZARD_PSYCHICA_LIGHT_B": info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 3; info.Tdistance = 10; break; case "SKILL_EU_WIZARD_PSYCHICA_AREA_A": info.NumberOfAttack = 6; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 5; info.Tdistance = 10; break; case "SKILL_EU_WIZARD_PSYCHICA_AREA_B": info.NumberOfAttack = 6; info.SkillID[1] = SkillID; info.SkillID[2] = SkillID; info.SkillID[3] = SkillID; info.SkillID[4] = SkillID; info.SkillID[5] = SkillID; info.SkillID[6] = SkillID; info.Instant = 1; info.Distance = 15; info.P_M = true; info.Targethits = 5; info.Tdistance = 10; break; case "SKILL_EU_WIZARD_PSYCHICA_UNTOUCH_A": info.Instant = 1; info.Distance = 10; info.P_M = true; break; case "SKILL_EU_WIZARD_PSYCHICA_UNTOUCH_B": info.Instant = 1; info.Distance = 10; info.P_M = true; info.Targethits = 5; info.Tdistance = 12; break; #endregion #endregion #region Europe Warlock #region Dark Mentalist case "SKILL_EU_WARLOCK_DOTA_BURN_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_WARLOCK_DOTA_BURN_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 7; break; case "SKILL_EU_WARLOCK_DOTA_POISON_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_WARLOCK_DOTA_POISON_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 7; break; case "SKILL_EU_WARLOCK_DOTA_BLOODING_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_WARLOCK_DOTA_BLOODING_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 7; break; case "SKILL_EU_WARLOCK_DOTA_DISEASE_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_WARLOCK_DOTA_DISEASE_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 7; break; #endregion #region Raze case "SKILL_EU_WARLOCK_RAZEA_PHYSICAL_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_WARLOCK_RAZEA_PHYSICAL_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; case "SKILL_EU_WARLOCK_RAZEA_MAGICAL_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_WARLOCK_RAZEA_MAGICAL_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; case "SKILL_EU_WARLOCK_RAZEA_STR_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_WARLOCK_RAZEA_STR_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; case "SKILL_EU_WARLOCK_RAZEA_INT_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_WARLOCK_RAZEA_INT_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; #endregion #region Blood case "SKILL_EU_WARLOCK_BLOODA_POINT_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_BLOODA_POINT_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 5; break; case "SKILL_EU_WARLOCK_BLOODA_EXPLOSION_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_BLOODA_EXPLOSION_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; #endregion #region Sould Pressure case "SKILL_EU_WARLOCK_SOULA_STUN_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_SOULA_STUN_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; case "SKILL_EU_WARLOCK_CONFUSIONA_ILLUSION_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_CONFUSIONA_ILLUSION_B": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_CONFUSIONA_RANGE_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_CONFUSIONA_RANGE_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; #endregion #region Cruel Spell case "SKILL_EU_WARLOCK_BLOODA_LIFEDRAIN_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_BLOODA_LIFEDRAIN_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 15; break; case "SKILL_EU_WARLOCK_SOULA_CHAOS_A": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 5; break; case "SKILL_EU_WARLOCK_SOULA_CHAOS_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 5; info.Tdistance = 5; break; case "SKILL_EU_WARLOCK_SOULA_STUNLINK_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_SOULA_RETURN_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_SOULA_RETURN_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 8; info.Tdistance = 30; break; #endregion #region Dim Haze case "SKILL_EU_WARLOCK_SOULA_MEZA_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_SOULA_MEZA_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; case "SKILL_EU_WARLOCK_CONFUSIONA_HEAL_A": info.Instant = 0; info.Distance = 0; info.P_M = false; break; case "SKILL_EU_WARLOCK_CONFUSIONA_HEAL_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 3; info.Tdistance = 10; break; case "SKILL_EU_WARLOCK_CONFUSIONA_AGGROLOW_A": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 4; info.Tdistance = 25; break; case "SKILL_EU_WARLOCK_CONFUSIONA_AGGROLOW_B": info.Instant = 0; info.Distance = 0; info.P_M = false; info.Targethits = 8; info.Tdistance = 30; break; #endregion #endregion #endregion #region Buff #region Europe Bard #region Battle Chord case "SKILL_EU_BARD_BATTLAA_DAMAGE_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_BARD_BATTLAA_DAMAGE_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 5; break; case "SKILL_EU_BARD_BATTLAA_MPSTEAL_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; #endregion #endregion #region Europe Cleric #region Cardinal Praise case "SKILL_EU_CLERIC_BATTLEA_CROSS_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_CLERIC_BATTLEA_CROSS_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 5; break; #endregion #region Mortal Recovery case "SKILL_EU_CLERIC_BATTLEA_OVERHEAL_A": info.Instant = 1; info.Distance = 5; info.P_M = false; break; case "SKILL_EU_CLERIC_BATTLEA_OVERHEAL_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 3; info.Tdistance = 5; break; #endregion #region Sacrifice case "SKILL_EU_CLERIC_BATTLEA_SACRIFICE_A": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 5; info.Tdistance = 5; break; case "SKILL_EU_CLERIC_BATTLEA_SACRIFICE_B": info.Instant = 1; info.Distance = 5; info.P_M = false; info.Targethits = 5; info.Tdistance = 8; break; #endregion #endregion #endregion #endregion default: //Set default for skills that havent been added info.Targethits = info.NumberOfAttack; info.Tdistance = 0; info.Instant = 2; info.P_M = false; info.canUse = true; //Write info if skill not added Console.WriteLine("Number of attacks : " + info.NumberOfAttack + " Skillname: " + Data.SkillBase[SkillID].Series); break; } //Return information return info; } catch (Exception ex) { Console.WriteLine("Using skill error {0}", ex); Systems.Debugger.Write(ex); } return info; }
private void add_new_character() { // Race var selected_race = Race.current_race; // Class var selected_class = Classe.current_class; var selected_multiclass = new multiclass(); //selected_multiclass.level_class = new List<Tuple<uint, complete_class>>(new Tuple<uint, complete_class>(1, selected_class)) character new_character = new character() { account = this.account, /*race = selected_race, classes = selected_multiclass*/ }; /*{ name = , avatar = , account = this.account, race = selected_race, classes = selected_multiclass, stats = , gifts = , skills = , languages = , aptitudes = , inventory = , effects = , deity = , sex = , background = , personnality = , hair = , eyes = , skin = , height = , weight = , age = , height_category = , };*/ client.CharacterCreate(new_character); }
public void add_active(character active) { characters.Add (active); }
public static byte[] GuildStorageGold(character c) { PacketWriter Writer = new PacketWriter(); Writer.Create(Systems.SERVER_GUILD_STORAGE_GOLD); Writer.LWord(c.Network.Guild.StorageGold); return Writer.GetBytes(); }
public void UtilizeState(object state) { hero = client.GetCharacter((uint)state); heroUpdate = hero; }
void drawstring(Graphics e, string text, Font font, float fontsize, SolidBrush brush, float x, float y) { if (text == null || text == "") return; char[] chars = text.ToCharArray(); float maxy = 0; foreach (char cha in chars) { int charno = (int)cha; int charid = charno ^ (int)(fontsize * 1000) ^ brush.Color.ToArgb(); if (!charDict.ContainsKey(charid)) { charDict[charid] = new character() { bitmap = new Bitmap(128, 128, System.Drawing.Imaging.PixelFormat.Format32bppArgb), size = (int)fontsize }; charDict[charid].bitmap.MakeTransparent(Color.Transparent); //charbitmaptexid float maxx = this.Width / 150; // for space // create bitmap using (Graphics gfx = Graphics.FromImage(charDict[charid].bitmap)) { pth.Reset(); if (text != null) pth.AddString(cha + "", font.FontFamily, 0, fontsize + 5, new Point((int)0, (int)0), StringFormat.GenericTypographic); gfx.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; gfx.DrawPath(P, pth); //Draw the face gfx.FillPath(brush, pth); if (pth.PointCount > 0) { foreach (PointF pnt in pth.PathPoints) { if (pnt.X > maxx) maxx = pnt.X; if (pnt.Y > maxy) maxy = pnt.Y; } } } charDict[charid].width = (int)(maxx + 2); } // draw it float scale = 1.0f; DrawImage(charDict[charid].bitmap, (int)x, (int)y, charDict[charid].bitmap.Width, charDict[charid].bitmap.Height); x += charDict[charid].width * scale; } }
private void characters_list_SelectionChanged(object sender, SelectionChangedEventArgs e) { short_character selection = (sender as ListBox).SelectedItem as short_character; current_character = client.GetCharacter(selection.uid); select_button.IsEnabled = true; }
public static byte[] GuildStorageData(character c) { Systems.MsSQL getstorage = new Systems.MsSQL("SELECT * FROM char_items WHERE guild_storage_id='" + c.Network.Guild.Guildid + "' AND storagetype='3'"); int itemcount = getstorage.Count(); PacketWriter Writer = new PacketWriter(); Writer.Create(Systems.SERVER_GUILD_STORAGE3); Writer.Byte(c.Network.Guild.StorageSlots); Writer.Byte(itemcount); if (itemcount != 0) { using (System.Data.SqlClient.SqlDataReader reader = getstorage.Read()) { while (reader.Read()) { Item.AddItemPacket(Writer, reader.GetByte(5), reader.GetInt32(2), reader.GetByte(4), reader.GetInt16(6), reader.GetInt32(7), reader.GetInt32(0), reader.GetInt32(9), reader.GetInt32(30)); } } } getstorage.Close(); return Writer.GetBytes(); }
public static byte[] GuildUpdate(character c, byte type, int memberid, int permissions, int donatedgp) { PacketWriter Writer = new PacketWriter(); Writer.Create(Systems.SERVER_GUILD_UPDATE); switch (type) { case 1: //Invited user to guild Writer.Byte(2); Writer.DWord(c.Information.CharacterID); Writer.Text(c.Information.Name); Writer.Byte(0x0A); //Check Writer.Byte(c.Information.Level); Writer.DWord(0); //Permissions below Writer.DWord(0); Writer.DWord(0); Writer.DWord(0); Writer.DWord(0); Writer.Word(0); Writer.DWord(c.Information.Model); //Character Model For Icon In Guild Writer.Byte(0); Writer.Byte(c.Position.xSec); Writer.Byte(c.Position.ySec); Writer.DWord(0); Writer.DWord(0); Writer.Byte(1); break; case 2: //Disband guild Writer.Byte(1); break; case 3: //Transfer Leadership Writer.Byte(0x16); Writer.Byte(2); Writer.Byte(0x54); Writer.DWord(memberid); Writer.Byte(0); Writer.DWord(0xFFFFFFFF); Writer.Byte(1); Writer.DWord(c.Information.CharacterID); Writer.Byte(0x0A); Writer.DWord(0); Writer.Byte(0); break; case 4: //Change permissions Writer.Byte(0x16); Writer.Byte(1); Writer.Byte(0x10); Writer.DWord(c.Information.CharacterID); Writer.DWord(permissions); break; case 5: //Guild upgrade Writer.Byte(5); Writer.Byte(0x0C);//Members allowed? 12 Writer.Byte(c.Network.Guild.Level); Writer.DWord(c.Network.Guild.PointsTotal); break; case 6: bool onlinecheck; //Invite user online Writer.Byte(6); Writer.DWord(memberid); Writer.Byte(2); if (c.Information.Online == 1) onlinecheck = false; else onlinecheck = true; Writer.Byte(onlinecheck); break; case 7: //User online / offline Writer.Byte(3); Writer.DWord(c.Information.CharacterID); Writer.Byte(2); break; case 8: //Update player level Writer.Byte(6); Writer.DWord(c.Information.CharacterID); Writer.Byte(1); Writer.Byte(c.Information.Level); break; case 9: //Update gp information guild Writer.Byte(6); Writer.DWord(c.Information.CharacterID); Writer.Byte(8); Writer.DWord(c.Network.Guild.DonateGP); break; case 10: //Update user location Writer.Byte(6); Writer.DWord(c.Information.CharacterID); Writer.Byte(0x80);//need to check Writer.Byte(c.Position.xSec); Writer.Byte(c.Position.ySec); break; case 11: //Guild message update Writer.Byte(0x05); Writer.Byte(0x10); Writer.Text(c.Network.Guild.NewsTitle); Writer.Text(c.Network.Guild.NewsMessage); break; case 12: //Leave guild Writer.Byte(3); Writer.DWord(c.Information.CharacterID); Writer.Byte(1); break; case 13: //Donated gp #1 Writer.Byte(5); Writer.Byte(8); Writer.DWord(donatedgp); break; case 14: //Union invite send Writer.Byte(c.Network.Guild.TotalMembers); Writer.DWord(c.Network.Guild.Guildid); Writer.Text(c.Network.Guild.Name); Writer.Byte(c.Network.Guild.Level); Writer.Text(c.Information.Name); Writer.DWord(c.Information.Model); Writer.Byte(0x11);//?? break; } return Writer.GetBytes(); }