public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Daemon = reader.ReadMobile() as BoneDaemon; CheckDaemon(); }
public void CheckDaemon() { if ( m_Daemon == null || !m_Daemon.Alive ) { m_Daemon = null; Hue = 0; } else { Hue = 0x66D; } }
public override void ChildDeserialize( GenericReader reader ) { int version = reader.ReadEncodedInt(); m_Daemon = reader.ReadMobile() as BoneDaemon; m_CorpseWithSkull = reader.ReadItem() as Corpse; }
public VanquishDaemonObjective( BoneDaemon daemon ) { m_Daemon = daemon; }
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 ) { BoneDaemon daemon = new BoneDaemon(); 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; } } }