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 = ((list2.Count > 0) ? list2[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(_t.Name),
"_lostProperty").SetOnClick(delegate
142 if (c.trait.CanGuide)
182 if (c.trait.ShopType != 0)
184 if (!c.GetBool(
"disable_barter_choice"))
193 if (c.trait.SlaverType != 0)
197 if (c.trait.CopyShop != 0)
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");
244 if (c.trait.CanRevive)
252 if (c.trait.CanWhore)
254 Choice2(flag2 ?
"daBirdBuy" :
"daTailBuy",
"_whore");
260 if (c.trait.CanServeFood)
266 Choice2(
"daSellFame",
"_sellFame");
272 Choice2(
"daInvest",
"_investZone");
274 if (c.trait.CanInvest)
276 Choice2(
"daInvest",
"_investShop");
279 if (c.trait.CanIdentify)
282 Choice2(
"daIdentifyAll",
"_identifyAll");
285 if (c.trait.CanPicklock)
287 if (c.Evalue(280) < 20)
289 c.elements.SetBase(280, 20);
302 Choice2(
"daDeposit",
"_deposit");
306 Choice2(
"daExtraTax",
"_extraTax");
310 Choice2(
"daBlessing",
"_blessing");
319 if (condition2 ==
null)
321 if (c.HasElement(1232))
325 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.GetInt(113) == 0)
418 Choice(
"daEquipSharedOff",
"_toggleSharedEquip");
422 Choice(
"daEquipSharedOn",
"_toggleSharedEquip");
426 Choice(
"daMakeMaid",
"_daMakeMaid");
428 if (c.trait.CanBeBanished && !c.IsPCParty)
430 Choice(
"daBanish",
"_depart");
433 Step(
"_toggleSharedEquip");
436 c.SetInt(113, (c.GetInt(113) == 0) ? 1 : 0);
438 _Talk(
"tg",
GetTopic(c, (c.GetInt(113) == 0) ?
"shutup" :
"shutup2"));
443 EClass.Branch.uidMaid = c.uid;
450 if (!c.trait.CanJoinPartyResident)
452 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
453 TempTalkTopic(
"invite3", StepDefault);
457 EClass.pc.party.AddMemeber(c, showMsg: true);
467 EClass.pc.Say(
"tame_send", c, c.homeZone.Name);
468 c.MoveZone(c.homeZone);
474 Step(
"_makeLivestock");
479 Talk(
"becomeLivestock",
StepEnd);
480 Step(
"_makeResident");
485 Talk(
"becomeResident",
StepEnd);
488 Choice(
"depart1",
"_depart1");
489 Choice(
"depart2",
"_depart2");
495 c.homeBranch.BanishMember(c);
502 Talk(
"gift_good",
null);
514 TempTalkTopic(
"goto",
"_goto2");
522 destCard.Teleport(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true) ?? EClass.pc.pos, silent: true, force: true);
530 Step(
"_lostProperty");
557 return (!taken()) ? c.quest.GetDetail() : c.quest.GetTalkProgress().IsEmpty(
GetTopic(c,
"questInProgress"));
559 string text2 =
"daAccept".lang();
560 if (c.quest !=
null && c.quest.deadline != 0)
562 text2 +=
"hintDeadline".lang(c.quest.TextDeadline).ToLower();
564 Choice(text2, (c.quest !=
null && c.quest.UseInstanceZone) ?
"_questAccept_instance" :
"_questAccept").
SetOnClick(delegate
593 Step(
"_questAccept");
595 Step(
"_questAccept_instance");
599 Zone z3 = c.quest.CreateInstanceZone(c);
610 TempTalkTopic(
"loytel_bill_give_wait",
StepDefault);
614 TempTalkTopic(
"loytel_bill_give_given",
StepDefault);
626 TempTalkTopic(
"loytel_bill_give_lost",
StepEnd);
632 c.SetInt(106, (c.GetInt(106) == 0) ? 1 : 0);
634 _Talk(
"tg",
GetTopic(c, (c.GetInt(106) == 0) ?
"shutup" :
"shutup2"));
636 Step(
"_sleepBeside");
639 if (c.affinity.CanSleepBeside() || c.GetInt(123) == 1)
641 c.SetInt(123, (c.GetInt(123) == 0) ? 1 : 0);
645 TempTalkTopic(
"refuse", StepEnd);
648 _Talk(
"tg",
GetTopic(c, (c.GetInt(123) == 0) ?
"ok" :
"shutup"));
653 if (!c.affinity.CanMarry())
655 TempTalkTopic(
"refuse", StepEnd);
667 destThing.rarity = Rarity.Mythical;
687 TempTalkTopic(
"wedding_deed", StepDefault);
691 TempTalkTopic(
"wedding_zone", StepDefault);
695 TempTalkTopic(
"wedding_confirm", null);
696 Choice(
"yes", delegate
698 TempTalkTopic(
"wedding_accept", null);
703 if (c.c_love != null)
705 c.c_love.dateWedding = EClass.world.date.GetRaw();
715 c.BanishAllMinions();
718 EClass.pc.party.AddMemeber(c);
722 if (item7 != EClass.pc && item7 != c)
724 EClass.pc.party.RemoveMember(item7);
729 ActRide.Unride(EClass.pc, c == EClass.pc.parasite, talk: false);
733 Zone z2 = quest.CreateInstanceZone(c);
736 state = ZoneTransition.EnterState.Exact,
743 Step(
"_disableLoyal");
746 c.SetInt(126, (c.GetInt(126) == 0) ? 1 : 0);
748 _Talk(
"tg", GetTopic(c, (c.GetInt(126) == 0) ?
"shutup" :
"shutup2"));
751 _Talk(
"tg", GetTalk(
"pervert4"));
754 if (c.HasElement(1250))
756 c.UseAbility(
"ActBloodsuck", EClass.pc);
768 c.SetInt(108, (c.GetInt(108) == 0) ? 1 : 0);
770 _Talk(
"tg", GetTopic(c, (c.GetInt(108) == 0) ?
"insult" :
"insult2"));
773 if (c.GetInt(108) == 1)
784 _Talk(
"tg", GetTopic(c,
"ok"));
787 Talk(
"rumor", StepDefault);
788 Choice(
"daAccept", StepDefault).SetOnClick(delegate
791 Choice(
"daDecline", StepDefault).SetOnClick(delegate
797 if (!c.trait.CanInvite)
799 string[] recruitItems = c.source.recruitItems;
800 if (!recruitItems.IsEmpty())
802 string[] array3 = recruitItems[0].Split(
'/');
803 string reqId = array3[0];
804 int reqNum = array3[1].ToInt();
805 CardBlueprint.Set(CardBlueprint.Original);
806 GameLang.refDrama1 = ThingGen.Create(reqId).SetNum(reqNum).Name;
807 TempTalkTopic(
"inviteReq1", null);
808 foreach (Thing t2 in EClass.pc.things.List((Thing t) => t.id == reqId && t.Num >= reqNum, onlyAccessible: true))
811 Choice(
"daDeliver".lang(
"", _t6.GetName(NameStyle.Full, _t6.Num)), delegate
814 TempTalk(
"hired", StepEnd);
815 EClass.Sound.Play(
"good");
817 }).SetOnTooltip(delegate(UITooltip a)
819 _t6.WriteNote(a.note);
822 Choice(
"no2", StepDefault, cancel: true).SetOnClick(RumorChill);
826 TempTalkTopic(
"invite2", StepDefault);
831 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
832 TempTalkTopic(
"invite3", StepDefault);
836 TempTalkTopic(
"invite", null);
837 Choice(
"yes", delegate
839 TempTalk(
"hired", StepEnd);
840 EClass.Sound.Play(
"good");
843 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
849 TempTalkTopic(
"guide",
null);
850 foreach (
Card guide
in GetListGuide())
852 Choice(
"daGotoGuide".lang(guide.
Name,
""),
"_goto").SetOnClick(delegate
857 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
864 TempTalkTopic(c.IsMarried ?
"tail4" : (bird +
"1"),
null);
865 Choice(
"yes2", delegate
867 TempTalkTopic(bird +
"2", StepEnd);
874 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
881 Steam.GetAchievement(ID_Achievement.MAMA);
883 if (!(id2 ==
"farris"))
887 Steam.GetAchievement(ID_Achievement.MAMA3);
892 Steam.GetAchievement(ID_Achievement.MAMA2);
894 TempTalkTopic(
"mama_yes", StepEnd);
898 variation = AI_Fuck.Variation.MotherMilk
903 TempTalkTopic(
"mama_no", StepDefault);
912 TempTalkTopic(
"baby_yes", StepEnd);
913 EClass.pc.SetAI(new AI_Fuck
916 variation = AI_Fuck.Variation.MotherMilk,
922 TempTalkTopic(
"baby_no", StepDefault);
931 TempTalkTopic(bird +
"3",
null);
932 Choice(
"yes2", delegate
936 TempTalkTopic(
"nomoney", StepDefault);
941 EClass.pc.ModCurrency(-costWhore);
942 TempTalkTopic(bird +
"2", StepEnd);
943 EClass.pc.SetAI(new AI_Fuck
949 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
956 TempTalkTopic(
"bird3",
null);
957 Choice(
"yes2", delegate
961 TempTalkTopic(
"lockTooHard", StepDefault);
965 TempTalkTopic(
"nomoney", StepDefault);
970 EClass.pc.ModCurrency(-cost8);
971 manager.layer.SetOnKill(delegate
973 c.PlaySound(
"lock_open");
974 c.Say(
"lockpick_success", c, destThing);
975 c.ModExp(280, 200 + destThing.c_lockLv * 20);
976 destThing.c_lockLv = 0;
977 if (destThing.isLostProperty)
979 EClass.player.ModKarma(-8);
981 destThing.isLostProperty = false;
983 TempTalkTopic(destThing.
isLostProperty ?
"lockpick_purse" :
"bird2", StepEnd);
986 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
991 TempTalkTopic(
"blooming1",
null);
995 Choice(
"daBloom".lang(c4.
Name), delegate
997 if (EClass._zone.influence < 10)
999 TempTalkTopic(
"blooming3", StepDefault);
1003 EClass._zone.ModInfluence(-10);
1004 LayerDrama.Instance.SetOnKill(delegate
1007 c4.Say(
"dingExp", c);
1008 c4.Talk(
"insulted");
1009 c4.SetFeat(1273, 1, msg: true);
1010 c4.PlayEffect(
"aura_heaven");
1012 EClass.pc.PlaySound(
"pray");
1014 TempTalkTopic(
"blooming2", StepEnd);
1018 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1023 if (c.id ==
"miral")
1025 SE.Play(
"click_chat");
1026 if (EClass.pc.GetCurrency(
"medal") > 0)
1028 TempTalkTopic(
"miral_medal", null);
1032 TempTalkTopic(
"miral_medal2", StepDefault);
1040 SE.Play(
"click_chat");
1041 TempTalkTopic(
"shop_blackmarket_noaccess", StepEnd);
1045 SE.Play(
"click_chat");
1046 TempTalkTopic(
"shop_criminal", StepEnd);
1051 manager.layer.Close();
1053 if ((bool)WidgetFeed.Instance)
1055 WidgetFeed.Instance.Talk(c,
"barter");
1059 }, () => !layer, StepDefault);
1063 List<ResearchPlan> plans =
new List<ResearchPlan>();
1073 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
1078 b.button1.mainText.text = a.
Name;
1082 uIItem.image1.sprite = c3.resource.Sprite;
1087 b.
button1.onClick.AddListener(delegate
1089 if (c3.resource.value < c3.cost)
1095 c3.resource.Mod(-c3.cost);
1099 list.
List(refreshHighlight:
true);
1102 b.RebuildLayout(recursive:
true);
1117 }, () => !layer, StepDefault);
1118 Step(
"_upgradeHearth");
1123 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ??
"";
1125 TempTalkTopic(
"upgrade_heath1",
null);
1126 Choice(
"yes", delegate
1130 TempTalkTopic(
"nomoney", StepDefault);
1134 EClass.pc.ModCurrency(-cost7);
1136 LayerDrama.Instance.SetOnKill(delegate
1138 EClass.Branch.Upgrade();
1140 TempTalkTopic(
"upgrade_heath2", StepEnd);
1143 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1148 int cost6 = EClass.player.fame / 5;
1149 GameLang.refDrama1 = cost6.ToString() ??
"";
1152 TempTalkTopic(
"goto2", StepDefault);
1156 TempTalkTopic(
"sellFame1",
null);
1157 Choice(
"yes", delegate
1162 TempTalkTopic(
"sellFame2", StepDefault);
1164 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1167 Step(
"_investZone");
1173 TempTalkTopic(
"invest1",
null);
1174 Choice(
"yes", delegate
1176 Invest(quick:
false);
1178 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1179 Choice(
"quickInvest", delegate
1181 Invest(quick:
true);
1183 void Invest(
bool quick)
1187 TempTalkTopic(
"nomoney", StepDefault);
1193 EClass._zone.investment += cost5;
1199 TempGoto(
"_investZone");
1203 TempTalkTopic(
"invest2", StepDefault);
1208 Step(
"_investShop");
1214 TempTalkTopic(
"invest_shop1",
null);
1215 Choice(
"yes", delegate
1217 Invest(quick:
false);
1219 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1220 Choice(
"quickInvest", delegate
1222 Invest(quick:
true);
1224 void Invest(
bool quick)
1228 TempTalkTopic(
"nomoney", StepDefault);
1240 TempGoto(
"_investShop");
1244 TempTalkTopic(
"invest_shop2", StepDefault);
1249 Step(
"_changeTitle");
1252 EClass.player.title = WordGen.Get(
"title");
1254 TempTalk(
"changeTitle", StepDefault);
1255 },
null, StepDefault);
1261 GameLang.refDrama1 =
"";
1262 GameLang.refDrama2 = costLand.ToString() ??
"";
1265 TempTalkTopic(
"expand3", StepDefault);
1269 TempTalkTopic(
"expand1", StepDefault);
1270 Choice(
"yes", delegate
1274 TempTalkTopic(
"nomoney", StepDefault);
1279 EClass.pc.ModCurrency(-costLand,
"money2");
1280 TempTalkTopic(
"expand2", StepDefault);
1281 EClass._map.bounds.Expand(1);
1283 EClass._map.RefreshAllTiles();
1284 WidgetMinimap.UpdateMap();
1285 ScreenEffect.Play(
"Firework");
1288 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1305 }, () => !layer, StepDefault);
1310 TempTalkTopic(
"blessing", StepEnd);
1315 if (c.trait is TraitMiko_Mifu)
1317 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1321 member.AddCondition<ConEuphoric>()?.SetPerfume();
1325 member.AddCondition<ConNightVision>()?.SetPerfume();
1327 member.
Say(
"blessing", member);
1331 c.isRestocking =
true;
1340 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1367 b.imagePotential.enabled = flag5;
1371 b.mainText.text = b.mainText.text +
" " + (flag5 ?
"" : (
"notLearned".lang() +
" "));
1372 b.subText2.text = ((cost3 == 0) ?
"-" : (cost3.ToString() ??
"")).TagColor(() => plat >= cost3 && cost3 != 0);
1375 onInstantiate = delegate
1382 if (a.tag.Contains(
"unused"))
1386 if (a.tag.Contains(
"guild"))
1410 return a.category ==
"skill" && a.categorySub == c.trait.IDTrainer;
1424 }, () => !layer, StepDefault);
1425 Step(
"_changeDomain");
1429 }, () => !layer, StepDefault);
1434 layer.SetOnKill(SE.PopDrama);
1439 }, () => !layer, StepDefault);
1443 LayerPeople.slaveToBuy =
null;
1445 layer.SetOnKill(SE.PopDrama);
1451 }, () => !layer,
"_buySlaveConfirm");
1452 Step(
"_buySlaveConfirm");
1463 GameLang.refDrama1 = cost2.ToString() ??
"";
1464 GameLang.refDrama2 = tc.
Name;
1465 TempTalkTopic(
"slave_buy",
null);
1466 Choice(
"yes", delegate
1470 TempTalkTopic(
"nomoney", StepDefault);
1474 GameLang.refDrama1 = tc.Name;
1475 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1477 c.GetObj<SlaverData>(5).list.Remove(tc);
1478 TempTalkTopic(
"slave_buy2", StepEnd);
1481 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1489 }, () => !layer, StepDefault);
1497 }, () => !layer, StepDefault);
1498 Step(
"_identifyAll");
1501 int costIdentify = 0;
1502 int numIdentify = 0;
1503 int numSuperior = 0;
1509 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1512 GameLang.refDrama1 = costIdentify.ToString() ??
"";
1513 GameLang.refDrama2 = numIdentify.ToString() ??
"";
1514 if (numIdentify == 0)
1516 TempTalkTopic(
"appraise3", StepDefault);
1520 TempTalkTopic(
"appraise1", StepDefault);
1521 Choice(
"yes", delegate
1525 TempTalkTopic(
"nomoney", StepDefault);
1530 EClass.pc.ModCurrency(-costIdentify);
1531 foreach (Thing item11 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1533 item11.Thing.Identify(show: false);
1534 if (!item11.IsInstalled)
1539 TempTalkTopic(
"appraise2", StepDefault);
1542 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1545 Step(
"_identifySP");
1552 }, () => !layer, StepDefault);
1556 TempTalkTopic(
"bout1", StepDefault);
1557 Choice(
"yes", delegate
1573 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1575 TempTalkTopic(
"bout2", StepEnd);
1577 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1578 },
null, StepDefault);
1582 TempTalkTopic(
"rob1", StepDefault);
1583 Choice(
"yes_rob", delegate
1586 c.Talk(
"callGuards");
1589 if (chara == c || chara.master == c)
1591 chara.SetHostility(Hostility.Enemy);
1592 chara.DoHostileAction(EClass.pc.party.members.RandomItem());
1597 EClass._zone.SetBGM(102);
1600 c.SetBool(129, enable:
true);
1602 Choice(
"no_rob", StepDefault, cancel:
true).SetOnClick(RumorChill);
1603 },
null, StepDefault);
1610 TempTalkTopic(
"news2",
null);
1614 zone.isKnown =
true;
1616 GameLang.refDrama1 = zone.
Name;
1617 TempTalkTopic(
"news1",
null);
1624 },
null, StepDefault);
1630 TempTalkTopic(
"healer1",
null);
1631 Choice(
"yes", delegate
1635 TempTalkTopic(
"nomoney", StepDefault);
1640 foreach (Chara member2 in EClass.pc.party.members)
1642 ActEffect.Proc(EffectId.HealComplete, member2);
1645 TempTalkTopic(
"healer2", StepEnd);
1648 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1655 TempTalkTopic(
"food1",
null);
1656 Choice(
"yes", delegate
1660 TempTalkTopic(
"alreadyFull", StepDefault);
1664 if (EClass.pc.GetCurrency() >= cost)
1667 EClass.pc.ModCurrency(-cost);
1668 TempTalkTopic(
"food2", StepDefault);
1670 foreach (Chara member3 in EClass.pc.party.members)
1672 if (member3.hunger.GetPhase() > 0)
1674 FoodEffect.Proc(member3, ThingGen.Create(
"dish_lunch"), consume: false);
1675 member3.hunger.value = 0;
1681 TempTalkTopic(
"nomoney", StepDefault);
1684 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1686 int[] bankTier =
new int[5] { 100, 1000, 10000, 100000, 1000000 };
1694 WidgetFeed.Instance.Talk(c,
"barter");
1696 SE.Play(
"shop_open");
1698 }, () => !layer, StepDefault);
1707 WidgetFeed.Instance.Talk(c,
"barter");
1709 SE.Play(
"shop_open");
1711 if (c.c_copyContainer ==
null)
1713 c.c_copyContainer = ThingGen.Create(
"container_deposit");
1715 int numCopyItem = c.trait.NumCopyItem;
1716 c.c_copyContainer.things.SetSize(numCopyItem, 1);
1718 }, () => !layer, StepDefault);
1720 int[] taxTier =
new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1725 TempTalkTopic(
"extraTax",
null);
1726 int[] array2 = taxTier;
1727 foreach (
int num5
in array2)
1732 EClass.player.extraTax = _i2;
1733 GameLang.refDrama1 = Lang._currency(_i2,
"money");
1734 TempTalkTopic(
"extraTax2", StepDefault);
1737 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1743 GameLang.refDrama1 = bankMoney.ToString() ??
"";
1744 TempTalkTopic(
"banker2",
null);
1745 int[] array = bankTier;
1746 foreach (
int num4
in array)
1754 EClass.pc.ModCurrency(_i);
1755 EClass.player.bankMoney -= _i;
1756 TempTalkTopic(
"banker4", StepDefault);
1760 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1762 Step(
"_disableMove");
1766 c.orgPos =
new Point(c.pos);
1770 Step(
"_enableMove");
1788 Method(RumorChill,
null, StepDefault);
1790 string GetTalk(
string id)
1792 return c.GetTalkText(
id);
1796 rumor = GetTalk(
"chill");
1798 void Talk(
string idTalk,
string idJump)
1800 _Talk(
"tg", GetTalk(idTalk), idJump);
1804 EnableCancel(
"back");
1806 void TempTalk(
string idTalk,
string idJump)
1808 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1810 void TempTalkTopic(
string idTopc,
string idJump)
1812 _TempTalk(
"tg", GetTopic(c, idTopc), idJump);
1816 if (c.quest !=
null)
1828 return GetText(c,
"rumor",
"bored");
1830 if (HasTopic(
"unique", c.
id))
1832 return GetText(c,
"unique", c.
id);
1852 return GetText(c,
"rumor",
"hint");
1854 return GetText(c,
"rumor",
"default");
1869 if (!(idSheet !=
"unique"))
1871 return dialog.RandomItem();
1873 return c.
ApplyTone(dialog.RandomItem());
1878 return GetText(c,
"general", idTopic);
1884 string[] array = setup.
textData.Split(
new string[1] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
1885 foreach (
string text
in array)
1887 if (!(text == Environment.NewLine))
1889 _Talk(
"", text.TrimStart(Environment.NewLine.ToCharArray()).TrimEnd(Environment.NewLine.ToCharArray()));
1898 e.sequence = sequence;
1910 public void Method(Action action, Func<bool> endFunc =
null,
string idJump =
null)
1916 if (!idJump.IsEmpty())
1937 public void _Talk(
string idActor,
string text,
string idJump =
null)
1947 public void _Talk(
string idActor, Func<string> funcText,
string idJump =
null)
1957 public void _TempTalk(
string idActor,
string text,
string idJump =
null)
1972 sequence.
Play(idJump);
1981 EnableCancel(idJump);
1989 dramaChoice.onJump = onJump;
2004 manager.lastTalk.canCancel =
true;
2005 manager.lastTalk.idCancelJump = idCancelJump;
2010 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
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)
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)