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)
190 if (c.trait.SlaverType != 0)
194 if (c.trait.CopyShop != 0)
196 Choice2((
"daCopy" + c.trait.CopyShop).lang(c.trait.NumCopyItem.ToString() ??
""),
"_copyItem").
DisableSound();
209 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
213 if (condition ==
null)
233 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");
314 if (c.IsHomeMember())
322 Choice2(
"daBuyLand",
"_buyLand");
323 Choice2(
"daChangeTitle",
"_changeTitle");
327 Choice2(
"enableMove",
"_enableMove");
329 if (!c.IsPCParty && c.memberType !=
FactionMemberType.Livestock && c.trait.CanJoinParty)
331 Choice2(
"daJoinParty",
"_joinParty");
333 if (!c.IsDisabled && (c.HasElement(1250) || (
EClass.
pc.
IsMofuable && c.ability.Has(6627))))
337 Choice2(
"daFactionOther",
"_factionOther");
341 Choice2(
"daGreatDebt",
"_greatDebt");
348 Step(
"_factionOther");
368 if (questDebt !=
null && questDebt.
gaveBill)
370 Choice(
"daGreatDebt2",
"_greatDebt2");
377 Choice((c.GetInt(106) == 0) ?
"daShutup" :
"daShutup2",
"_shutup");
378 if (c.CanInsult() || c.GetInt(108) == 1)
380 Choice((c.GetInt(108) == 0) ?
"daInsult" :
"daInsult2",
"_insult");
386 Choice(
"disableMove",
"_disableMove");
388 Choice((c.GetInt(123) == 0) ?
"daSleepBeside" :
"daSleepBeside2",
"_sleepBeside");
389 if (c.HasElement(1225))
391 Choice((c.GetInt(126) == 0) ?
"daDisableLoyal" :
"daDisableLoyal2",
"_disableLoyal");
393 if (c.GetInt(113) == 0)
395 Choice(
"daEquipSharedOff",
"_toggleSharedEquip");
399 Choice(
"daEquipSharedOn",
"_toggleSharedEquip");
403 Choice(
"daMakeMaid",
"_daMakeMaid");
405 if (c.trait.CanBeBanished && !c.IsPCParty)
407 Choice(
"daBanish",
"_depart");
410 Step(
"_toggleSharedEquip");
413 c.SetInt(113, (c.GetInt(113) == 0) ? 1 : 0);
415 _Talk(
"tg",
GetTopic(c, (c.GetInt(113) == 0) ?
"shutup" :
"shutup2"));
420 EClass.Branch.uidMaid = c.uid;
427 if (!c.trait.CanJoinPartyResident)
429 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
430 TempTalkTopic(
"invite3", StepDefault);
434 EClass.pc.party.AddMemeber(c, showMsg: true);
444 EClass.pc.Say(
"tame_send", c, c.homeZone.Name);
445 c.MoveZone(c.homeZone);
451 Step(
"_makeLivestock");
456 Talk(
"becomeLivestock",
StepEnd);
457 Step(
"_makeResident");
462 Talk(
"becomeResident",
StepEnd);
465 Choice(
"depart1",
"_depart1");
466 Choice(
"depart2",
"_depart2");
472 c.homeBranch.BanishMember(c);
479 Talk(
"gift_good",
null);
491 TempTalkTopic(
"goto",
"_goto2");
499 destCard.Teleport(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true) ?? EClass.pc.pos, silent: true, force: true);
507 Step(
"_lostProperty");
534 return (!taken()) ? c.quest.GetDetail() : c.quest.GetTalkProgress().IsEmpty(
GetTopic(c,
"questInProgress"));
536 string text2 =
"daAccept".lang();
537 if (c.quest !=
null && c.quest.deadline != 0)
539 text2 +=
"hintDeadline".lang(c.quest.TextDeadline).ToLower();
541 Choice(text2, (c.quest !=
null && c.quest.UseInstanceZone) ?
"_questAccept_instance" :
"_questAccept").
SetOnClick(delegate
570 Step(
"_questAccept");
572 Step(
"_questAccept_instance");
576 Zone z3 = c.quest.CreateInstanceZone(c);
587 TempTalkTopic(
"loytel_bill_give_wait",
StepDefault);
591 TempTalkTopic(
"loytel_bill_give_given",
StepDefault);
603 TempTalkTopic(
"loytel_bill_give_lost",
StepEnd);
609 c.SetInt(106, (c.GetInt(106) == 0) ? 1 : 0);
611 _Talk(
"tg",
GetTopic(c, (c.GetInt(106) == 0) ?
"shutup" :
"shutup2"));
613 Step(
"_sleepBeside");
616 if (c.affinity.CanSleepBeside() || c.GetInt(123) == 1)
618 c.SetInt(123, (c.GetInt(123) == 0) ? 1 : 0);
622 TempTalkTopic(
"refuse", StepEnd);
625 _Talk(
"tg",
GetTopic(c, (c.GetInt(123) == 0) ?
"ok" :
"shutup"));
630 if (!c.affinity.CanMarry())
632 TempTalkTopic(
"refuse", StepEnd);
644 destThing.rarity = Rarity.Mythical;
664 TempTalkTopic(
"wedding_deed", StepDefault);
668 TempTalkTopic(
"wedding_zone", StepDefault);
672 TempTalkTopic(
"wedding_confirm", null);
673 Choice(
"yes", delegate
675 TempTalkTopic(
"wedding_accept", null);
680 if (c.c_love != null)
682 c.c_love.dateWedding = EClass.world.date.GetRaw();
692 c.BanishAllMinions();
695 EClass.pc.party.AddMemeber(c);
699 if (item7 != EClass.pc && item7 != c)
701 EClass.pc.party.RemoveMember(item7);
706 ActRide.Unride(EClass.pc, c == EClass.pc.parasite, talk: false);
710 Zone z2 = quest.CreateInstanceZone(c);
713 state = ZoneTransition.EnterState.Exact,
720 Step(
"_disableLoyal");
723 c.SetInt(126, (c.GetInt(126) == 0) ? 1 : 0);
725 _Talk(
"tg", GetTopic(c, (c.GetInt(126) == 0) ?
"shutup" :
"shutup2"));
728 _Talk(
"tg", GetTalk(
"pervert4"));
731 if (c.HasElement(1250))
733 c.UseAbility(
"ActBloodsuck", EClass.pc);
745 c.SetInt(108, (c.GetInt(108) == 0) ? 1 : 0);
747 _Talk(
"tg", GetTopic(c, (c.GetInt(108) == 0) ?
"insult" :
"insult2"));
750 if (c.GetInt(108) == 1)
761 _Talk(
"tg", GetTopic(c,
"ok"));
764 Talk(
"rumor", StepDefault);
765 Choice(
"daAccept", StepDefault).SetOnClick(delegate
768 Choice(
"daDecline", StepDefault).SetOnClick(delegate
774 if (!c.trait.CanInvite)
776 string[] recruitItems = c.source.recruitItems;
777 if (!recruitItems.IsEmpty())
779 string[] array3 = recruitItems[0].Split(
'/');
780 string reqId = array3[0];
781 int reqNum = array3[1].ToInt();
782 CardBlueprint.Set(CardBlueprint.Original);
783 GameLang.refDrama1 = ThingGen.Create(reqId).SetNum(reqNum).Name;
784 TempTalkTopic(
"inviteReq1", null);
785 foreach (Thing t2 in EClass.pc.things.List((Thing t) => t.id == reqId && t.Num >= reqNum, onlyAccessible: true))
788 Choice(
"daDeliver".lang(
"", _t6.GetName(NameStyle.Full, _t6.Num)), delegate
791 TempTalk(
"hired", StepEnd);
792 EClass.Sound.Play(
"good");
794 }).SetOnTooltip(delegate(UITooltip a)
796 _t6.WriteNote(a.note);
799 Choice(
"no2", StepDefault, cancel: true).SetOnClick(RumorChill);
803 TempTalkTopic(
"invite2", StepDefault);
808 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
809 TempTalkTopic(
"invite3", StepDefault);
813 TempTalkTopic(
"invite", null);
814 Choice(
"yes", delegate
816 TempTalk(
"hired", StepEnd);
817 EClass.Sound.Play(
"good");
820 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
826 TempTalkTopic(
"guide",
null);
827 foreach (
Card guide
in GetListGuide())
829 Choice(
"daGotoGuide".lang(guide.
Name,
""),
"_goto").SetOnClick(delegate
834 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
841 TempTalkTopic(c.IsMarried ?
"tail4" : (bird +
"1"),
null);
842 Choice(
"yes2", delegate
844 TempTalkTopic(bird +
"2", StepEnd);
851 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
858 Steam.GetAchievement(ID_Achievement.MAMA);
860 if (!(id2 ==
"farris"))
864 Steam.GetAchievement(ID_Achievement.MAMA3);
869 Steam.GetAchievement(ID_Achievement.MAMA2);
871 TempTalkTopic(
"mama_yes", StepEnd);
875 variation = AI_Fuck.Variation.MotherMilk
880 TempTalkTopic(
"mama_no", StepDefault);
889 TempTalkTopic(
"baby_yes", StepEnd);
890 EClass.pc.SetAI(new AI_Fuck
893 variation = AI_Fuck.Variation.MotherMilk,
899 TempTalkTopic(
"baby_no", StepDefault);
908 TempTalkTopic(bird +
"3",
null);
909 Choice(
"yes2", delegate
913 TempTalkTopic(
"nomoney", StepDefault);
918 EClass.pc.ModCurrency(-costWhore);
919 TempTalkTopic(bird +
"2", StepEnd);
920 EClass.pc.SetAI(new AI_Fuck
926 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
933 TempTalkTopic(
"bird3",
null);
934 Choice(
"yes2", delegate
938 TempTalkTopic(
"lockTooHard", StepDefault);
942 TempTalkTopic(
"nomoney", StepDefault);
947 EClass.pc.ModCurrency(-cost8);
948 manager.layer.SetOnKill(delegate
950 c.PlaySound(
"lock_open");
951 c.Say(
"lockpick_success", c, destThing);
952 c.ModExp(280, 200 + destThing.c_lockLv * 20);
953 destThing.c_lockLv = 0;
954 if (destThing.isLostProperty)
956 EClass.player.ModKarma(-8);
958 destThing.isLostProperty = false;
960 TempTalkTopic(destThing.
isLostProperty ?
"lockpick_purse" :
"bird2", StepEnd);
963 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
968 TempTalkTopic(
"blooming1",
null);
972 Choice(
"daBloom".lang(c4.
Name), delegate
974 if (EClass._zone.influence < 10)
976 TempTalkTopic(
"blooming3", StepDefault);
980 EClass._zone.ModInfluence(-10);
981 LayerDrama.Instance.SetOnKill(delegate
984 c4.Say(
"dingExp", c);
986 c4.SetFeat(1273, 1, msg: true);
987 c4.PlayEffect(
"aura_heaven");
989 EClass.pc.PlaySound(
"pray");
991 TempTalkTopic(
"blooming2", StepEnd);
995 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1000 if (c.id ==
"miral")
1002 SE.Play(
"click_chat");
1003 if (EClass.pc.GetCurrency(
"medal") > 0)
1005 TempTalkTopic(
"miral_medal", null);
1009 TempTalkTopic(
"miral_medal2", StepDefault);
1017 SE.Play(
"click_chat");
1018 TempTalkTopic(
"shop_blackmarket_noaccess", StepEnd);
1022 SE.Play(
"click_chat");
1023 TempTalkTopic(
"shop_criminal", StepEnd);
1028 manager.layer.Close();
1030 if ((bool)WidgetFeed.Instance)
1032 WidgetFeed.Instance.Talk(c,
"barter");
1036 }, () => !layer, StepDefault);
1040 List<ResearchPlan> plans =
new List<ResearchPlan>();
1050 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
1055 b.button1.mainText.text = a.
Name;
1059 uIItem.image1.sprite = c3.resource.Sprite;
1064 b.
button1.onClick.AddListener(delegate
1066 if (c3.resource.value < c3.cost)
1072 c3.resource.Mod(-c3.cost);
1076 list.
List(refreshHighlight:
true);
1079 b.RebuildLayout(recursive:
true);
1094 }, () => !layer, StepDefault);
1095 Step(
"_upgradeHearth");
1100 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ??
"";
1102 TempTalkTopic(
"upgrade_heath1",
null);
1103 Choice(
"yes", delegate
1107 TempTalkTopic(
"nomoney", StepDefault);
1111 EClass.pc.ModCurrency(-cost7);
1113 LayerDrama.Instance.SetOnKill(delegate
1115 EClass.Branch.Upgrade();
1117 TempTalkTopic(
"upgrade_heath2", StepEnd);
1120 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1125 int cost6 = EClass.player.fame / 5;
1126 GameLang.refDrama1 = cost6.ToString() ??
"";
1129 TempTalkTopic(
"goto2", StepDefault);
1133 TempTalkTopic(
"sellFame1",
null);
1134 Choice(
"yes", delegate
1139 TempTalkTopic(
"sellFame2", StepDefault);
1141 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1144 Step(
"_investZone");
1150 TempTalkTopic(
"invest1",
null);
1151 Choice(
"yes", delegate
1153 Invest(quick:
false);
1155 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1156 Choice(
"quickInvest", delegate
1158 Invest(quick:
true);
1160 void Invest(
bool quick)
1164 TempTalkTopic(
"nomoney", StepDefault);
1170 EClass._zone.investment += cost5;
1176 TempGoto(
"_investZone");
1180 TempTalkTopic(
"invest2", StepDefault);
1185 Step(
"_investShop");
1191 TempTalkTopic(
"invest_shop1",
null);
1192 Choice(
"yes", delegate
1194 Invest(quick:
false);
1196 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1197 Choice(
"quickInvest", delegate
1199 Invest(quick:
true);
1201 void Invest(
bool quick)
1205 TempTalkTopic(
"nomoney", StepDefault);
1217 TempGoto(
"_investShop");
1221 TempTalkTopic(
"invest_shop2", StepDefault);
1226 Step(
"_changeTitle");
1229 EClass.player.title = WordGen.Get(
"title");
1231 TempTalk(
"changeTitle", StepDefault);
1232 },
null, StepDefault);
1238 GameLang.refDrama1 =
"";
1239 GameLang.refDrama2 = costLand.ToString() ??
"";
1242 TempTalkTopic(
"expand3", StepDefault);
1246 TempTalkTopic(
"expand1", StepDefault);
1247 Choice(
"yes", delegate
1251 TempTalkTopic(
"nomoney", StepDefault);
1256 EClass.pc.ModCurrency(-costLand,
"money2");
1257 TempTalkTopic(
"expand2", StepDefault);
1258 EClass._map.bounds.Expand(1);
1260 EClass._map.RefreshAllTiles();
1261 WidgetMinimap.UpdateMap();
1262 ScreenEffect.Play(
"Firework");
1265 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1282 }, () => !layer, StepDefault);
1287 TempTalkTopic(
"blessing", StepEnd);
1292 if (c.trait is TraitMiko_Mifu)
1294 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1298 member.AddCondition<ConEuphoric>()?.SetPerfume();
1302 member.AddCondition<ConNightVision>()?.SetPerfume();
1304 member.
Say(
"blessing", member);
1308 c.isRestocking =
true;
1317 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1344 b.imagePotential.enabled = flag5;
1348 b.mainText.text = b.mainText.text +
" " + (flag5 ?
"" : (
"notLearned".lang() +
" "));
1349 b.subText2.text = ((cost3 == 0) ?
"-" : (cost3.ToString() ??
"")).TagColor(() => plat >= cost3 && cost3 != 0);
1352 onInstantiate = delegate
1359 if (a.tag.Contains(
"unused"))
1363 if (a.tag.Contains(
"guild"))
1387 return a.category ==
"skill" && a.categorySub == c.trait.IDTrainer;
1401 }, () => !layer, StepDefault);
1402 Step(
"_changeDomain");
1406 }, () => !layer, StepDefault);
1411 layer.SetOnKill(SE.PopDrama);
1416 }, () => !layer, StepDefault);
1420 LayerPeople.slaveToBuy =
null;
1422 layer.SetOnKill(SE.PopDrama);
1428 }, () => !layer,
"_buySlaveConfirm");
1429 Step(
"_buySlaveConfirm");
1440 GameLang.refDrama1 = cost2.ToString() ??
"";
1441 GameLang.refDrama2 = tc.
Name;
1442 TempTalkTopic(
"slave_buy",
null);
1443 Choice(
"yes", delegate
1447 TempTalkTopic(
"nomoney", StepDefault);
1451 GameLang.refDrama1 = tc.Name;
1452 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1454 c.GetObj<SlaverData>(5).list.Remove(tc);
1455 TempTalkTopic(
"slave_buy2", StepEnd);
1458 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1466 }, () => !layer, StepDefault);
1474 }, () => !layer, StepDefault);
1475 Step(
"_identifyAll");
1478 int costIdentify = 0;
1479 int numIdentify = 0;
1480 int numSuperior = 0;
1486 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1489 GameLang.refDrama1 = costIdentify.ToString() ??
"";
1490 GameLang.refDrama2 = numIdentify.ToString() ??
"";
1491 if (numIdentify == 0)
1493 TempTalkTopic(
"appraise3", StepDefault);
1497 TempTalkTopic(
"appraise1", StepDefault);
1498 Choice(
"yes", delegate
1502 TempTalkTopic(
"nomoney", StepDefault);
1507 EClass.pc.ModCurrency(-costIdentify);
1508 foreach (Thing item11 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1510 item11.Thing.Identify(show: false);
1511 if (!item11.IsInstalled)
1516 TempTalkTopic(
"appraise2", StepDefault);
1519 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1522 Step(
"_identifySP");
1529 }, () => !layer, StepDefault);
1533 TempTalkTopic(
"bout1", StepDefault);
1534 Choice(
"yes", delegate
1550 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1552 TempTalkTopic(
"bout2", StepEnd);
1554 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1555 },
null, StepDefault);
1559 TempTalkTopic(
"rob1", StepDefault);
1560 Choice(
"yes_rob", delegate
1563 c.Talk(
"callGuards");
1566 if (chara == c || chara.master == c)
1568 chara.SetHostility(Hostility.Enemy);
1569 chara.DoHostileAction(EClass.pc.party.members.RandomItem());
1574 EClass._zone.SetBGM(102);
1577 c.SetBool(129, enable:
true);
1579 Choice(
"no_rob", StepDefault, cancel:
true).SetOnClick(RumorChill);
1580 },
null, StepDefault);
1587 TempTalkTopic(
"news2",
null);
1591 zone.isKnown =
true;
1593 GameLang.refDrama1 = zone.
Name;
1594 TempTalkTopic(
"news1",
null);
1601 },
null, StepDefault);
1607 TempTalkTopic(
"healer1",
null);
1608 Choice(
"yes", delegate
1612 TempTalkTopic(
"nomoney", StepDefault);
1617 foreach (Chara member2 in EClass.pc.party.members)
1619 ActEffect.Proc(EffectId.HealComplete, member2);
1622 TempTalkTopic(
"healer2", StepEnd);
1625 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1632 TempTalkTopic(
"food1",
null);
1633 Choice(
"yes", delegate
1637 TempTalkTopic(
"alreadyFull", StepDefault);
1641 TempTalkTopic(
"nomoney", StepDefault);
1646 EClass.pc.ModCurrency(-cost);
1647 TempTalkTopic(
"food2", StepDefault);
1648 FoodEffect.Proc(EClass.pc, ThingGen.Create(
"dish_lunch"), consume: false);
1649 EClass.pc.hunger.value = 0;
1652 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1654 int[] bankTier =
new int[5] { 100, 1000, 10000, 100000, 1000000 };
1662 WidgetFeed.Instance.Talk(c,
"barter");
1664 SE.Play(
"shop_open");
1666 }, () => !layer, StepDefault);
1675 WidgetFeed.Instance.Talk(c,
"barter");
1677 SE.Play(
"shop_open");
1679 if (c.c_copyContainer ==
null)
1681 c.c_copyContainer = ThingGen.Create(
"container_deposit");
1683 int numCopyItem = c.trait.NumCopyItem;
1684 c.c_copyContainer.things.SetSize(numCopyItem, 1);
1686 }, () => !layer, StepDefault);
1688 int[] taxTier =
new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1693 TempTalkTopic(
"extraTax",
null);
1694 int[] array2 = taxTier;
1695 foreach (
int num5
in array2)
1700 EClass.player.extraTax = _i2;
1701 GameLang.refDrama1 = Lang._currency(_i2,
"money");
1702 TempTalkTopic(
"extraTax2", StepDefault);
1705 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1711 GameLang.refDrama1 = bankMoney.ToString() ??
"";
1712 TempTalkTopic(
"banker2",
null);
1713 int[] array = bankTier;
1714 foreach (
int num4
in array)
1722 EClass.pc.ModCurrency(_i);
1723 EClass.player.bankMoney -= _i;
1724 TempTalkTopic(
"banker4", StepDefault);
1728 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1730 Step(
"_disableMove");
1734 c.orgPos =
new Point(c.pos);
1738 Step(
"_enableMove");
1758 if (condition2 ==
null)
1760 if (c.HasElement(1232))
1764 num3 = c.HasElement(1291);
1768 num3 = condition2.
IsBaby;
1777 Method(RumorChill,
null, StepDefault);
1779 string GetTalk(
string id)
1781 return c.GetTalkText(
id);
1785 rumor = GetTalk(
"chill");
1787 void Talk(
string idTalk,
string idJump)
1789 _Talk(
"tg", GetTalk(idTalk), idJump);
1793 EnableCancel(
"back");
1795 void TempTalk(
string idTalk,
string idJump)
1797 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1799 void TempTalkTopic(
string idTopc,
string idJump)
1801 _TempTalk(
"tg", GetTopic(c, idTopc), idJump);
1805 if (c.quest !=
null)
1817 return GetText(c,
"rumor",
"bored");
1819 if (HasTopic(
"unique", c.
id))
1821 return GetText(c,
"unique", c.
id);
1841 return GetText(c,
"rumor",
"hint");
1843 return GetText(c,
"rumor",
"default");
1858 if (!(idSheet !=
"unique"))
1860 return dialog.RandomItem();
1862 return c.
ApplyTone(dialog.RandomItem());
1867 return GetText(c,
"general", idTopic);
1873 string[] array = setup.
textData.Split(
new string[1] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
1874 foreach (
string text
in array)
1876 if (!(text == Environment.NewLine))
1878 _Talk(
"", text.TrimStart(Environment.NewLine.ToCharArray()).TrimEnd(Environment.NewLine.ToCharArray()));
1887 e.sequence = sequence;
1899 public void Method(Action action, Func<bool> endFunc =
null,
string idJump =
null)
1905 if (!idJump.IsEmpty())
1926 public void _Talk(
string idActor,
string text,
string idJump =
null)
1936 public void _Talk(
string idActor, Func<string> funcText,
string idJump =
null)
1946 public void _TempTalk(
string idActor,
string text,
string idJump =
null)
1961 sequence.
Play(idJump);
1970 EnableCancel(idJump);
1978 dramaChoice.onJump = onJump;
1993 manager.lastTalk.canCancel =
true;
1994 manager.lastTalk.idCancelJump = idCancelJump;
1999 List<Card> list =
new List<Card>();
int GetInt(int id, int? defaultInt=null)
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)
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)