public static DesireCollection Build() { DesireCollection collection = new DesireCollection(); /* Desordenamos los deseos, pero mantenemos el Brass Ring en primer lugar, * ya que es el item que nos da Gareth al principio de la Quest, y el Iron * Chain en último lugar, ya que es el que debemos devolverle al final. */ DesireDefinition[] desires = Utility.Shuffle(BaseErrand.Desires, 1, BaseErrand.Desires.Length - 2); /* Desordenamos los NPCs, pero mantenemos a Sean en último lugar, ya que él * da siempre el último item que debemos devolverle a Gareth. */ Type[] errandTypes = Utility.Shuffle(BaseErrand.ErrandTypes, 0, BaseErrand.ErrandTypes.Length - 1); for (int i = 0; i < errandTypes.Length; i++) { Type errandType = errandTypes[i]; DesireDefinition desire = desires[i]; DesireDefinition gift = desires[i + 1]; bool givesDesireInfo = Utility.RandomBool(); collection.m_Desires.Add(errandType, new DesireInfo(desire, gift, givesDesireInfo)); } /* Sean siempre da información sobre lo que quiere, no sobre lo que da, * ya que siempre da el Iron Chain. */ collection.m_Desires[typeof(Sean)].GivesDesireInfo = true; return(collection); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); /*int version = */ reader.ReadInt(); m_Desires = new DesireCollection(reader); }
public override void OnAccept() { base.OnAccept(); Owner.PlaceInBackpack(new BrassRing()); Owner.PlaceInBackpack(new PlainGreyCloak()); m_Desires = DesireCollection.Build(); }
public static DesireInfo GetDesireFor(PlayerMobile pm, BaseErrand errand) { DesireCollection collection = WhosMostHumbleQuest.GetDesires(pm); Type errandType = errand.GetType(); if (collection != null && collection.Desires.ContainsKey(errandType)) { return(collection.Desires[errandType]); } return(null); }
public static DesireCollection Build() { DesireCollection collection = new DesireCollection(); /* Desordenamos los deseos, pero mantenemos el Brass Ring en primer lugar, * ya que es el item que nos da Gareth al principio de la Quest, y el Iron * Chain en último lugar, ya que es el que debemos devolverle al final. */ DesireDefinition[] desires = Utility.Shuffle( BaseErrand.Desires, 1, BaseErrand.Desires.Length - 2 ); /* Desordenamos los NPCs, pero mantenemos a Sean en último lugar, ya que él * da siempre el último item que debemos devolverle a Gareth. */ Type[] errandTypes = Utility.Shuffle( BaseErrand.ErrandTypes, 0, BaseErrand.ErrandTypes.Length - 1 ); for ( int i = 0; i < errandTypes.Length; i++ ) { Type errandType = errandTypes[i]; DesireDefinition desire = desires[i]; DesireDefinition gift = desires[i + 1]; bool givesDesireInfo = Utility.RandomBool(); collection.m_Desires.Add( errandType, new DesireInfo( desire, gift, givesDesireInfo ) ); } /* Sean siempre da información sobre lo que quiere, no sobre lo que da, * ya que siempre da el Iron Chain. */ collection.m_Desires[typeof( Sean )].GivesDesireInfo = true; return collection; }