public override void OnRead() { Victoria victoria = ((TheSummoningQuest)System).Victoria; if (victoria == null) { System.From.SendMessage("Internal error: unable to find Victoria. Quest unable to continue."); System.Cancel(); } else { SummoningAltar altar = victoria.Altar; if (altar == null) { System.From.SendMessage("Internal error: unable to find summoning altar. Quest unable to continue."); System.Cancel(); } else if (altar.Daemon == null || !altar.Daemon.Alive) { BoneDemon daemon = new BoneDemon(); daemon.MoveToWorld(altar.Location, altar.Map); altar.Daemon = daemon; System.AddObjective(new VanquishDaemonObjective(daemon)); } else { victoria.SayTo(System.From, "The devourer has already been summoned."); ((TheSummoningQuest)System).WaitForSummon = true; } } }
public override void OnComplete() { Victoria victoria = ((TheSummoningQuest)System).Victoria; if (victoria == null) { System.From.SendMessage("Internal error: unable to find Victoria. Quest unable to continue."); System.Cancel(); } else { SummoningAltar altar = victoria.Altar; if (altar == null) { System.From.SendMessage("Internal error: unable to find summoning altar. Quest unable to continue."); System.Cancel(); } else if (altar.Daemon == null || !altar.Daemon.Alive) { System.AddConversation(new VanquishDaemonConversation()); } else { victoria.SayTo(System.From, "The devourer has already been summoned. Return when the devourer has been slain and I will summon it for you."); ((TheSummoningQuest)System).WaitForSummon = true; } } }