public static void SaveResource(int ResourceNum)
        {
            string filename;

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

            ByteStream writer = new ByteStream(100);

            writer.WriteString(Types.Resource[ResourceNum].Name);
            writer.WriteString(Types.Resource[ResourceNum].SuccessMessage);
            writer.WriteString(Types.Resource[ResourceNum].EmptyMessage);
            writer.WriteInt32(Types.Resource[ResourceNum].ResourceType);
            writer.WriteInt32(Types.Resource[ResourceNum].ResourceImage);
            writer.WriteInt32(Types.Resource[ResourceNum].ExhaustedImage);
            writer.WriteInt32(Types.Resource[ResourceNum].ExpReward);
            writer.WriteInt32(Types.Resource[ResourceNum].ItemReward);
            writer.WriteInt32(Types.Resource[ResourceNum].LvlRequired);
            writer.WriteInt32(Types.Resource[ResourceNum].ToolRequired);
            writer.WriteInt32(Types.Resource[ResourceNum].Health);
            writer.WriteInt32(Types.Resource[ResourceNum].RespawnTime);
            writer.WriteBoolean(Types.Resource[ResourceNum].Walkthrough);
            writer.WriteInt32(Types.Resource[ResourceNum].Animation);

            ByteFile.Save(filename, ref writer);
        }
        public static void SaveProjectile(int ProjectileNum)
        {
            string filename;

            filename = Path.Combine(Application.StartupPath, "data", "projectiles", string.Format("projectile{0}.dat", ProjectileNum));

            ByteStream writer = new ByteStream(100);

            writer.WriteString(Projectiles[ProjectileNum].Name);
            writer.WriteInt32(Projectiles[ProjectileNum].Sprite);
            writer.WriteByte(Projectiles[ProjectileNum].Range);
            writer.WriteInt32(Projectiles[ProjectileNum].Speed);
            writer.WriteInt32(Projectiles[ProjectileNum].Damage);
            //Logic
            writer.WriteString(Projectiles[ProjectileNum].OnInstantiate);
            writer.WriteString(Projectiles[ProjectileNum].OnUpdate);
            writer.WriteString(Projectiles[ProjectileNum].OnHitWall);
            writer.WriteString(Projectiles[ProjectileNum].OnHitEntity);

            ByteFile.Save(filename, ref writer);
        }
        public static void SaveAnimation(int AnimationNum)
        {
            string filename;
            int    x;

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

            ByteStream writer = new ByteStream(100);

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

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

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

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

            for (x = 0; x <= loopTo3; x++)
            {
                writer.WriteInt32(Types.Animation[AnimationNum].LoopTime[x]);
            }

            ByteFile.Save(filename, ref writer);
        }
Exemple #4
0
        public static void SaveRecipe(int RecipeNum)
        {
            string filename;
            int    i;

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

            ByteStream writer = new ByteStream(100);

            writer.WriteString(Recipe[RecipeNum].Name);
            writer.WriteByte(Recipe[RecipeNum].RecipeType);
            writer.WriteInt32(Recipe[RecipeNum].MakeItemNum);
            writer.WriteInt32(Recipe[RecipeNum].MakeItemAmount);

            for (i = 1; i <= Constants.MAX_INGREDIENT; i++)
            {
                writer.WriteInt32(Recipe[RecipeNum].Ingredients[i].ItemNum);
                writer.WriteInt32(Recipe[RecipeNum].Ingredients[i].Value);
            }

            writer.WriteByte(Recipe[RecipeNum].CreateTime);

            ByteFile.Save(filename, ref writer);
        }
