Esempio n. 1
0
        public bool ParseDB(string mobdbPath)
        {
            if (File.Exists(mobdbPath) == false)
            {
                return(false);
            }

            string[] lines = File.ReadAllLines(mobdbPath);
            for (int i = 0; i < lines.Length; i++)
            {
                string line = lines[i].Trim();
                if (line.Length == 0 || line.StartsWith("//") == true)
                {
                    continue;
                }

                // ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,ExpPer,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper
                string[] parts = line.Split(new char[] { ',' }, StringSplitOptions.None);
                if (parts.Length != 58)
                {
                    continue;
                }

                MobDBMob mob = new MobDBMob();
                mob.ID           = int.Parse(parts[0]);
                mob.Sprite_Name  = parts[1].Trim();
                mob.kROName      = parts[2].Trim();
                mob.iROName      = parts[3].Trim();
                mob.LV           = int.Parse(parts[4]);
                mob.HP           = int.Parse(parts[5]);
                mob.SP           = int.Parse(parts[6]);
                mob.EXP          = int.Parse(parts[7]);
                mob.JEXP         = int.Parse(parts[8]);
                mob.Range1       = int.Parse(parts[9]);
                mob.ATK1         = int.Parse(parts[10]);
                mob.ATK2         = int.Parse(parts[11]);
                mob.DEF          = int.Parse(parts[12]);
                mob.MDEF         = int.Parse(parts[13]);
                mob.STR          = int.Parse(parts[14]);
                mob.AGI          = int.Parse(parts[15]);
                mob.VIT          = int.Parse(parts[16]);
                mob.INT          = int.Parse(parts[17]);
                mob.DEX          = int.Parse(parts[18]);
                mob.LUK          = int.Parse(parts[19]);
                mob.Range2       = int.Parse(parts[20]);
                mob.Range3       = int.Parse(parts[21]);
                mob.Scale        = (EScale)int.Parse(parts[22]);
                mob.Race         = (ERace)int.Parse(parts[23]);
                mob.Element      = (EElement)(int.Parse(parts[24]) % 10);
                mob.ElementLevel = (int.Parse(parts[24]) / 20);
                mob.Mode         = ParsePossibleHex(parts[25]);
                mob.Speed        = int.Parse(parts[26]);
                mob.aDelay       = int.Parse(parts[27]);
                mob.aMotion      = int.Parse(parts[28]);
                mob.dMotion      = int.Parse(parts[29]);
                mob.MEXP         = int.Parse(parts[30]);
                mob.MExpPer      = int.Parse(parts[31]);

                for (int c = 32; c <= 37; c += 2)
                {
                    int mvpID     = int.Parse(parts[c]);
                    int mvpChance = int.Parse(parts[c + 1]);
                    if (mvpID > 0 && mvpChance > 0)
                    {
                        mob.DropsMvp.Add(new MobDBMobDrop(mvpID, mvpChance));
                    }
                }
                for (int c = 38; c <= 56; c += 2)
                {
                    int dropID     = int.Parse(parts[c]);
                    int dropChance = int.Parse(parts[c + 1]);
                    if (dropID > 0 && dropChance > 0)
                    {
                        mob.Drops.Add(new MobDBMobDrop(dropID, dropChance));
                    }
                }

                mMobs.Add(mob);
            }


            return(true);
        }
Esempio n. 2
0
		public bool ParseDB(string mobdbPath) {

			if (File.Exists(mobdbPath) == false) {
				return false;
			}

			string[] lines = File.ReadAllLines(mobdbPath);
			for (int i = 0; i < lines.Length; i++) {
				string line = lines[i].Trim();
				if (line.Length == 0 || line.StartsWith("//") == true) {
					continue;
				}

				// ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,ExpPer,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper
				string[] parts = line.Split(new char[] { ',' }, StringSplitOptions.None);
				if (parts.Length != 58) {
					continue;
				}

				MobDBMob mob = new MobDBMob();
				mob.ID = int.Parse(parts[0]);
				mob.Sprite_Name = parts[1].Trim();
				mob.kROName = parts[2].Trim();
				mob.iROName = parts[3].Trim();
				mob.LV = int.Parse(parts[4]);
				mob.HP = int.Parse(parts[5]);
				mob.SP = int.Parse(parts[6]);
				mob.EXP = int.Parse(parts[7]);
				mob.JEXP = int.Parse(parts[8]);
				mob.Range1 = int.Parse(parts[9]);
				mob.ATK1 = int.Parse(parts[10]);
				mob.ATK2 = int.Parse(parts[11]);
				mob.DEF = int.Parse(parts[12]);
				mob.MDEF = int.Parse(parts[13]);
				mob.STR = int.Parse(parts[14]);
				mob.AGI = int.Parse(parts[15]);
				mob.VIT = int.Parse(parts[16]);
				mob.INT = int.Parse(parts[17]);
				mob.DEX = int.Parse(parts[18]);
				mob.LUK = int.Parse(parts[19]);
				mob.Range2 = int.Parse(parts[20]);
				mob.Range3 = int.Parse(parts[21]);
				mob.Scale = (EScale)int.Parse(parts[22]);
				mob.Race = (ERace)int.Parse(parts[23]);
				mob.Element = (EElement)(int.Parse(parts[24]) % 10);
				mob.ElementLevel = (int.Parse(parts[24]) / 20);
				mob.Mode = ParsePossibleHex(parts[25]);
				mob.Speed = int.Parse(parts[26]);
				mob.aDelay = int.Parse(parts[27]);
				mob.aMotion = int.Parse(parts[28]);
				mob.dMotion = int.Parse(parts[29]);
				mob.MEXP = int.Parse(parts[30]);
				mob.MExpPer = int.Parse(parts[31]);

				for (int c = 32; c <= 37; c += 2) {
					int mvpID = int.Parse(parts[c]);
					int mvpChance = int.Parse(parts[c + 1]);
					if (mvpID > 0 && mvpChance > 0) {
						mob.DropsMvp.Add(new MobDBMobDrop(mvpID, mvpChance));
					}
				}
				for (int c = 38; c <= 56; c += 2) {
					int dropID = int.Parse(parts[c]);
					int dropChance = int.Parse(parts[c + 1]);
					if (dropID > 0 && dropChance > 0) {
						mob.Drops.Add(new MobDBMobDrop(dropID, dropChance));
					}
				}

				mMobs.Add(mob);
			}


			return true;
		}