/*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); }
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); }
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); }