Exemple #5
0
        public static void SaveQuest(int QuestNum)
        {
            string filename;
            int    I;

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

            ByteStream writer = new ByteStream(100);

            writer.WriteString(Quest[QuestNum].Name);
            writer.WriteString(Quest[QuestNum].QuestLog);
            writer.WriteByte(Quest[QuestNum].Repeat);
            writer.WriteByte(Quest[QuestNum].Cancelable);

            writer.WriteInt32(Quest[QuestNum].ReqCount);
            var loopTo = Quest[QuestNum].ReqCount;

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

            writer.WriteInt32(Quest[QuestNum].QuestGiveItem);
            writer.WriteInt32(Quest[QuestNum].QuestGiveItemValue);
            writer.WriteInt32(Quest[QuestNum].QuestRemoveItem);
            writer.WriteInt32(Quest[QuestNum].QuestRemoveItemValue);

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

            writer.WriteInt32(Quest[QuestNum].RewardCount);
            var loopTo1 = Quest[QuestNum].RewardCount;

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

            writer.WriteInt32(Quest[QuestNum].TaskCount);
            var loopTo2 = Quest[QuestNum].TaskCount;

            for (I = 1; I <= loopTo2; I++)
            {
                writer.WriteInt32(Quest[QuestNum].Task[I].Order);
                writer.WriteInt32(Quest[QuestNum].Task[I].NPC);
                writer.WriteInt32(Quest[QuestNum].Task[I].Item);
                writer.WriteInt32(Quest[QuestNum].Task[I].Map);
                writer.WriteInt32(Quest[QuestNum].Task[I].Resource);
                writer.WriteInt32(Quest[QuestNum].Task[I].Amount);
                writer.WriteString(Quest[QuestNum].Task[I].Speech);
                writer.WriteString(Quest[QuestNum].Task[I].TaskLog);
                writer.WriteByte(Quest[QuestNum].Task[I].QuestEnd);
                writer.WriteInt32(Quest[QuestNum].Task[I].TaskType);
            }

            ByteFile.Save(filename, ref writer);
        }
Exemple #6
0
        public static void SaveItem(int itemNum)
        {
            string filename;

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

            ByteStream writer = new ByteStream(100);

            writer.WriteString(Types.Item[itemNum].Name);
            writer.WriteInt32(Types.Item[itemNum].Pic);
            writer.WriteString(Types.Item[itemNum].Description);

            writer.WriteByte(Types.Item[itemNum].Type);
            writer.WriteByte(Types.Item[itemNum].SubType);
            writer.WriteInt32(Types.Item[itemNum].Data1);
            writer.WriteInt32(Types.Item[itemNum].Data2);
            writer.WriteInt32(Types.Item[itemNum].Data3);
            writer.WriteInt32(Types.Item[itemNum].ClassReq);
            writer.WriteInt32(Types.Item[itemNum].AccessReq);
            writer.WriteInt32(Types.Item[itemNum].LevelReq);
            writer.WriteByte(Types.Item[itemNum].Mastery);
            writer.WriteInt32(Types.Item[itemNum].Price);

            for (var i = 0; i <= (int)Enums.StatType.Count - 1; i++)
            {
                writer.WriteByte(Types.Item[itemNum].Add_Stat[i]);
            }

            writer.WriteByte(Types.Item[itemNum].Rarity);
            writer.WriteInt32(Types.Item[itemNum].Speed);
            writer.WriteInt32(Types.Item[itemNum].TwoHanded);
            writer.WriteByte(Types.Item[itemNum].BindType);

            for (var i = 0; i <= (int)Enums.StatType.Count - 1; i++)
            {
                writer.WriteByte(Types.Item[itemNum].Stat_Req[i]);
            }

            writer.WriteInt32(Types.Item[itemNum].Animation);
            writer.WriteInt32(Types.Item[itemNum].Paperdoll);

            // Housing
            writer.WriteInt32(Types.Item[itemNum].FurnitureWidth);
            writer.WriteInt32(Types.Item[itemNum].FurnitureHeight);

            for (var a = 0; a <= 3; a++)
            {
                for (var b = 0; b <= 3; b++)
                {
                    writer.WriteInt32(Types.Item[itemNum].FurnitureBlocks[a, b]);
                    writer.WriteInt32(Types.Item[itemNum].FurnitureFringe[a, b]);
                }
            }

            writer.WriteByte(Types.Item[itemNum].KnockBack);
            writer.WriteByte(Types.Item[itemNum].KnockBackTiles);

            writer.WriteByte(Types.Item[itemNum].Randomize);
            writer.WriteByte(Types.Item[itemNum].RandomMin);
            writer.WriteByte(Types.Item[itemNum].RandomMax);

            writer.WriteByte(Types.Item[itemNum].Stackable);

            writer.WriteByte(Types.Item[itemNum].ItemLevel);

            writer.WriteInt32(Types.Item[itemNum].Projectile);
            writer.WriteInt32(Types.Item[itemNum].Ammo);

            ByteFile.Save(filename, ref writer);
        }