public override void OnRead() { Jalinde jalinde = ((GhostQuest)System).Jalinde; if (jalinde == null) { System.From.SendMessage("Internal error: Unable to find Jalinde. Quest unable to continue."); System.Cancel(); } else { if (GhostPast.Active == false) { jalinde.Say("Oulm Quelst Tu Nock Bal Ne Setty!"); Point3D p = new Point3D(776, 1480, -28); GhostPast ghost = new GhostPast(); ghost.Hidden = true; ghost.Freeze(TimeSpan.FromSeconds(1.5)); ghost.MoveToWorld(p, jalinde.Map); System.From.AddToBackpack(new ItemClaimer()); System.AddObjective(new VanquishGhostObjective(ghost)); } else { jalinde.SayTo(System.From, "The Ghost is already here! Go brave mortal, go and destroy him!"); ((GhostQuest)System).WaitForSummon = true; } } }
public override void ChildDeserialize(GenericReader reader) { int version = reader.ReadEncodedInt(); m_Ghost = reader.ReadMobile() as GhostPast; }
public VanquishGhostObjective(GhostPast ghost) { m_Ghost = ghost; }