Exemple #1
0
        public static void LoadRecipe(int RecipeNum)
        {
            string filename;
            int    i;

            CheckRecipes();

            filename = Path.Combine(Application.StartupPath, "data", "recipes", string.Format("recipe{0}.dat", RecipeNum));
            ByteStream reader = new ByteStream();

            ByteFile.Load(filename, ref reader);

            Recipe[RecipeNum].Name           = reader.ReadString();
            Recipe[RecipeNum].RecipeType     = reader.ReadByte();
            Recipe[RecipeNum].MakeItemNum    = reader.ReadInt32();
            Recipe[RecipeNum].MakeItemAmount = reader.ReadInt32();

            Recipe[RecipeNum].Ingredients = new IngredientsRec[Constants.MAX_INGREDIENT + 1];
            for (i = 1; i <= Constants.MAX_INGREDIENT; i++)
            {
                Recipe[RecipeNum].Ingredients[i].ItemNum = reader.ReadInt32();
                Recipe[RecipeNum].Ingredients[i].Value   = reader.ReadInt32();
            }

            Recipe[RecipeNum].CreateTime = reader.ReadByte();
        }
        public static void LoadProjectiles()
        {
            string filename;
            int    i;

            CheckProjectile();

            for (i = 1; i <= MAX_PROJECTILES; i++)
            {
                filename = Path.Combine(Application.StartupPath, "data", "projectiles", string.Format("projectile{0}.dat", i));
                ByteStream reader = new ByteStream();
                ByteFile.Load(filename, ref reader);

                Projectiles[i].Name   = reader.ReadString();
                Projectiles[i].Sprite = reader.ReadInt32();
                Projectiles[i].Range  = reader.ReadByte();
                Projectiles[i].Speed  = reader.ReadInt32();
                Projectiles[i].Damage = reader.ReadInt32();
                //Logic
                Projectiles[i].OnInstantiate = reader.ReadString();
                Projectiles[i].OnUpdate      = reader.ReadString();
                Projectiles[i].OnHitWall     = reader.ReadString();
                Projectiles[i].OnHitEntity   = reader.ReadString();
            }
        }
        public static void LoadAnimation(int AnimationNum)
        {
            string filename;

            filename = Path.Combine(Application.StartupPath, "data", "animations", string.Format("animation{0}.dat", AnimationNum));
            ByteStream reader = new ByteStream();

            ByteFile.Load(filename, ref reader);

            Types.Animation[AnimationNum].Name  = reader.ReadString();
            Types.Animation[AnimationNum].Sound = reader.ReadString();
            var loopTo = Information.UBound(Types.Animation[AnimationNum].Sprite);

            for (var x = 0; x <= loopTo; x++)
            {
                Types.Animation[AnimationNum].Sprite[x] = reader.ReadInt32();
            }
            var loopTo1 = Information.UBound(Types.Animation[AnimationNum].Frames);

            for (int x = 0; x <= loopTo1; x++)
            {
                Types.Animation[AnimationNum].Frames[x] = reader.ReadInt32();
            }
            var loopTo2 = Information.UBound(Types.Animation[AnimationNum].LoopCount);

            for (int x = 0; x <= loopTo2; x++)
            {
                Types.Animation[AnimationNum].LoopCount[x] = reader.ReadInt32();
            }
            var loopTo3 = Information.UBound(Types.Animation[AnimationNum].LoopTime);

            for (int x = 0; x <= loopTo3; x++)
            {
                Types.Animation[AnimationNum].LoopTime[x] = reader.ReadInt32();
            }

            if (Types.Animation[AnimationNum].Name == null)
            {
                Types.Animation[AnimationNum].Name = "";
            }
        }
        public static void LoadResource(int ResourceNum)
        {
            string filename;

            filename = Path.Combine(Application.StartupPath, "data", "resources", string.Format("resource{0}.dat", ResourceNum));
            ByteStream reader = new ByteStream();

            ByteFile.Load(filename, ref reader);

            Types.Resource[ResourceNum].Name           = reader.ReadString();
            Types.Resource[ResourceNum].SuccessMessage = reader.ReadString();
            Types.Resource[ResourceNum].EmptyMessage   = reader.ReadString();
            Types.Resource[ResourceNum].ResourceType   = reader.ReadInt32();
            Types.Resource[ResourceNum].ResourceImage  = reader.ReadInt32();
            Types.Resource[ResourceNum].ExhaustedImage = reader.ReadInt32();
            Types.Resource[ResourceNum].ExpReward      = reader.ReadInt32();
            Types.Resource[ResourceNum].ItemReward     = reader.ReadInt32();
            Types.Resource[ResourceNum].LvlRequired    = reader.ReadInt32();
            Types.Resource[ResourceNum].ToolRequired   = reader.ReadInt32();
            Types.Resource[ResourceNum].Health         = reader.ReadInt32();
            Types.Resource[ResourceNum].RespawnTime    = reader.ReadInt32();
            Types.Resource[ResourceNum].Walkthrough    = reader.ReadBoolean();
            Types.Resource[ResourceNum].Animation      = reader.ReadInt32();

            if (Types.Resource[ResourceNum].Name == null)
            {
                Types.Resource[ResourceNum].Name = "";
            }
            if (Types.Resource[ResourceNum].EmptyMessage == null)
            {
                Types.Resource[ResourceNum].EmptyMessage = "";
            }
            if (Types.Resource[ResourceNum].SuccessMessage == null)
            {
                Types.Resource[ResourceNum].SuccessMessage = "";
            }
        }
