Exemple #1
0
            private void EndSummon(MapPoint mp)
            {
                if (Dungeon != null && !Dungeon.Deleted)
                {
                    foreach (var m in mp.FindPlayersInRange(mp, GetMaxUpdateRange()))
                    {
                        ScreenFX.LightFlash.Send(m);
                    }

                    var v = Dungeon.Vendor ?? (Dungeon.Vendor = Dungeon.CreateMobile <VoltaicVendor>(mp, false, false));

                    if (v != null)
                    {
                        v.Home      = mp;
                        v.RangeHome = 0;
                        v.CanMove   = false;
                        v.Direction = Direction.South;
                        v.Trading   = false;

                        var speech = new[]
                        {
                            "The Aspects' challenge was finally met?  ...I see...",
                            "Had there been no challenge to meet, you'd be dead where you stand.", "I will honor my fallen kin.",
                            "In return for your trophies, I can offer you the treasures I have found on my way here."
                        };

                        Timer.DelayCall(TimeSpan.FromSeconds(1), v.Say, speech[0]);
                        Timer.DelayCall(TimeSpan.FromSeconds(6), v.Say, speech[1]);
                        Timer.DelayCall(TimeSpan.FromSeconds(12), v.Say, speech[2]);
                        Timer.DelayCall(TimeSpan.FromSeconds(15), v.Say, speech[3]);
                        Timer.DelayCall(TimeSpan.FromSeconds(20), () => v.Trading = true);
                    }
                }

                Delete();
            }