Esempio n. 1
0
        /*public string storyoptions(string key,string alt){
         *      List<string> output = new List<string>();
         *      foreach(acegiak_RomancePreference preferece in preferences){
         *              string newstring = preferece.getstoryoption(key);
         *              if(newstring != null){
         *                      output.Add(newstring);
         *              }
         *      }
         *      if(output.Count > 0){
         *              return output[Stat.Rnd2.Next(output.Count)];
         *      }
         *      return alt;
         * }*/

        public void AssessDate(GameObject Date, GameObject DateObject)
        {
            havePreference();
            float  value  = (Stat.Rnd2.Next(1, 4) - 2);
            string output = ParentObject.The + ParentObject.ShortDisplayName + " joins you at " + DateObject.the + DateObject.ShortDisplayName;

            foreach (acegiak_RomancePreference preferece in preferences)
            {
                acegiak_RomancePreferenceResult result = preferece.DateAssess(Date, DateObject);

                if (result != null)
                {
                    value  += result.amount;
                    output += "\n" + result.explanation;
                    //IPart.AddPlayerMessage("" + ParentObject.the + ParentObject.DisplayNameOnly + "&Y "+result.explanation);
                }
            }
            Popup.Show(output);
            ParentObject.pBrain.AdjustFeeling(Date, (int)(value * 10));
            Date.GetPart <acegiak_Romancable>().date = null;
            if (value < 1)
            {
                this.patience -= 2;
            }
            else
            {
                this.patience -= 1;
            }
            JournalAPI.AddAccomplishment("&y You took " + ParentObject.a + ParentObject.DisplayNameOnlyDirect + " on a date to " + DateObject.the + DateObject.DisplayNameOnlyDirect + " and " + ParentObject.it + (value > 0?" was&G":" was &rnot") + " impressed&y.", "general", null, -1L);
        }
Esempio n. 2
0
        public acegiak_RomancePreferenceResult assessGift(GameObject GO, GameObject who)
        {
            havePreference();
            float value = 0;

            acegiak_RomancePreferenceResult ret = new acegiak_RomancePreferenceResult(0, "");

            foreach (acegiak_RomancePreference preferece in preferences)
            {
                acegiak_RomancePreferenceResult result = preferece.GiftRecieve(who, GO);

                if (result != null)
                {
                    if (GO.GetPart <Commerce>() != null && GO.GetPart <Commerce>().Value > 1)
                    {
                        result.amount = ((float)result.amount) * ((float)GO.GetPart <Commerce>().Value);
                    }
                    ret.amount     += result.amount;
                    ret.explanation = ret.explanation + "\n" + result.explanation;
                    //IPart.AddPlayerMessage("" + ParentObject.the + ParentObject.DisplayNameOnly + "&Y "+result.explanation);
                }
            }
            if (isGOaFactionHeirloom(GO))
            {
                ret.amount     += 1;
                ret.explanation = ret.explanation + "\nIt is favorable to " + XRL.World.Factions.getIfExists(ParentObject.pBrain.GetPrimaryFaction()).DisplayName;
            }
            //Log("GIFT ASSESS:"+GO.DisplayNameOnly+":"+ret.amount.ToString()+"\n"+ret.explanation);
            return(ret);
        }
Esempio n. 3
0
        public acegiak_RomancePreferenceResult assessGift(GameObject GO, GameObject who)
        {
            havePreference();
            float value = 0;

            acegiak_RomancePreferenceResult ret = new acegiak_RomancePreferenceResult(0, "");

            foreach (acegiak_RomancePreference preferece in preferences)
            {
                acegiak_RomancePreferenceResult result = preferece.GiftRecieve(GO, who);

                if (result != null)
                {
                    if (GO.GetPart <Commerce>() != null && GO.GetPart <Commerce>().Value > 1)
                    {
                        result.amount = ((float)result.amount) * ((float)GO.GetPart <Commerce>().Value);
                    }
                    ret.amount     += result.amount;
                    ret.explanation = ret.explanation + "\n" + result.explanation;
                    //IPart.AddPlayerMessage("" + ParentObject.the + ParentObject.DisplayNameOnly + "&Y "+result.explanation);
                }
            }
            return(ret);
        }