static public Dialogue_Prompt TakeRegisterMoney(Resources_Player player, Resources_Shopkeeper shopkeeper, int amount) { shopkeeper.home.money -= amount; player.money += amount; Dialogue_Prompt_Logic.Root(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_root")); }
static public Dialogue_Prompt DefaultAmount(Resources_Player player, Resources_Shopkeeper shopkeeper, int askingPrice) { Resources_Building shop = shopkeeper.home; float profit = shop.income - shop.expenses; if (profit == 0) { profit = 0.0001f; } float affordValue = 2 * ((1 - askingPrice / profit * shopkeeper.greed) * (shopkeeper.fear / shopkeeper.greed) - 50); float strengthValue = (Utilities.difficultyHandicap / 5 + player.strength) * player.presence - (shopkeeper.strength * 100 / shopkeeper.fear); float moralValue = Utilities.difficultyHandicap * shopkeeper.fear / 10 - shopkeeper.integrity / shopkeeper.respect; Debug.Log("Afford Value: " + affordValue + ". Strength Value: " + strengthValue + ". Moral Value: " + moralValue + ". Total: " + (affordValue + strengthValue + moralValue) + "."); if ((affordValue + strengthValue + moralValue) >= 0) { Dialogue_Prompt_Logic.OfferAccepted(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_offerAccepted")); } else { Dialogue_Prompt_Logic.OfferRefused(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_offerRefused")); } }
static public Dialogue_Prompt EnterShop() { Dialogue_Prompt_Logic.Greeting(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_greeting")); /* * return Dialogue_Prompt.GetPromptByName("dialogue_prompt_assaultInitial"); * return Dialogue_Prompt.GetPromptByName("dialogue_prompt_assaultSecondary"); * return Dialogue_Prompt.GetPromptByName("dialogue_prompt_problemWithPayment"); * return Dialogue_Prompt.GetPromptByName("dialogue_prompt_paymentFull"); * return Dialogue_Prompt.GetPromptByName("dialogue_prompt_paymentPartial"); * return Dialogue_Prompt.GetPromptByName("dialogue_prompt_paymentNone"); */ }
private void SetOptions() { UnityEngine.Events.UnityAction[] actions = GetButtonActionFromDict((Dialogue_Prompt_Logic.FilterKeys(currentDialoguePrompt, shopkeeperRef)).ToArray()); for (int i = 0; i < actions.Length; ++i) { SetBtnActions(i + 1, actions [i]); } List <string> buttonKeys = Dialogue_Prompt_Logic.FilterKeys(currentDialoguePrompt, shopkeeperRef); string[] choicesString = new string[6]; for (int i = 0; i < buttonKeys.Count; ++i) { string buttonTextKey = Dialogue_Option.GetOptionByName(buttonKeys[i]).buttonTextKey; List <string> parameters = new List <string>(); switch (buttonKeys[i]) { case "dialogue_option_shopProduct": { if (i < shopkeeperRef.home.inventory.items.Count && shopkeeperRef.home.inventory.items[i] != null) { string parameter = Localization.LocalizeText(shopkeeperRef.home.inventory.items[i].id); parameters.Add(parameter); choicesString[i] = Localization.LocalizeText(buttonTextKey, parameters); } else { choicesString[i] = "DISABLE ME!"; } break; } //case "dialogue_option_confirmPurchase": { //parameters.Add (); //break; } default: { choicesString[i] = Localization.LocalizeText(buttonTextKey); break; } } } choicesText.Clear(); choicesText = choicesString.ToList(); SetChoices(choicesString); }
static public Dialogue_Prompt ConfirmPurchase(int playerCash, Item_Root item) { if (playerCash >= item.price) { Resources_Player.instance.inventory.GetItem(item); Resources_Player.instance.money -= item.price; DialogueInterface.Instance.shopkeeperRef.home.money += item.price; Dialogue_Prompt_Logic.PurchaseSuccessful(); DialogueInterface.Instance.shopkeeperRef.respect += 5; return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_purchaseSuccessful")); } else { Dialogue_Prompt_Logic.PurchaseFailed(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_purchaseFailed")); } }
static public Dialogue_Prompt ShopProduct() { Dialogue_Prompt_Logic.ConfirmPurchase(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_confirmPurchase")); }
static public Dialogue_Prompt ReturnGreeting() { Dialogue_Prompt_Logic.Root(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_root")); }
static public Dialogue_Prompt ExitShop() { Dialogue_Prompt_Logic.Goodbye(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_goodbye")); }
static public Dialogue_Prompt Placate() { Dialogue_Prompt_Logic.Placated(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_placated")); }
static public Dialogue_Prompt OfferProtection() { Dialogue_Prompt_Logic.SchedulePayment(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_schedulePayment")); }
static public Dialogue_Prompt CancelPurchase() { Dialogue_Prompt_Logic.Root(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_root")); }
static public Dialogue_Prompt HearProposition() { Dialogue_Prompt_Logic.AskToLowerPayment(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_askToLowerPayment")); }
static public Dialogue_Prompt GoShopping() { Dialogue_Prompt_Logic.ShopInventory(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_shopInventory")); }
static public Dialogue_Prompt GetDetails() { Dialogue_Prompt_Logic.GiveDetails(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_giveDetails")); }
static public Dialogue_Prompt Accept() { Dialogue_Prompt_Logic.Root(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_root")); }
static public Dialogue_Prompt ContinueIntimidating() { Dialogue_Prompt_Logic.Intimidate(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_intimidate")); }
static public Dialogue_Prompt Renegotiate() { Dialogue_Prompt_Logic.SchedulePayment(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_schedulePayment")); }
static public Dialogue_Prompt Donate() { Debug.Log("THIS LOGIC IS MISSING"); // TODO: Dialogue_Prompt_Logic.Root(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_root")); }
static public Dialogue_Prompt RequestPayment(Resources_Player player, Resources_Shopkeeper shopkeeper) { int randNum = Random.Range(0, 50); int paymentAmount = shopkeeper.home.payment; // Determine if the shopkeeper is feeling cocky enough to not pay you. if (randNum > shopkeeper.respect && shopkeeper.strength > player.strength) { // The shopkeeper doesn't respect you, and isn't afraid of you, so you are not getting your payment Dialogue_Prompt_Logic.PaymentNone(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_paymentNone")); } else { // Check to see if the store can afford to make the payment if (shopkeeper.home.money < paymentAmount) { // If the shop can't afford the payment // Check to see if the shopkeeper is fearful enough to try to pay out of pocket if (shopkeeper.fear > 50) { // The shopkeeper is fearful enought to pay out of pocket // Check to see if the shopkeeper can afford it if (shopkeeper.home.money + shopkeeper.money < paymentAmount) { // The shopkeeper can't make up the difference and must pay only partially player.money += shopkeeper.home.money; shopkeeper.home.money = 0; Dialogue_Prompt_Logic.PaymentPartial(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_paymentPartial")); } else { // The shopkeeper will make up the difference out of pocket player.money += paymentAmount; int difAmount = paymentAmount; difAmount -= shopkeeper.home.money; shopkeeper.home.money = 0; shopkeeper.money -= difAmount; Dialogue_Prompt_Logic.PaymentFull(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_paymentFull")); } } else { // The shopkeeper is unwilling to pay out of pocket and will pay only partially player.money += shopkeeper.home.money; shopkeeper.home.money = 0; Dialogue_Prompt_Logic.PaymentPartial(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_paymentPartial")); } } else { // The shopkeeper can afford the full payment player.money += paymentAmount; shopkeeper.home.money -= paymentAmount; Dialogue_Prompt_Logic.PaymentFull(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_paymentFull")); } } }
static public void AddFollowUps() { for (int i = 0; i < dialoguePrompts.Count; i++) { string id = dialoguePrompts[i]; switch (id) { case "dialogue_prompt_aidingBusiness": { Dialogue_Prompt_Logic.SetOptions_AidingBusiness(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_askToLowerPayment": { Dialogue_Prompt_Logic.SetOptions_AskToLowerPayment(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_assaultInitial": { Dialogue_Prompt_Logic.SetOptions_AssaultInitial(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_assaultSecondary": { Dialogue_Prompt_Logic.SetOptions_AssaultSecondary(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_confirmPurchase": { Dialogue_Prompt_Logic.SetOptions_ConfirmPurchase(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_giveDetails": { Dialogue_Prompt_Logic.SetOptions_GiveDetails(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_goodbye": { Dialogue_Prompt_Logic.SetOptions_Goodbye(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_greeting": { Dialogue_Prompt_Logic.SetOptions_Greeting(Dialogue_Prompt.GetPromptByName(id)); break; } /* * case "dialogue_prompt_intimidate": { * Dialogue_Prompt_Logic.SetOptions_Intimidate(Dialogue_Prompt.GetPromptByName(id)); * break; } * case "dialogue_prompt_intimidate_action": { * Dialogue_Prompt_Logic.SetOptions_Intimidate_Action(Dialogue_Prompt.GetPromptByName(id)); * break; } * case "dialogue_prompt_intimidatedCallsPolice": { * Dialogue_Prompt_Logic.SetOptions_IntimidatedCallsPolice(Dialogue_Prompt.GetPromptByName(id)); * break; } * case "dialogue_prompt_intimidatedFightsBack": { * Dialogue_Prompt_Logic.SetOptions_IntimidatedFightsBack(Dialogue_Prompt.GetPromptByName(id)); * break; } * case "dialogue_prompt_intimidatedRattled": { * Dialogue_Prompt_Logic.SetOptions_IntimidatedRattled(Dialogue_Prompt.GetPromptByName(id)); * break; } * case "dialogue_prompt_intimidatedUnaffected": { * Dialogue_Prompt_Logic.SetOptions_IntimidatedUnaffected(Dialogue_Prompt.GetPromptByName(id)); * break; } */ case "dialogue_prompt_offerAccepted": { Dialogue_Prompt_Logic.SetOptions_OfferAccepted(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_offerRefused": { Dialogue_Prompt_Logic.SetOptions_OfferRefused(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_outsideShop": { Dialogue_Prompt_Logic.SetOptions_OutsideShop(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_paymentFull": { Dialogue_Prompt_Logic.SetOptions_PaymentFull(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_paymentNone": { Dialogue_Prompt_Logic.SetOptions_PaymentNone(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_paymentPartial": { Dialogue_Prompt_Logic.SetOptions_PaymentPartial(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_placated": { Dialogue_Prompt_Logic.SetOptions_Placated(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_problemWithPayment": { Dialogue_Prompt_Logic.SetOptions_ProblemWithPayment(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_purchaseFailed": { Dialogue_Prompt_Logic.SetOptions_PurchaseFailed(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_purchaseSuccessful": { Dialogue_Prompt_Logic.SetOptions_PurchaseSuccessful(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_registerEmpty": { Dialogue_Prompt_Logic.SetOptions_RegisterEmpty(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_registerSomeMoney": { Dialogue_Prompt_Logic.SetOptions_RegisterSomeMoney(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_registerHiddenMoney": { Dialogue_Prompt_Logic.SetOptions_RegisterHiddenMoney(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_registerTakeOrLeaveMoney": { Dialogue_Prompt_Logic.SetOptions_RegisterTakeOrLeaveMoney(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_root": { Dialogue_Prompt_Logic.SetOptions_Root(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_schedulePayment": { Dialogue_Prompt_Logic.SetOptions_SchedulePayment(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_shopInventory": { Dialogue_Prompt_Logic.SetOptions_ShopInventory(Dialogue_Prompt.GetPromptByName(id)); break; } case "dialogue_prompt_smallTalk": { Dialogue_Prompt_Logic.SetOptions_SmallTalk(Dialogue_Prompt.GetPromptByName(id)); break; } default: { Debug.LogWarning("PROMPT NOT RECOGNIZED! " + id); break; } } } }
static public Dialogue_Prompt ChitChat() { Dialogue_Prompt_Logic.SmallTalk(); return(Dialogue_Prompt.GetPromptByName("dialogue_prompt_smallTalk")); }