public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); _Tribe = (EodonTribe)reader.ReadInt(); }
public EodonTribeRegion(EodonTribe tribe, Rectangle2D[] rec, int maxSpawns) : base(tribe.ToString() + " tribe", Map.TerMur, Region.DefaultPriority, rec) { Tribe = tribe; Register(); MaxSpawns = maxSpawns; }
public BaseEodonTribesman(AIType ai, EodonTribe type) : base(ai, FightMode.Closest, 10, 1, .2, .4) { TribeType = type; BuildBody(); BuildEquipment(); switch (type) { case EodonTribe.Jukari: SetResistance(ResistanceType.Physical, 20, 30); SetResistance(ResistanceType.Fire, 100); SetResistance(ResistanceType.Cold, 10, 20); SetResistance(ResistanceType.Poison, 40, 50); SetResistance(ResistanceType.Energy, 40, 50); break; case EodonTribe.Kurak: SetResistance(ResistanceType.Physical, 20, 30); SetResistance(ResistanceType.Fire, 10, 20); SetResistance(ResistanceType.Cold, 100); SetResistance(ResistanceType.Poison, 40, 50); SetResistance(ResistanceType.Energy, 40, 50); break; case EodonTribe.Barrab: SetResistance(ResistanceType.Physical, 20, 30); SetResistance(ResistanceType.Fire, 40, 50); SetResistance(ResistanceType.Cold, 40, 50); SetResistance(ResistanceType.Poison, 100); SetResistance(ResistanceType.Energy, 10, 20); break; case EodonTribe.Barako: SetResistance(ResistanceType.Physical, 20, 30); SetResistance(ResistanceType.Fire, 40, 50); SetResistance(ResistanceType.Cold, 40, 50); SetResistance(ResistanceType.Poison, 10, 20); SetResistance(ResistanceType.Energy, 40, 50); break; case EodonTribe.Urali: SetResistance(ResistanceType.Physical, 20, 30); SetResistance(ResistanceType.Fire, 40, 50); SetResistance(ResistanceType.Cold, 40, 50); SetResistance(ResistanceType.Poison, 10, 20); SetResistance(ResistanceType.Energy, 100); break; case EodonTribe.Sakkhra: SetResistance(ResistanceType.Physical, 100); SetResistance(ResistanceType.Fire, 40, 50); SetResistance(ResistanceType.Cold, 40, 50); SetResistance(ResistanceType.Poison, 60, 70); SetResistance(ResistanceType.Energy, 40, 50); break; } }
public TribeShaman(EodonTribe type) : base(AIType.AI_Mage, type) { RangeFight = 7; PackGold(60, 70); PackReg(1, 3); Bandage b = new Bandage(); b.Amount = Utility.RandomMinMax(3, 5); PackItem(b); }
public static int GetTribeID(EodonTribe tribe) { switch (tribe) { default: case EodonTribe.Jukari: return(0x9D53); case EodonTribe.Kurak: return(0x9D55); case EodonTribe.Barako: return(0x9D57); case EodonTribe.Sakkhra: return(0x9D59); case EodonTribe.Barrab: return(0x9D5B); case EodonTribe.Urali: return(0x9D5D); } }
public void SpawnWave(Allegiance allegiance) { if (allegiance == Allegiance.Myrmidex) { int wave = MyrmidexTeam.Count; MyrmidexTeam[wave] = new List <BaseCreature>(); List <BaseCreature> list = MyrmidexTeam[wave]; for (int i = 0; i < WaveCount; i++) { BaseCreature bc; Type type = _MyrmidexTypes[wave][Utility.Random(_MyrmidexTypes[wave].Length)]; if (type.IsSubclassOf(typeof(BaseEodonTribesman))) { bc = Activator.CreateInstance(type, new object[] { EodonTribe.Barrab }) as BaseCreature; } else { bc = Activator.CreateInstance(type) as BaseCreature; } bc.NoLootOnDeath = true; if (bc != null) { for (int j = 0; j < 20; j++) { Point3D p = Map.TerMur.GetRandomSpawnPoint(_MyrmidexSpawnZone); if (Map.TerMur.CanSpawnMobile(p.X, p.Y, p.Z)) { bc.MoveToWorld(p, Map.TerMur); list.Add(bc); AssignNavpoints(bc, Allegiance.Myrmidex); break; } } } } LastMyrmidexWave = DateTime.UtcNow; } else { int wave = TribeTeam.Count; TribeTeam[wave] = new List <BaseCreature>(); List <BaseCreature> list = TribeTeam[wave]; for (int i = 0; i < WaveCount; i++) { BaseCreature bc; Type type = _TribeTypes[wave][Utility.Random(_TribeTypes[wave].Length)]; if (type.IsSubclassOf(typeof(BaseEodonTribesman))) { EodonTribe tribe = Utility.RandomList <EodonTribe>(EodonTribe.Jukari, EodonTribe.Kurak, EodonTribe.Barako, EodonTribe.Urali, EodonTribe.Sakkhra); bc = Activator.CreateInstance(type, new object[] { tribe }) as BaseCreature; } else { bc = Activator.CreateInstance(type) as BaseCreature; } bc.NoLootOnDeath = true; if (bc != null) { for (int j = 0; j < 20; j++) { Point3D p = Map.TerMur.GetRandomSpawnPoint(_TribeSpawnZone); if (Map.TerMur.CanSpawnMobile(p.X, p.Y, p.Z)) { bc.MoveToWorld(p, Map.TerMur); list.Add(bc); AssignNavpoints(bc, Allegiance.Tribes); break; } } } } LastTribeWave = DateTime.UtcNow; } }
public TribeChieftan(EodonTribe type) : base(AIType.AI_Melee, type) { }
public TribeWarrior(EodonTribe type) : base(AIType.AI_Melee, type) { }
public TribalBanner(EodonTribe tribe) : base(GetTribeID(tribe)) { _Tribe = tribe; }
public TribeShaman(EodonTribe type) : base(AIType.AI_Mage, type) { RangeFight = 7; }