Exemple #5
0
        public static void LoadQuest(int QuestNum)
        {
            string FileName;
            int    I;

            FileName = Path.Combine(Application.StartupPath, "data", "quests", string.Format("quest{0}.dat", QuestNum));

            ByteStream reader = new ByteStream();

            ByteFile.Load(FileName, ref reader);

            Quest[QuestNum].Name       = reader.ReadString();
            Quest[QuestNum].QuestLog   = reader.ReadString();
            Quest[QuestNum].Repeat     = reader.ReadByte();
            Quest[QuestNum].Cancelable = reader.ReadByte();

            Quest[QuestNum].ReqCount         = reader.ReadInt32();
            Quest[QuestNum].Requirement      = new int[Quest[QuestNum].ReqCount + 1];
            Quest[QuestNum].RequirementIndex = new int[Quest[QuestNum].ReqCount + 1];
            var loopTo = Quest[QuestNum].ReqCount;

            for (I = 1; I <= loopTo; I++)
            {
                Quest[QuestNum].Requirement[I]      = reader.ReadInt32();
                Quest[QuestNum].RequirementIndex[I] = reader.ReadInt32();
            }

            Quest[QuestNum].QuestGiveItem        = reader.ReadInt32();
            Quest[QuestNum].QuestGiveItemValue   = reader.ReadInt32();
            Quest[QuestNum].QuestRemoveItem      = reader.ReadInt32();
            Quest[QuestNum].QuestRemoveItemValue = reader.ReadInt32();

            for (I = 1; I <= 3; I++)
            {
                Quest[QuestNum].Chat[I] = reader.ReadString();
            }

            Quest[QuestNum].RewardCount      = reader.ReadInt32();
            Quest[QuestNum].RewardItem       = new int[Quest[QuestNum].RewardCount + 1];
            Quest[QuestNum].RewardItemAmount = new int[Quest[QuestNum].RewardCount + 1];
            var loopTo1 = Quest[QuestNum].RewardCount;

            for (I = 1; I <= loopTo1; I++)
            {
                Quest[QuestNum].RewardItem[I]       = reader.ReadInt32();
                Quest[QuestNum].RewardItemAmount[I] = reader.ReadInt32();
            }
            Quest[QuestNum].RewardExp = reader.ReadInt32();

            Quest[QuestNum].TaskCount = reader.ReadInt32();
            Quest[QuestNum].Task      = new TaskRec[Quest[QuestNum].TaskCount + 1];
            var loopTo2 = Quest[QuestNum].TaskCount;

            for (I = 1; I <= loopTo2; I++)
            {
                Quest[QuestNum].Task[I].Order    = reader.ReadInt32();
                Quest[QuestNum].Task[I].NPC      = reader.ReadInt32();
                Quest[QuestNum].Task[I].Item     = reader.ReadInt32();
                Quest[QuestNum].Task[I].Map      = reader.ReadInt32();
                Quest[QuestNum].Task[I].Resource = reader.ReadInt32();
                Quest[QuestNum].Task[I].Amount   = reader.ReadInt32();
                Quest[QuestNum].Task[I].Speech   = reader.ReadString();
                Quest[QuestNum].Task[I].TaskLog  = reader.ReadString();
                Quest[QuestNum].Task[I].QuestEnd = reader.ReadByte();
                Quest[QuestNum].Task[I].TaskType = reader.ReadInt32();
            }
        }
