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); }
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); }
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); }
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); }