public ShrineMaster(MasterTitle specialty, MasterType type, ShrineBattleController controller) : base(GetAI(specialty), FightMode.Closest, 10, 1, .2, .1) { _Specialty = specialty; _Type = type; _Controller = controller; if (Female = Utility.RandomBool()) { Name = NameList.RandomName("female"); } else { Name = NameList.RandomName("male"); } SetBody(); Title = "the " + specialty; SetStr(250); SetDex(SpellCaster ? 150 : 200); SetInt(SpellCaster ? 1000 : 5000); SetHits(20000, 25000); if (AI == AIType.AI_Melee) { SetDamage(22, 30); } else if (!SpellCaster) { SetDamage(20, 28); } else { SetDamage(10, 20); } Fame = 48000; Karma = -48000; SetResists(); SetSkills(); EquipSpecialty(); _NextSpecial = DateTime.UtcNow; if (specialty == MasterTitle.Sampire) { Timer.DelayCall(TimeSpan.FromSeconds(1), () => { VampiricEmbraceSpell spell = new VampiricEmbraceSpell(this, null); spell.Cast(); }); } }
public override void OnDeath(Container c) { base.OnDeath(c); List <DamageStore> rights = GetLootingRights(); rights.Sort(); List <Mobile> list = rights.Select(x => x.m_Mobile).Where(m => m.InRange(c.Location, 20)).ToList(); if (list.Count > 0) { for (int i = 0; i < 2; i++) { Mobile drop; Item item = ShrineBattleController.CreateItem(list[0]); if (list.Count == 1 || i >= list.Count) { drop = list[0]; } else { drop = list[i]; } if (_Controller != null) { JollyRogerData.AddMasterKill(drop, _Controller.Shrine); _Controller.OnMasterDestroyed(); } drop.SendLocalizedMessage(1159318); // You notice the Fellowship Insignia on your fallen foe's equipment and decide it may be of some value... if (drop.Backpack == null || !drop.Backpack.TryDropItem(drop, item, false)) { drop.BankBox.DropItem(item); drop.SendLocalizedMessage(1079730); // The item has been placed into your bank box. } } } ColUtility.Free(list); }
public ShrineMaster(MasterType type, ShrineBattleController controller) : this(RandomSpecialty(), type, controller) { }
public ShrineBattleRegion(ShrineBattleController controller) : base(string.Format("{0} Fragment Region", controller.Shrine.ToString()), controller.Map, DefaultPriority, ShrineBattleController._FragmentRegionTable[(int)controller.Shrine]) { _Controller = controller; }