Exemple #6
0
        public static void LoadItem(int ItemNum)
        {
            string filename;
            int    s;

            filename = Path.Combine(Application.StartupPath, "data", "items", string.Format("item{0}.dat", ItemNum));

            ByteStream reader = new ByteStream();

            ByteFile.Load(filename, ref reader);

            Types.Item[ItemNum].Name        = reader.ReadString();
            Types.Item[ItemNum].Pic         = reader.ReadInt32();
            Types.Item[ItemNum].Description = reader.ReadString();

            Types.Item[ItemNum].Type      = reader.ReadByte();
            Types.Item[ItemNum].SubType   = reader.ReadByte();
            Types.Item[ItemNum].Data1     = reader.ReadInt32();
            Types.Item[ItemNum].Data2     = reader.ReadInt32();
            Types.Item[ItemNum].Data3     = reader.ReadInt32();
            Types.Item[ItemNum].ClassReq  = reader.ReadInt32();
            Types.Item[ItemNum].AccessReq = reader.ReadInt32();
            Types.Item[ItemNum].LevelReq  = reader.ReadInt32();
            Types.Item[ItemNum].Mastery   = reader.ReadByte();
            Types.Item[ItemNum].Price     = reader.ReadInt32();

            for (s = 0; s <= (int)Enums.StatType.Count - 1; s++)
            {
                Types.Item[ItemNum].Add_Stat[s] = reader.ReadByte();
            }

            Types.Item[ItemNum].Rarity    = reader.ReadByte();
            Types.Item[ItemNum].Speed     = reader.ReadInt32();
            Types.Item[ItemNum].TwoHanded = reader.ReadInt32();
            Types.Item[ItemNum].BindType  = reader.ReadByte();

            for (s = 0; s <= (int)Enums.StatType.Count - 1; s++)
            {
                Types.Item[ItemNum].Stat_Req[s] = reader.ReadByte();
            }

            Types.Item[ItemNum].Animation = reader.ReadInt32();
            Types.Item[ItemNum].Paperdoll = reader.ReadInt32();

            // Housing
            Types.Item[ItemNum].FurnitureWidth  = reader.ReadInt32();
            Types.Item[ItemNum].FurnitureHeight = reader.ReadInt32();

            for (var a = 0; a <= 3; a++)
            {
                for (var b = 0; b <= 3; b++)
                {
                    Types.Item[ItemNum].FurnitureBlocks[a, b] = reader.ReadInt32();
                    Types.Item[ItemNum].FurnitureFringe[a, b] = reader.ReadInt32();
                }
            }

            Types.Item[ItemNum].KnockBack      = reader.ReadByte();
            Types.Item[ItemNum].KnockBackTiles = reader.ReadByte();

            Types.Item[ItemNum].Randomize = reader.ReadByte();
            Types.Item[ItemNum].RandomMin = reader.ReadByte();
            Types.Item[ItemNum].RandomMax = reader.ReadByte();

            Types.Item[ItemNum].Stackable = reader.ReadByte();

            Types.Item[ItemNum].ItemLevel = reader.ReadByte();

            Types.Item[ItemNum].Projectile = reader.ReadInt32();
            Types.Item[ItemNum].Ammo       = reader.ReadInt32();
        }