public override void OnThink() { base.OnThink(); if (Combatant == null || m_NextSummon > DateTime.UtcNow) { return; } if (this.Mana > 40 && this.Followers + 5 <= this.FollowersMax) { if (!m_Manifested && m_ManifestChance > Utility.RandomDouble()) { IDamageable m = this.Combatant; if (m is BaseCreature && (((BaseCreature)m).Summoned || ((BaseCreature)m).Controlled)) { m = ((BaseCreature)m).GetMaster(); } this.FixedParticles(0x3709, 1, 30, 9904, 1108, 6, EffectLayer.RightFoot); BaseCreature vm = new VoidManifestation(m_Type); vm.MoveToWorld(this.Location, this.Map); vm.PlaySound(vm.GetAngerSound()); if (m != null) { vm.Combatant = m; } m_Manifested = true; m_NextSummon = DateTime.UtcNow + TimeSpan.FromMinutes(10); } else { Spell spell = new RisingColossusSpell(this, null); spell.Cast(); m_NextSummon = DateTime.UtcNow + TimeSpan.FromSeconds(30); } } }
public override bool OnBeforeDeath() { if (m_ManifestChance > Utility.RandomDouble()) { Mobile m = this.LastKiller; if (m is BaseCreature && (((BaseCreature)m).Summoned || ((BaseCreature)m).Controlled)) { m = ((BaseCreature)m).GetMaster(); } this.FixedParticles(0x3709, 1, 30, 9904, 1108, 6, EffectLayer.RightFoot); BaseCreature vm = new VoidManifestation(m_Type); vm.MoveToWorld(this.Location, this.Map); vm.PlaySound(vm.GetAngerSound()); if (m != null) { vm.Combatant = m; } } return(base.OnBeforeDeath()); }
public override bool OnBeforeDeath() { if(m_ManifestChance > Utility.RandomDouble()) { Mobile m = this.LastKiller; if (m is BaseCreature && (((BaseCreature)m).Summoned || ((BaseCreature)m).Controlled)) m = ((BaseCreature)m).GetMaster(); this.FixedParticles( 0x3709, 1, 30, 9904, 1108, 6, EffectLayer.RightFoot ); BaseCreature vm = new VoidManifestation(m_Type); vm.MoveToWorld(this.Location, this.Map); vm.PlaySound(vm.GetAngerSound()); if(m != null) vm.Combatant = m; } return base.OnBeforeDeath(); }
public override void OnThink() { base.OnThink(); if(Combatant == null || m_NextSummon > DateTime.Now) return; if(this.Mana > 40 && this.Followers + 5 <= this.FollowersMax) { if (!m_Manifested && m_ManifestChance > Utility.RandomDouble()) { IDamageable m = this.Combatant; if (m is BaseCreature && (((BaseCreature)m).Summoned || ((BaseCreature)m).Controlled)) m = ((BaseCreature)m).GetMaster(); this.FixedParticles(0x3709, 1, 30, 9904, 1108, 6, EffectLayer.RightFoot); BaseCreature vm = new VoidManifestation(m_Type); vm.MoveToWorld(this.Location, this.Map); vm.PlaySound(vm.GetAngerSound()); if (m != null) vm.Combatant = m; m_Manifested = true; m_NextSummon = DateTime.Now + TimeSpan.FromMinutes(10); } else { Spell spell = new RisingColossusSpell(this, null); spell.Cast(); m_NextSummon = DateTime.Now + TimeSpan.FromSeconds(30); } } }