public override bool OnBeforeDeath() { //if (!this.Controlled && this.FindItemOnLayer(Layer.Pants) != null) // this.FindItemOnLayer(Layer.Pants).Delete(); if (Mounted) { Dismount(this); } //if (this.ControlMaster != null && Backpack != null)//祝福的物品掉主人包里。 //移动到 public override DeathMoveResult GetInventoryMoveResultFor(Item item) //{ // for (int i = Backpack.Items.Count - 1; i >= 0; --i) // { // if (i >= Backpack.Items.Count) // continue; // if ((Backpack.Items[i]).LootType == LootType.Blessed) // this.ControlMaster.Backpack.DropItem(Backpack.Items[i]); // } //} polymorph(0xbe, this); PackAnimal.CombineBackpacks(this); if (!Controlled && Utility.Random(10) < 1) { GoldShower.DoForChamp(Location, Map); } return(base.OnBeforeDeath()); }
public override bool OnBeforeDeath() { if (m_TrueForm) { List <DamageStore> rights = GetLootingRights(); for (int i = rights.Count - 1; i >= 0; --i) { DamageStore ds = rights[i]; if (ds.m_HasRight && ds.m_Mobile is PlayerMobile) { PlayerMobile.ChampionTitleInfo.AwardHarrowerTitle((PlayerMobile)ds.m_Mobile); } } if (!NoKillAwards) { GivePowerScrolls(); Map map = Map; GoldShower.DoForHarrower(Location, Map); m_DamageEntries = new Dictionary <Mobile, int>(); for (int i = 0; i < m_Tentacles.Count; ++i) { Mobile m = m_Tentacles[i]; if (!m.Deleted) { m.Kill(); } RegisterDamageTo(m); } m_Tentacles.Clear(); RegisterDamageTo(this); AwardArtifact(GetArtifact()); if (m_GateItem != null) { m_GateItem.Delete(); } } return(base.OnBeforeDeath()); } else { Morph(); return(false); } }
public override bool OnBeforeDeath() { if (!this.NoKillAwards) { this.GivePowerScrolls(); if (this.NoGoodies) { return(base.OnBeforeDeath()); } GoldShower.DoForChamp(Location, Map); } return(base.OnBeforeDeath()); }
public override bool OnBeforeDeath() { if (!NoKillAwards) { if (CanGivePowerscrolls) { GivePowerScrolls(); } if (DoesGoldShower) { GoldShower.DoForChamp(Location, Map); } } return(base.OnBeforeDeath()); }
public override bool OnBeforeDeath() { //IMount mount = m; if (this.FindItemOnLayer(Layer.Ring) != null) { this.FindItemOnLayer(Layer.Ring).Delete(); } if (m != null) { m.Rider = null; if (m is Mobile) { ((Mobile)m).Delete(); } } if (Utility.Random(10) < 1) { GoldShower.Do(Location, Map, 30, 5000, 8000); } baodongxi.bao(this as BaseCreature); return(base.OnBeforeDeath()); }