protected override void OnTick() { if (m_Player.Deleted) { Stop(); return; } if (!m_Player.Mounted) { m_Player.Animate(Utility.RandomBool() ? 16 : 17, 7, 1, true, false, 0); } if (m_Step == 4) { var baseX = m_WellOfTearsArea.X; var baseY = m_WellOfTearsArea.Y; var width = m_WellOfTearsArea.Width; var height = m_WellOfTearsArea.Height; var map = m_WellOfTearsMap; Effects.SendLocationParticles( EffectItem.Create(m_Player.Location, m_Player.Map, TimeSpan.FromSeconds(1.0)), 0, 0, 0, 0x13C4); Effects.PlaySound(m_Player.Location, m_Player.Map, 0x243); for (var i = 0; i < 15; i++) { var x = baseX + Utility.Random(width); var y = baseY + Utility.Random(height); var z = map.GetAverageZ(x, y); var from = new Point3D(x, y, z + Utility.RandomMinMax(5, 20)); var to = new Point3D(x, y, z); var hue = Utility.RandomList(0x481, 0x482, 0x489, 0x497, 0x66D); Effects.SendPacket(from, map, new HuedEffect(EffectType.Moving, Serial.Zero, Serial.Zero, 0x36D4, from, to, 0, 0, false, true, hue, 0)); } } if (m_Step < 5) { m_Player.Frozen = true; } else // Cast completed { m_Player.Frozen = false; SummonedPaladin.BeginSummon(m_Player); } m_Step++; }
protected override void OnTick() { if (m_Player.Deleted) { if (m_Step > 0) { m_Paladin.Delete(); } return; } if (m_Step > 0 && m_Paladin.Deleted) { return; } if (m_Step == 0) { SummonedPaladinMoongate moongate = new SummonedPaladinMoongate(); moongate.MoveToWorld(new Point3D(2091, 1348, -90), Map.Malas); Effects.PlaySound(moongate.Location, moongate.Map, 0x20E); m_Paladin = new SummonedPaladin(m_Player) { Frozen = true, Location = moongate.Location, Map = moongate.Map }; Delay = TimeSpan.FromSeconds(2.0); Start(); } else if (m_Step == 1) { m_Paladin.Direction = m_Paladin.GetDirectionTo(m_Player); m_Paladin.Say(1060122); // STOP WICKED ONE! Delay = TimeSpan.FromSeconds(3.0); Start(); } else { m_Paladin.Frozen = false; m_Paladin.Say(1060123); // I will slay you before I allow you to complete your evil rites! m_Paladin.Combatant = m_Player; } m_Step++; }
protected override void OnTick() { if ( m_Player.Deleted ) { if ( m_Step > 0 ) m_Paladin.Delete(); return; } if ( m_Step > 0 && m_Paladin.Deleted ) return; if ( m_Step == 0 ) { SummonedPaladinMoongate moongate = new SummonedPaladinMoongate(); moongate.MoveToWorld( new Point3D( 2091, 1348, -90 ), Map.Malas ); Effects.PlaySound( moongate.Location, moongate.Map, 0x20E ); m_Paladin = new SummonedPaladin( m_Player ); m_Paladin.Frozen = true; m_Paladin.Location = moongate.Location; m_Paladin.Map = moongate.Map; Delay = TimeSpan.FromSeconds( 2.0 ); Start(); } else if ( m_Step == 1 ) { m_Paladin.Direction = m_Paladin.GetDirectionTo( m_Player ); m_Paladin.Say( 1060122 ); // STOP WICKED ONE! Delay = TimeSpan.FromSeconds( 3.0 ); Start(); } else { m_Paladin.Frozen = false; m_Paladin.Say( 1060123 ); // I will slay you before I allow you to complete your evil rites! m_Paladin.Combatant = m_Player; } m_Step++; }