2using System.Collections.Generic;
36 bool isInGuild = Guild.Fighter.IsCurrentZone || Guild.Mage.IsCurrentZone || Guild.Thief.IsCurrentZone ||
Guild.
Merchant.
IsCurrentZone;
37 string bird = (flag2 ?
"bird" :
"tail");
39 string rumor = (c.IsPCParty ? GetTalk(
"sup") :
GetRumor(c));
42 bool num = !c.IsUnique ||
HasTopic(
"unique", c.
id);
46 _Talk(
"tg", () => rumor);
53 sequence.firstTalk.funcText = () => rumor;
55 Hobby hobby = ((list.Count > 0) ? list[0] :
null);
60 GameLang.refDrama1 = c.
GetFavCat().GetName().ToLower();
62 rumor =
GetText(c,
"general",
"talk_fav");
67 GameLang.refDrama1 = hobby.
Name.ToLower();
68 rumor =
GetText(c,
"general",
"talk_hobby");
76 choice.forceHighlight =
true;
77 }).SetCondition(() => c.interest > 0);
95 if (!
item.CanDeliverToClient(c))
100 foreach (
Thing item2
in questDeliver.ListDestThing())
113 if (c.IsPCParty && !c.isSummon)
117 Choice2(
"daMakeHome",
"_makeHome");
119 if (c.host ==
null && c.homeZone !=
null)
121 Choice2(
"daLeaveParty".lang(c.homeZone.Name),
"_leaveParty");
126 Choice2(
"daQuest".lang(c.quest?.GetTitle() ??
""),
"_quest").
SetCondition(() => c.quest !=
null);
133 Choice2(
"daLostProperty".lang(thing.Name),
"_lostProperty").SetOnClick(delegate
142 if (c.trait.CanGuide)
182 if (c.trait.ShopType !=
ShopType.None)
184 if (!c.GetBool(
"disable_barter_choice"))
199 Choice2((
"daCopy" + c.trait.CopyShop).lang(c.trait.NumCopyItem.ToString() ??
""),
"_copyItem").
DisableSound();
212 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
216 if (condition ==
null)
236 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
241 if (c.trait.CanRevive)
249 if (c.trait.CanWhore)
251 Choice2(flag2 ?
"daBirdBuy" :
"daTailBuy",
"_whore");
257 if (c.trait.CanServeFood)
263 Choice2(
"daSellFame",
"_sellFame");
269 Choice2(
"daInvest",
"_investZone");
271 if (c.trait.CanInvest)
273 Choice2(
"daInvest",
"_investShop");
276 if (c.trait.CanIdentify)
279 Choice2(
"daIdentifyAll",
"_identifyAll");
282 if (c.trait.CanPicklock)
284 if (c.Evalue(280) < 20)
286 c.elements.SetBase(280, 20);
299 Choice2(
"daDeposit",
"_deposit");
303 Choice2(
"daExtraTax",
"_extraTax");
307 Choice2(
"daBlessing",
"_blessing");
316 if (condition2 ==
null)
318 if (c.HasElement(1232))
322 num3 = c.HasElement(1291);
337 if (c.IsHomeMember())
345 Choice2(
"daBuyLand",
"_buyLand");
346 Choice2(
"daChangeTitle",
"_changeTitle");
350 Choice2(
"enableMove",
"_enableMove");
352 if (!c.IsPCParty && c.memberType !=
FactionMemberType.Livestock && c.trait.CanJoinParty)
354 Choice2(
"daJoinParty",
"_joinParty");
356 if (!c.IsDisabled && (c.HasElement(1250) || (
EClass.
pc.
IsMofuable && c.ability.Has(6627))))
360 Choice2(
"daFactionOther",
"_factionOther");
364 Choice2(
"daGreatDebt",
"_greatDebt");
371 Step(
"_factionOther");
391 if (questDebt !=
null && questDebt.
gaveBill)
393 Choice(
"daGreatDebt2",
"_greatDebt2");
400 Choice((c.GetInt(106) == 0) ?
"daShutup" :
"daShutup2",
"_shutup");
401 if (c.CanInsult() || c.GetInt(108) == 1)
403 Choice((c.GetInt(108) == 0) ?
"daInsult" :
"daInsult2",
"_insult");
409 Choice(
"disableMove",
"_disableMove");
411 Choice((c.GetInt(123) == 0) ?
"daSleepBeside" :
"daSleepBeside2",
"_sleepBeside");
412 if (c.HasElement(1225))
414 Choice((c.GetInt(126) == 0) ?
"daDisableLoyal" :
"daDisableLoyal2",
"_disableLoyal");
416 if (c.IsSlimeEvolvable || c.ability.Has(6603) || c.HasElement(1216))
418 Choice((c.GetInt(119) == 0) ?
"daDisableFuck" :
"daDisableFuck2",
"_disableFuck");
420 if (c.GetInt(113) == 0)
422 Choice(
"daEquipSharedOff",
"_toggleSharedEquip");
426 Choice(
"daEquipSharedOn",
"_toggleSharedEquip");
430 Choice(
"daMakeMaid",
"_daMakeMaid");
432 if (c.trait.CanBeBanished && !c.IsPCParty)
434 Choice(
"daBanish",
"_depart");
437 Step(
"_toggleSharedEquip");
440 c.SetInt(113, (c.GetInt(113) == 0) ? 1 : 0);
442 _Talk(
"tg",
GetTopic(c, (c.GetInt(113) == 0) ?
"shutup" :
"shutup2"));
447 EClass.Branch.uidMaid = c.uid;
454 if (!c.trait.CanJoinPartyResident)
456 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
457 TempTalkTopic(
"invite3", StepDefault);
461 EClass.pc.party.AddMemeber(c, showMsg: true);
471 EClass.pc.Say(
"tame_send", c, c.homeZone.Name);
472 c.MoveZone(c.homeZone);
478 Step(
"_makeLivestock");
483 Talk(
"becomeLivestock",
StepEnd);
484 Step(
"_makeResident");
489 Talk(
"becomeResident",
StepEnd);
492 Choice(
"depart1",
"_depart1");
493 Choice(
"depart2",
"_depart2");
499 c.homeBranch.BanishMember(c);
506 Talk(
"gift_good",
null);
518 TempTalkTopic(
"goto",
"_goto2");
526 destCard.Teleport(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true) ?? EClass.pc.pos, silent: true, force: true);
534 Step(
"_lostProperty");
561 return (!taken()) ? c.quest.GetDetail() : c.quest.GetTalkProgress().IsEmpty(
GetTopic(c,
"questInProgress"));
563 string text2 =
"daAccept".lang();
564 if (c.quest !=
null && c.quest.deadline != 0)
566 text2 +=
"hintDeadline".lang(c.quest.TextDeadline).ToLower();
568 Choice(text2, (c.quest !=
null && c.quest.UseInstanceZone) ?
"_questAccept_instance" :
"_questAccept").
SetOnClick(delegate
597 Step(
"_questAccept");
599 Step(
"_questAccept_instance");
603 Zone z = c.quest.CreateInstanceZone(c);
614 TempTalkTopic(
"loytel_bill_give_wait",
StepDefault);
618 TempTalkTopic(
"loytel_bill_give_given",
StepDefault);
630 TempTalkTopic(
"loytel_bill_give_lost",
StepEnd);
636 c.SetInt(106, (c.GetInt(106) == 0) ? 1 : 0);
638 _Talk(
"tg",
GetTopic(c, (c.GetInt(106) == 0) ?
"shutup" :
"shutup2"));
640 Step(
"_sleepBeside");
643 if (c.affinity.CanSleepBeside() || c.GetInt(123) == 1)
645 c.SetInt(123, (c.GetInt(123) == 0) ? 1 : 0);
649 TempTalkTopic(
"refuse", StepEnd);
652 _Talk(
"tg",
GetTopic(c, (c.GetInt(123) == 0) ?
"ok" :
"shutup"));
657 if (!c.affinity.CanMarry())
659 TempTalkTopic(
"refuse", StepEnd);
671 destThing.rarity = Rarity.Mythical;
691 TempTalkTopic(
"wedding_deed", StepDefault);
695 TempTalkTopic(
"wedding_zone", StepDefault);
699 TempTalkTopic(
"wedding_confirm", null);
700 Choice(
"yes", delegate
702 TempTalkTopic(
"wedding_accept", null);
707 if (c.c_love != null)
709 c.c_love.dateWedding = EClass.world.date.GetRaw();
719 c.BanishAllMinions();
722 EClass.pc.party.AddMemeber(c);
726 if (item7 != EClass.pc && item7 != c)
728 EClass.pc.party.RemoveMember(item7);
733 ActRide.Unride(EClass.pc, c == EClass.pc.parasite, talk: false);
737 Zone z = quest.CreateInstanceZone(c);
740 state = ZoneTransition.EnterState.Exact,
747 Step(
"_disableLoyal");
750 c.SetInt(126, (c.GetInt(126) == 0) ? 1 : 0);
752 _Talk(
"tg", GetTopic(c, (c.GetInt(126) == 0) ?
"shutup" :
"shutup2"));
754 Step(
"_disableFuck");
757 c.SetInt(119, (c.GetInt(119) == 0) ? 1 : 0);
759 _Talk(
"tg", GetTopic(c, (c.GetInt(119) == 0) ?
"shutup" :
"shutup2"));
762 _Talk(
"tg", GetTalk(
"pervert4"));
765 if (c.HasElement(1250))
767 c.UseAbility(
"ActBloodsuck", EClass.pc);
779 c.SetInt(108, (c.GetInt(108) == 0) ? 1 : 0);
781 _Talk(
"tg", GetTopic(c, (c.GetInt(108) == 0) ?
"insult" :
"insult2"));
784 if (c.GetInt(108) == 1)
795 _Talk(
"tg", GetTopic(c,
"ok"));
798 Talk(
"rumor", StepDefault);
799 Choice(
"daAccept", StepDefault).SetOnClick(delegate
802 Choice(
"daDecline", StepDefault).SetOnClick(delegate
808 if (!c.trait.CanInvite)
810 string[] recruitItems = c.source.recruitItems;
811 if (!recruitItems.IsEmpty())
813 string[] array = recruitItems[0].Split(
'/');
814 string reqId = array[0];
815 int reqNum = array[1].ToInt();
816 CardBlueprint.Set(CardBlueprint.Original);
817 GameLang.refDrama1 = ThingGen.Create(reqId).SetNum(reqNum).Name;
818 TempTalkTopic(
"inviteReq1", null);
819 foreach (Thing t in EClass.pc.things.List((Thing thing) => thing.id == reqId && (thing.Num >= reqNum || EClass.debug.enable), onlyAccessible: true))
822 Choice(
"daDeliver".lang(
"", _t5.GetName(NameStyle.Full, _t5.Num)), delegate
825 TempTalk(
"hired", StepEnd);
826 EClass.Sound.Play(
"good");
827 if (c.id ==
"mamani")
829 Chara chara = CharaGen.Create(
"mamani2");
830 EClass._zone.AddCard(chara, EClass.pc.pos.GetNearestPoint());
838 }).SetOnTooltip(delegate(UITooltip a)
840 _t5.WriteNote(a.note);
843 Choice(
"no2", StepDefault, cancel: true).SetOnClick(RumorChill);
847 TempTalkTopic(
"invite2", StepDefault);
852 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
853 TempTalkTopic(
"invite3", StepDefault);
857 TempTalkTopic(
"invite", null);
858 Choice(
"yes", delegate
860 TempTalk(
"hired", StepEnd);
861 EClass.Sound.Play(
"good");
864 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
870 TempTalkTopic(
"guide",
null);
871 foreach (
Card guide
in GetListGuide())
873 Choice(
"daGotoGuide".lang(guide.
Name,
""),
"_goto").SetOnClick(delegate
878 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
885 TempTalkTopic(c.IsMarried ?
"tail4" : (bird +
"1"),
null);
886 Choice(
"yes2", delegate
888 TempTalkTopic(bird +
"2", StepEnd);
895 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
902 Steam.GetAchievement(ID_Achievement.MAMA);
904 if (!(id ==
"farris"))
908 Steam.GetAchievement(ID_Achievement.MAMA3);
913 Steam.GetAchievement(ID_Achievement.MAMA2);
915 TempTalkTopic(
"mama_yes", StepEnd);
919 variation = AI_Fuck.Variation.MotherMilk
924 TempTalkTopic(
"mama_no", StepDefault);
933 TempTalkTopic(
"baby_yes", StepEnd);
934 EClass.pc.SetAI(new AI_Fuck
937 variation = AI_Fuck.Variation.MotherMilk,
943 TempTalkTopic(
"baby_no", StepDefault);
952 TempTalkTopic(bird +
"3",
null);
953 Choice(
"yes2", delegate
957 TempTalkTopic(
"nomoney", StepDefault);
962 EClass.pc.ModCurrency(-costWhore);
963 TempTalkTopic(bird +
"2", StepEnd);
964 EClass.pc.SetAI(new AI_Fuck
970 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
977 TempTalkTopic(
"bird3",
null);
978 Choice(
"yes2", delegate
982 TempTalkTopic(
"lockTooHard", StepDefault);
986 TempTalkTopic(
"nomoney", StepDefault);
991 EClass.pc.ModCurrency(-cost);
992 manager.layer.SetOnKill(delegate
994 c.PlaySound(
"lock_open");
995 c.Say(
"lockpick_success", c, destThing);
996 c.ModExp(280, 200 + destThing.c_lockLv * 20);
997 destThing.c_lockLv = 0;
998 if (destThing.isLostProperty)
1000 EClass.player.ModKarma(-8);
1002 destThing.isLostProperty = false;
1004 TempTalkTopic(destThing.
isLostProperty ?
"lockpick_purse" :
"bird2", StepEnd);
1007 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1012 TempTalkTopic(
"blooming1",
null);
1016 Choice(
"daBloom".lang(c2.
Name), delegate
1018 if (EClass._zone.influence < 10)
1020 TempTalkTopic(
"blooming3", StepDefault);
1024 EClass._zone.ModInfluence(-10);
1025 LayerDrama.Instance.SetOnKill(delegate
1028 c2.Say(
"dingExp", c);
1029 c2.Talk(
"insulted");
1030 c2.SetFeat(1273, 1, msg: true);
1031 c2.PlayEffect(
"aura_heaven");
1033 EClass.pc.PlaySound(
"pray");
1035 TempTalkTopic(
"blooming2", StepEnd);
1039 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1044 if (c.id ==
"miral")
1046 SE.Play(
"click_chat");
1047 if (EClass.pc.GetCurrency(
"medal") > 0)
1049 TempTalkTopic(
"miral_medal", null);
1053 TempTalkTopic(
"miral_medal2", StepDefault);
1061 SE.Play(
"click_chat");
1062 TempTalkTopic(
"shop_blackmarket_noaccess", StepEnd);
1066 SE.Play(
"click_chat");
1067 TempTalkTopic(
"shop_criminal", StepEnd);
1072 manager.layer.Close();
1074 if ((bool)WidgetFeed.Instance)
1076 WidgetFeed.Instance.Talk(c,
"barter");
1080 }, () => !layer, StepDefault);
1084 List<ResearchPlan> plans =
new List<ResearchPlan>();
1094 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
1099 b.button1.mainText.text = a.
Name;
1103 uIItem.image1.sprite = c2.resource.Sprite;
1108 b.
button1.onClick.AddListener(delegate
1110 if (c2.resource.value < c2.cost)
1116 c2.resource.Mod(-c2.cost);
1120 list.
List(refreshHighlight:
true);
1123 b.RebuildLayout(recursive:
true);
1138 }, () => !layer, StepDefault);
1139 Step(
"_upgradeHearth");
1144 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ??
"";
1146 TempTalkTopic(
"upgrade_heath1",
null);
1147 Choice(
"yes", delegate
1151 TempTalkTopic(
"nomoney", StepDefault);
1155 EClass.pc.ModCurrency(-cost);
1157 LayerDrama.Instance.SetOnKill(delegate
1159 EClass.Branch.Upgrade();
1161 TempTalkTopic(
"upgrade_heath2", StepEnd);
1164 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1169 int cost = EClass.player.fame / 5;
1170 GameLang.refDrama1 = cost.ToString() ??
"";
1173 TempTalkTopic(
"goto2", StepDefault);
1177 TempTalkTopic(
"sellFame1",
null);
1178 Choice(
"yes", delegate
1183 TempTalkTopic(
"sellFame2", StepDefault);
1185 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1188 Step(
"_investZone");
1194 TempTalkTopic(
"invest1",
null);
1195 Choice(
"yes", delegate
1197 Invest(quick:
false);
1199 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1200 Choice(
"quickInvest", delegate
1202 Invest(quick:
true);
1204 void Invest(
bool quick)
1208 TempTalkTopic(
"nomoney", StepDefault);
1214 EClass._zone.investment += cost;
1220 TempGoto(
"_investZone");
1224 TempTalkTopic(
"invest2", StepDefault);
1229 Step(
"_investShop");
1235 TempTalkTopic(
"invest_shop1",
null);
1236 Choice(
"yes", delegate
1238 Invest(quick:
false);
1240 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1241 Choice(
"quickInvest", delegate
1243 Invest(quick:
true);
1245 void Invest(
bool quick)
1249 TempTalkTopic(
"nomoney", StepDefault);
1261 TempGoto(
"_investShop");
1265 TempTalkTopic(
"invest_shop2", StepDefault);
1270 Step(
"_changeTitle");
1273 EClass.player.title = WordGen.Get(
"title");
1275 TempTalk(
"changeTitle", StepDefault);
1276 },
null, StepDefault);
1282 GameLang.refDrama1 =
"";
1283 GameLang.refDrama2 = costLand.ToString() ??
"";
1286 TempTalkTopic(
"expand3", StepDefault);
1290 TempTalkTopic(
"expand1", StepDefault);
1291 Choice(
"yes", delegate
1295 TempTalkTopic(
"nomoney", StepDefault);
1300 EClass.pc.ModCurrency(-costLand,
"money2");
1301 TempTalkTopic(
"expand2", StepDefault);
1302 EClass._map.bounds.Expand(1);
1304 EClass._map.RefreshAllTiles();
1305 WidgetMinimap.UpdateMap();
1306 ScreenEffect.Play(
"Firework");
1309 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1326 }, () => !layer, StepDefault);
1331 TempTalkTopic(
"blessing", StepEnd);
1336 if (c.trait is TraitMiko_Mifu)
1338 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1342 member.AddCondition<ConEuphoric>()?.SetPerfume();
1346 member.AddCondition<ConNightVision>()?.SetPerfume();
1348 member.
Say(
"blessing", member);
1352 c.isRestocking =
true;
1361 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1388 b.imagePotential.enabled = flag5;
1392 b.mainText.text = b.mainText.text +
" " + (flag5 ?
"" : (
"notLearned".lang() +
" "));
1393 b.subText2.text = ((cost == 0) ?
"-" : (cost.ToString() ??
"")).TagColor(() => plat >= cost && cost != 0);
1396 onInstantiate = delegate
1403 if (a.tag.Contains(
"unused"))
1407 if (a.tag.Contains(
"guild"))
1431 return a.category ==
"skill" && a.categorySub == c.trait.IDTrainer;
1445 }, () => !layer, StepDefault);
1446 Step(
"_changeDomain");
1450 }, () => !layer, StepDefault);
1455 layer.SetOnKill(SE.PopDrama);
1460 }, () => !layer, StepDefault);
1464 LayerPeople.slaveToBuy =
null;
1466 layer.SetOnKill(SE.PopDrama);
1472 }, () => !layer,
"_buySlaveConfirm");
1473 Step(
"_buySlaveConfirm");
1484 GameLang.refDrama1 = cost.ToString() ??
"";
1485 GameLang.refDrama2 = tc.
Name;
1486 TempTalkTopic(
"slave_buy",
null);
1487 Choice(
"yes", delegate
1491 TempTalkTopic(
"nomoney", StepDefault);
1495 GameLang.refDrama1 = tc.Name;
1496 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1498 c.GetObj<SlaverData>(5).list.Remove(tc);
1499 TempTalkTopic(
"slave_buy2", StepEnd);
1502 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1510 }, () => !layer, StepDefault);
1518 }, () => !layer, StepDefault);
1519 Step(
"_identifyAll");
1522 int costIdentify = 0;
1523 int numIdentify = 0;
1524 int numSuperior = 0;
1530 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1533 GameLang.refDrama1 = costIdentify.ToString() ??
"";
1534 GameLang.refDrama2 = numIdentify.ToString() ??
"";
1535 if (numIdentify == 0)
1537 TempTalkTopic(
"appraise3", StepDefault);
1541 TempTalkTopic(
"appraise1", StepDefault);
1542 Choice(
"yes", delegate
1546 TempTalkTopic(
"nomoney", StepDefault);
1551 EClass.pc.ModCurrency(-costIdentify);
1552 foreach (Thing item11 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1554 item11.Thing.Identify(show: false);
1555 if (!item11.IsInstalled)
1560 TempTalkTopic(
"appraise2", StepDefault);
1563 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1566 Step(
"_identifySP");
1573 }, () => !layer, StepDefault);
1577 TempTalkTopic(
"bout1", StepDefault);
1578 Choice(
"yes", delegate
1594 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1596 TempTalkTopic(
"bout2", StepEnd);
1598 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1599 },
null, StepDefault);
1603 TempTalkTopic(
"rob1", StepDefault);
1604 Choice(
"yes_rob", delegate
1607 c.Talk(
"callGuards");
1610 if (chara2 == c || chara2.master == c)
1612 chara2.SetHostility(Hostility.Enemy);
1613 chara2.DoHostileAction(EClass.pc.party.members.RandomItem());
1618 EClass._zone.SetBGM(102);
1621 c.SetBool(129, enable:
true);
1623 Choice(
"no_rob", StepDefault, cancel:
true).SetOnClick(RumorChill);
1624 },
null, StepDefault);
1631 TempTalkTopic(
"news2",
null);
1635 zone.isKnown =
true;
1637 GameLang.refDrama1 = zone.
Name;
1638 TempTalkTopic(
"news1",
null);
1645 },
null, StepDefault);
1651 TempTalkTopic(
"healer1",
null);
1652 Choice(
"yes", delegate
1656 TempTalkTopic(
"nomoney", StepDefault);
1661 foreach (Chara member2 in EClass.pc.party.members)
1663 ActEffect.Proc(EffectId.HealComplete, member2);
1666 TempTalkTopic(
"healer2", StepEnd);
1669 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1676 TempTalkTopic(
"food1",
null);
1677 Choice(
"yes", delegate
1681 TempTalkTopic(
"alreadyFull", StepDefault);
1685 if (EClass.pc.GetCurrency() >= cost)
1688 EClass.pc.ModCurrency(-cost);
1689 TempTalkTopic(
"food2", StepDefault);
1691 foreach (Chara member3 in EClass.pc.party.members)
1693 if (member3.hunger.GetPhase() > 0)
1695 FoodEffect.Proc(member3, ThingGen.Create(
"dish_lunch"), consume: false);
1696 member3.hunger.value = 0;
1702 TempTalkTopic(
"nomoney", StepDefault);
1705 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1707 int[] bankTier =
new int[5] { 100, 1000, 10000, 100000, 1000000 };
1715 WidgetFeed.Instance.Talk(c,
"barter");
1717 SE.Play(
"shop_open");
1719 }, () => !layer, StepDefault);
1728 WidgetFeed.Instance.Talk(c,
"barter");
1730 SE.Play(
"shop_open");
1732 if (c.c_copyContainer ==
null)
1734 c.c_copyContainer = ThingGen.Create(
"container_deposit");
1736 int numCopyItem = c.trait.NumCopyItem;
1737 c.c_copyContainer.things.SetSize(numCopyItem, 1);
1739 }, () => !layer, StepDefault);
1741 int[] taxTier =
new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1746 TempTalkTopic(
"extraTax",
null);
1747 int[] array = taxTier;
1748 foreach (
int num4
in array)
1753 EClass.player.extraTax = _i;
1754 GameLang.refDrama1 = Lang._currency(_i,
"money");
1755 TempTalkTopic(
"extraTax2", StepDefault);
1758 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1764 GameLang.refDrama1 = bankMoney.ToString() ??
"";
1765 TempTalkTopic(
"banker2",
null);
1766 int[] array = bankTier;
1767 foreach (
int num4
in array)
1775 EClass.pc.ModCurrency(_i);
1776 EClass.player.bankMoney -= _i;
1777 TempTalkTopic(
"banker4", StepDefault);
1781 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1783 Step(
"_disableMove");
1787 c.orgPos =
new Point(c.pos);
1791 Step(
"_enableMove");
1809 Method(RumorChill,
null, StepDefault);
1811 string GetTalk(
string id)
1813 return c.GetTalkText(
id);
1817 rumor = GetTalk(
"chill");
1819 void Talk(
string idTalk,
string idJump)
1821 _Talk(
"tg", GetTalk(idTalk), idJump);
1825 EnableCancel(
"back");
1827 void TempTalk(
string idTalk,
string idJump)
1829 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1831 void TempTalkTopic(
string idTopc,
string idJump)
1833 _TempTalk(
"tg", GetTopic(c, idTopc), idJump);
1837 if (c.quest !=
null)
1849 return GetText(c,
"rumor",
"bored");
1851 if (HasTopic(
"unique", c.
id))
1853 return GetText(c,
"unique", c.
id);
1873 return GetText(c,
"rumor",
"hint");
1875 return GetText(c,
"rumor",
"default");
1890 if (!(idSheet !=
"unique"))
1892 return dialog.RandomItem();
1894 return c.
ApplyTone(dialog.RandomItem());
1899 return GetText(c,
"general", idTopic);
1905 string[] array = setup.
textData.Split(
new string[1] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
1906 foreach (
string text
in array)
1908 if (!(text == Environment.NewLine))
1910 _Talk(
"", text.TrimStart(Environment.NewLine.ToCharArray()).TrimEnd(Environment.NewLine.ToCharArray()));
1919 e.sequence = sequence;
1931 public void Method(Action action, Func<bool> endFunc =
null,
string idJump =
null)
1937 if (!idJump.IsEmpty())
1958 public void _Talk(
string idActor,
string text,
string idJump =
null)
1968 public void _Talk(
string idActor, Func<string> funcText,
string idJump =
null)
1978 public void _TempTalk(
string idActor,
string text,
string idJump =
null)
1993 sequence.
Play(idJump);
2002 EnableCancel(idJump);
2010 dramaChoice.onJump = onJump;
2025 manager.lastTalk.canCancel =
true;
2026 manager.lastTalk.idCancelJump = idCancelJump;
2031 List<Card> list =
new List<Card>();
static bool not(DramaManager dm, Dictionary< string, string > line, params string[] parameters)
static int Picklock(Chara c, Thing t)
static int InvestZone(Chara c)
static int Identify(Chara c, bool superior)
static int BuySlave(Chara c)
static int InvestShop(Chara c, Chara tc)
static int Whore(Chara seller, Chara buyer)
static int Learn(Chara c, Element e)
static int Train(Chara c, Element _e)
ElementContainerCard elements
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
int GetCurrency(string id="money")
string GetTalkText(string idTopic, bool stripPun=false, bool useDefault=true)
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
void ModCurrency(int a, string id="money")
bool TryPay(int a, string id="money")
void ModExp(string alias, int a)
int GetInt(string id, int? defaultInt=null)
bool HasElement(int ele, bool includeNagative=false)
void Say(string lang, string ref1=null, string ref2=null)
string ApplyTone(string text, bool stripPun=false)
SourceCategory.Row GetFavCat()
override bool IsAliveInCurrentZone
BaseCondition GetCondition(string idCon)
bool HasCondition(string alias)
override bool IsPCFaction
void SetAIImmediate(AIAct g)
List< Hobby > ListHobbies(bool useMemberType=true)
SourceThing.Row GetFavFood()
void MoveZone(string alias)
int GetRaw(int offsetHours=0)
DramaChoice SetCondition(Func< bool > condition)
DramaChoice DisableSound()
DramaChoice SetOnClick(Action action)
void _TempTalk(string idActor, string text, string idJump=null)
void Method(Action action, Func< bool > endFunc=null, string idJump=null)
void EnableCancel(string idCancelJump=null)
DramaChoice Choice(string lang, Action onJump)
void _Talk(string idActor, string text, string idJump=null)
DramaChoice Choice2(string lang, string idJump)
List< DramaEvent > events
List< Card > GetListGuide()
DramaEvent Event(DramaEvent e)
string GetTopic(Chara c, string idTopic=null)
void _Talk(string idActor, Func< string > funcText, string idJump=null)
bool HasTopic(string idSheet, string idTopic)
DramaChoice Choice(string lang, string idJump, bool cancel=false)
void TempGoto(string idJump=null)
string GetText(Chara c, string idSheet, string idTopic)
void AddChoice(DramaChoice choice)
List< DramaChoice > _choices
Dictionary< string, string > customTalkTopics
List< DramaEvent > tempEvents
static SourceManager sources
static FactionBranch Branch
static FactionBranch BranchOrHomeBranch
void Train(int ele, int a=10)
void Learn(int ele, int v=1)
Element ModBase(int ele, int v)
Element GetElement(string alias)
static Element Create(int id, int v=0)
ResearchManager researches
string GetHearthHint(int a)
HomeResourceManager resources
void AddContribution(int a)
ReligionManager religions
override bool IsCurrentZone
override bool IsCurrentZone
override bool IsCurrentZone
override bool IsCurrentZone
static GuildMerchant Merchant
static GuildFighter Fighter
static Guild GetCurrentGuild()
static string[] GetDialog(string idSheet, string idTopic)
static ExcelData.Sheet GetDialogSheet(string idSheet)
static string _currency(object a, string IDCurrency)
static LayerDragGrid CreateGive(Chara c)
static LayerDragGrid CreateIdentify(Chara cc, bool superior=false, BlessedState state=BlessedState.Normal, int price=0, int count=1)
static LayerDrama Activate(string book, string idSheet, string idStep, Chara target=null, Card ref1=null, string tag="")
static LayerDrama Instance
static LayerInventory CreateContainer(Card owner)
static LayerInventory CreateBuy(Card c, CurrencyType currency=CurrencyType.Money, PriceType price=PriceType.Default)
static LayerPeople Create(Mode mode)
Layer SetTitles(string langList, string idHeaderRow=null)
Layer SetOnKill(Action action)
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
static async UniTask< bool > SendChat(string name, string msg, ChatCategory cat, string idLang)
void RemoveMember(Chara c)
void RequestPathImmediate(PathProgress progress)
static PathManager Instance
Layer SelectDomain(Action onKill=null)
void EndTurn(bool consume=true)
string GetIdTalk_GiveBill()
List< Thing > ListDestThing(bool onlyFirst=false)
Quest Start(string id, string idGlobalChara)
virtual bool IsRandomQuest
virtual string GetTalkComplete()
static Quest Create(string _id, string _idPerson=null, Chara c=null, bool assignQuest=true)
virtual string GetTitle()
virtual string NameDeliver
virtual bool Deliver(Chara c, Thing t=null)
Zone CreateRandomSite(Zone center, int radius=8, string idSource=null, bool updateMesh=true, int lv=0)
ReligionMoonShadow MoonShadow
bool IsListBarter(string idPlan)
static ResearchPlan Create(string id)
SourceResearch.Row source
SourceResearch researches
static Zone CreateInstance(string id, ZoneInstance instance)
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)
void Foreach(Action< Thing > action, bool onlyAccessible=true)
override void WriteNote(UINote n, Action< UINote > onWriteNote=null, IInspect.NoteMode mode=IInspect.NoteMode.Default, Recipe recipe=null)
override string GetName(NameStyle style, int _num=-1)
virtual bool NeedBoutToJoin
override void Add(object item)
static Transform Instantiate(string path, Component parent=null)
void AddPreEnter(ZonePreEnterEvent e, bool executeIfActiveZone=true)
Dictionary< int, string > dictCitizen
Chara FindChara(string id)
virtual bool AllowCriminal
void ModDevelopment(int a)