| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- public class IntelligentCreatureRules
- {
- public int MinimalFullness = 1;
- public bool MousePickupEnabled = false;
- public int MousePickupRange = 0;
- public bool AutoPickupEnabled = false;
- public int AutoPickupRange = 0;
- public bool SemiAutoPickupEnabled = false;
- public int SemiAutoPickupRange = 0;
- public bool CanProduceBlackStone = false;
- public IntelligentCreatureRules()
- {
- }
- public IntelligentCreatureRules(BinaryReader reader)
- {
- MinimalFullness = reader.ReadInt32();
- MousePickupEnabled = reader.ReadBoolean();
- MousePickupRange = reader.ReadInt32();
- AutoPickupEnabled = reader.ReadBoolean();
- AutoPickupRange = reader.ReadInt32();
- SemiAutoPickupEnabled = reader.ReadBoolean();
- SemiAutoPickupRange = reader.ReadInt32();
- CanProduceBlackStone = reader.ReadBoolean();
- }
- public void Save(BinaryWriter writer)
- {
- writer.Write(MinimalFullness);
- writer.Write(MousePickupEnabled);
- writer.Write(MousePickupRange);
- writer.Write(AutoPickupEnabled);
- writer.Write(AutoPickupRange);
- writer.Write(SemiAutoPickupEnabled);
- writer.Write(SemiAutoPickupRange);
- writer.Write(CanProduceBlackStone);
- }
- }
- public class IntelligentCreatureItemFilter
- {
- public bool PetPickupAll = true;
- public bool PetPickupGold = false;
- public bool PetPickupWeapons = false;
- public bool PetPickupArmours = false;
- public bool PetPickupHelmets = false;
- public bool PetPickupBoots = false;
- public bool PetPickupBelts = false;
- public bool PetPickupAccessories = false;
- public bool PetPickupOthers = false;
- public ItemGrade PickupGrade = ItemGrade.None;
- public IntelligentCreatureItemFilter()
- {
- }
- public void SetItemFilter(int idx)
- {
- switch (idx)
- {
- case 0://all items
- PetPickupAll = true;
- PetPickupGold = false;
- PetPickupWeapons = false;
- PetPickupArmours = false;
- PetPickupHelmets = false;
- PetPickupBoots = false;
- PetPickupBelts = false;
- PetPickupAccessories = false;
- PetPickupOthers = false;
- break;
- case 1://gold
- PetPickupAll = false;
- PetPickupGold = !PetPickupGold;
- break;
- case 2://weapons
- PetPickupAll = false;
- PetPickupWeapons = !PetPickupWeapons;
- break;
- case 3://armours
- PetPickupAll = false;
- PetPickupArmours = !PetPickupArmours;
- break;
- case 4://helmets
- PetPickupAll = false;
- PetPickupHelmets = !PetPickupHelmets;
- break;
- case 5://boots
- PetPickupAll = false;
- PetPickupBoots = !PetPickupBoots;
- break;
- case 6://belts
- PetPickupAll = false;
- PetPickupBelts = !PetPickupBelts;
- break;
- case 7://jewelry
- PetPickupAll = false;
- PetPickupAccessories = !PetPickupAccessories;
- break;
- case 8://others
- PetPickupAll = false;
- PetPickupOthers = !PetPickupOthers;
- break;
- }
- if (PetPickupGold && PetPickupWeapons && PetPickupArmours && PetPickupHelmets && PetPickupBoots && PetPickupBelts && PetPickupAccessories && PetPickupOthers)
- {
- PetPickupAll = true;
- PetPickupGold = false;
- PetPickupWeapons = false;
- PetPickupArmours = false;
- PetPickupHelmets = false;
- PetPickupBoots = false;
- PetPickupBelts = false;
- PetPickupAccessories = false;
- PetPickupOthers = false;
- }
- else
- if (!PetPickupGold && !PetPickupWeapons && !PetPickupArmours && !PetPickupHelmets && !PetPickupBoots && !PetPickupBelts && !PetPickupAccessories && !PetPickupOthers)
- {
- PetPickupAll = true;
- }
- }
- public IntelligentCreatureItemFilter(BinaryReader reader)
- {
- PetPickupAll = reader.ReadBoolean();
- PetPickupGold = reader.ReadBoolean();
- PetPickupWeapons = reader.ReadBoolean();
- PetPickupArmours = reader.ReadBoolean();
- PetPickupHelmets = reader.ReadBoolean();
- PetPickupBoots = reader.ReadBoolean();
- PetPickupBelts = reader.ReadBoolean();
- PetPickupAccessories = reader.ReadBoolean();
- PetPickupOthers = reader.ReadBoolean();
- //PickupGrade = (ItemGrade)reader.ReadByte();
- }
- public void Save(BinaryWriter writer)
- {
- writer.Write(PetPickupAll);
- writer.Write(PetPickupGold);
- writer.Write(PetPickupWeapons);
- writer.Write(PetPickupArmours);
- writer.Write(PetPickupHelmets);
- writer.Write(PetPickupBoots);
- writer.Write(PetPickupBelts);
- writer.Write(PetPickupAccessories);
- writer.Write(PetPickupOthers);
- //writer.Write((byte)PickupGrade);
- }
- }
- public class ClientIntelligentCreature
- {
- public IntelligentCreatureType PetType;
- public int Icon;
- public string CustomName;
- public int Fullness;
- public int SlotIndex;
- public DateTime Expire;
- public long BlackstoneTime;
- public long MaintainFoodTime;
- public IntelligentCreaturePickupMode petMode = IntelligentCreaturePickupMode.SemiAutomatic;
- public IntelligentCreatureRules CreatureRules;
- public IntelligentCreatureItemFilter Filter;
- public ClientIntelligentCreature()
- {
- }
- public ClientIntelligentCreature(BinaryReader reader)
- {
- PetType = (IntelligentCreatureType)reader.ReadByte();
- Icon = reader.ReadInt32();
- CustomName = reader.ReadString();
- Fullness = reader.ReadInt32();
- SlotIndex = reader.ReadInt32();
- Expire = DateTime.FromBinary(reader.ReadInt64());
- BlackstoneTime = reader.ReadInt64();
- petMode = (IntelligentCreaturePickupMode)reader.ReadByte();
- CreatureRules = new IntelligentCreatureRules(reader);
- Filter = new IntelligentCreatureItemFilter(reader)
- {
- PickupGrade = (ItemGrade)reader.ReadByte()
- };
- MaintainFoodTime = reader.ReadInt64();
- }
- public void Save(BinaryWriter writer)
- {
- writer.Write((byte)PetType);
- writer.Write(Icon);
- writer.Write(CustomName);
- writer.Write(Fullness);
- writer.Write(SlotIndex);
- writer.Write(Expire.ToBinary());
- writer.Write(BlackstoneTime);
- writer.Write((byte)petMode);
- CreatureRules.Save(writer);
- Filter.Save(writer);
- writer.Write((byte)Filter.PickupGrade);
- writer.Write(MaintainFoodTime);
- }
- }
|