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)
180 if (c.trait.ShopType != 0)
186 if (c.trait.SlaverType != 0)
190 if (c.trait.CopyShop != 0)
192 Choice2((
"daCopy" + c.trait.CopyShop).lang(c.trait.NumCopyItem.ToString() ??
""),
"_copyItem").
DisableSound();
205 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
207 if (c.trait.CanRevive)
215 if (c.trait.CanWhore)
217 Choice2(flag2 ?
"daBirdBuy" :
"daTailBuy",
"_whore");
223 if (c.trait.CanServeFood)
229 Choice2(
"daSellFame",
"_sellFame");
235 Choice2(
"daInvest",
"_investZone");
237 if (c.trait.CanInvest)
239 Choice2(
"daInvest",
"_investShop");
242 if (c.trait.CanIdentify)
245 Choice2(
"daIdentifyAll",
"_identifyAll");
248 if (c.trait.CanPicklock)
250 if (c.Evalue(280) < 20)
252 c.elements.SetBase(280, 20);
265 Choice2(
"daDeposit",
"_deposit");
269 Choice2(
"daExtraTax",
"_extraTax");
273 Choice2(
"daBlessing",
"_blessing");
278 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
281 if (c.IsHomeMember())
289 Choice2(
"daBuyLand",
"_buyLand");
290 Choice2(
"daChangeTitle",
"_changeTitle");
294 Choice2(
"enableMove",
"_enableMove");
296 if (!c.IsPCParty && c.memberType !=
FactionMemberType.Livestock && c.trait.CanJoinParty)
298 Choice2(
"daJoinParty",
"_joinParty");
300 if (!c.IsDisabled && (c.HasElement(1250) || (
EClass.
pc.
IsMofuable && c.ability.Has(6627))))
304 Choice2(
"daFactionOther",
"_factionOther");
308 Choice2(
"daGreatDebt",
"_greatDebt");
315 Step(
"_factionOther");
335 if (questDebt !=
null && questDebt.
gaveBill)
337 Choice(
"daGreatDebt2",
"_greatDebt2");
344 Choice((c.GetInt(106) == 0) ?
"daShutup" :
"daShutup2",
"_shutup");
345 if (c.CanInsult() || c.GetInt(108) == 1)
347 Choice((c.GetInt(108) == 0) ?
"daInsult" :
"daInsult2",
"_insult");
353 Choice(
"disableMove",
"_disableMove");
355 Choice((c.GetInt(123) == 0) ?
"daSleepBeside" :
"daSleepBeside2",
"_sleepBeside");
356 if (c.HasElement(1225))
358 Choice((c.GetInt(126) == 0) ?
"daDisableLoyal" :
"daDisableLoyal2",
"_disableLoyal");
360 if (c.GetInt(113) == 0)
362 Choice(
"daEquipSharedOff",
"_toggleSharedEquip");
366 Choice(
"daEquipSharedOn",
"_toggleSharedEquip");
370 Choice(
"daMakeMaid",
"_daMakeMaid");
372 if (c.trait.CanBeBanished && !c.IsPCParty)
374 Choice(
"daBanish",
"_depart");
377 Step(
"_toggleSharedEquip");
380 c.SetInt(113, (c.GetInt(113) == 0) ? 1 : 0);
382 _Talk(
"tg",
GetTopic(c, (c.GetInt(113) == 0) ?
"shutup" :
"shutup2"));
387 EClass.Branch.uidMaid = c.uid;
394 if (!c.trait.CanJoinPartyResident)
396 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
397 TempTalkTopic(
"invite3", StepDefault);
401 EClass.pc.party.AddMemeber(c, showMsg: true);
411 EClass.pc.Say(
"tame_send", c, c.homeZone.Name);
412 c.MoveZone(c.homeZone);
418 Step(
"_makeLivestock");
423 Talk(
"becomeLivestock",
StepEnd);
424 Step(
"_makeResident");
429 Talk(
"becomeResident",
StepEnd);
432 Choice(
"depart1",
"_depart1");
433 Choice(
"depart2",
"_depart2");
439 c.homeBranch.BanishMember(c);
446 Talk(
"gift_good",
null);
458 TempTalkTopic(
"goto",
"_goto2");
466 destCard.Teleport(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true) ?? EClass.pc.pos, silent: true, force: true);
474 Step(
"_lostProperty");
501 return (!taken()) ? c.quest.GetDetail() : c.quest.GetTalkProgress().IsEmpty(
GetTopic(c,
"questInProgress"));
503 string text2 =
"daAccept".lang();
504 if (c.quest !=
null && c.quest.deadline != 0)
506 text2 +=
"hintDeadline".lang(c.quest.TextDeadline).ToLower();
508 Choice(text2, (c.quest !=
null && c.quest.UseInstanceZone) ?
"_questAccept_instance" :
"_questAccept").
SetOnClick(delegate
537 Step(
"_questAccept");
539 Step(
"_questAccept_instance");
543 Zone z3 = c.quest.CreateInstanceZone(c);
554 TempTalkTopic(
"loytel_bill_give_wait",
StepDefault);
558 TempTalkTopic(
"loytel_bill_give_given",
StepDefault);
570 TempTalkTopic(
"loytel_bill_give_lost",
StepEnd);
576 c.SetInt(106, (c.GetInt(106) == 0) ? 1 : 0);
578 _Talk(
"tg",
GetTopic(c, (c.GetInt(106) == 0) ?
"shutup" :
"shutup2"));
580 Step(
"_sleepBeside");
583 if (c.affinity.CanSleepBeside() || c.GetInt(123) == 1)
585 c.SetInt(123, (c.GetInt(123) == 0) ? 1 : 0);
589 TempTalkTopic(
"refuse", StepEnd);
592 _Talk(
"tg",
GetTopic(c, (c.GetInt(123) == 0) ?
"ok" :
"shutup"));
597 if (!c.affinity.CanMarry())
599 TempTalkTopic(
"refuse", StepEnd);
611 destThing.rarity = Rarity.Mythical;
631 TempTalkTopic(
"wedding_deed", StepDefault);
635 TempTalkTopic(
"wedding_zone", StepDefault);
639 TempTalkTopic(
"wedding_confirm", null);
640 Choice(
"yes", delegate
642 TempTalkTopic(
"wedding_accept", null);
647 if (c.c_love != null)
649 c.c_love.dateWedding = EClass.world.date.GetRaw();
659 c.BanishAllMinions();
662 EClass.pc.party.AddMemeber(c);
666 if (item7 != EClass.pc && item7 != c)
668 EClass.pc.party.RemoveMember(item7);
673 ActRide.Unride(EClass.pc, c == EClass.pc.parasite, talk: false);
677 Zone z2 = quest.CreateInstanceZone(c);
680 state = ZoneTransition.EnterState.Exact,
687 Step(
"_disableLoyal");
690 c.SetInt(126, (c.GetInt(126) == 0) ? 1 : 0);
692 _Talk(
"tg", GetTopic(c, (c.GetInt(126) == 0) ?
"shutup" :
"shutup2"));
695 _Talk(
"tg", GetTalk(
"pervert4"));
698 if (c.HasElement(1250))
700 c.UseAbility(
"ActBloodsuck", EClass.pc);
712 c.SetInt(108, (c.GetInt(108) == 0) ? 1 : 0);
714 _Talk(
"tg", GetTopic(c, (c.GetInt(108) == 0) ?
"insult" :
"insult2"));
717 if (c.GetInt(108) == 1)
728 _Talk(
"tg", GetTopic(c,
"ok"));
731 Talk(
"rumor", StepDefault);
732 Choice(
"daAccept", StepDefault).SetOnClick(delegate
735 Choice(
"daDecline", StepDefault).SetOnClick(delegate
741 if (!c.trait.CanInvite)
743 string[] recruitItems = c.source.recruitItems;
744 if (!recruitItems.IsEmpty())
746 string[] array3 = recruitItems[0].Split(
'/');
747 string reqId = array3[0];
748 int reqNum = array3[1].ToInt();
749 CardBlueprint.Set(CardBlueprint.Original);
750 GameLang.refDrama1 = ThingGen.Create(reqId).SetNum(reqNum).Name;
751 TempTalkTopic(
"inviteReq1", null);
752 foreach (Thing t2 in EClass.pc.things.List((Thing t) => t.id == reqId && t.Num >= reqNum, onlyAccessible: true))
755 Choice(
"daDeliver".lang(
"", _t6.GetName(NameStyle.Full, _t6.Num)), delegate
758 TempTalk(
"hired", StepEnd);
759 EClass.Sound.Play(
"good");
761 }).SetOnTooltip(delegate(UITooltip a)
763 _t6.WriteNote(a.note);
766 Choice(
"no2", StepDefault, cancel: true).SetOnClick(RumorChill);
770 TempTalkTopic(
"invite2", StepDefault);
775 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
776 TempTalkTopic(
"invite3", StepDefault);
780 TempTalkTopic(
"invite", null);
781 Choice(
"yes", delegate
783 TempTalk(
"hired", StepEnd);
784 EClass.Sound.Play(
"good");
787 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
793 TempTalkTopic(
"guide",
null);
794 foreach (
Card guide
in GetListGuide())
796 Choice(
"daGotoGuide".lang(guide.
Name,
""),
"_goto").SetOnClick(delegate
801 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
808 TempTalkTopic(c.IsMarried ?
"tail4" : (bird +
"1"),
null);
809 Choice(
"yes2", delegate
811 TempTalkTopic(bird +
"2", StepEnd);
818 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
825 TempTalkTopic(bird +
"3",
null);
826 Choice(
"yes2", delegate
830 TempTalkTopic(
"nomoney", StepDefault);
835 EClass.pc.ModCurrency(-costWhore);
836 TempTalkTopic(bird +
"2", StepEnd);
837 EClass.pc.SetAI(new AI_Fuck
843 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
850 TempTalkTopic(
"bird3",
null);
851 Choice(
"yes2", delegate
855 TempTalkTopic(
"lockTooHard", StepDefault);
859 TempTalkTopic(
"nomoney", StepDefault);
864 EClass.pc.ModCurrency(-cost8);
865 manager.layer.SetOnKill(delegate
867 c.PlaySound(
"lock_open");
868 c.Say(
"lockpick_success", c, destThing);
869 c.ModExp(280, 200 + destThing.c_lockLv * 20);
870 destThing.c_lockLv = 0;
871 if (destThing.isLostProperty)
873 EClass.player.ModKarma(-8);
875 destThing.isLostProperty = false;
877 TempTalkTopic(destThing.
isLostProperty ?
"lockpick_purse" :
"bird2", StepEnd);
880 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
885 TempTalkTopic(
"blooming1",
null);
889 Choice(
"daBloom".lang(c4.
Name), delegate
891 if (EClass._zone.influence < 10)
893 TempTalkTopic(
"blooming3", StepDefault);
897 EClass._zone.ModInfluence(-10);
898 LayerDrama.Instance.SetOnKill(delegate
901 c4.Say(
"dingExp", c);
903 c4.SetFeat(1273, 1, msg: true);
904 c4.PlayEffect(
"aura_heaven");
906 EClass.pc.PlaySound(
"pray");
908 TempTalkTopic(
"blooming2", StepEnd);
912 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
919 SE.Play(
"click_chat");
920 if (EClass.pc.GetCurrency(
"medal") > 0)
922 TempTalkTopic(
"miral_medal", null);
926 TempTalkTopic(
"miral_medal2", StepDefault);
934 SE.Play(
"click_chat");
935 TempTalkTopic(
"shop_blackmarket_noaccess", StepEnd);
939 SE.Play(
"click_chat");
940 TempTalkTopic(
"shop_criminal", StepEnd);
945 manager.layer.Close();
947 if ((bool)WidgetFeed.Instance)
949 WidgetFeed.Instance.Talk(c,
"barter");
953 }, () => !layer, StepDefault);
957 List<ResearchPlan> plans =
new List<ResearchPlan>();
967 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
972 b.button1.mainText.text = a.
Name;
976 uIItem.image1.sprite = c3.resource.Sprite;
981 b.
button1.onClick.AddListener(delegate
983 if (c3.resource.value < c3.cost)
989 c3.resource.Mod(-c3.cost);
993 list.
List(refreshHighlight:
true);
996 b.RebuildLayout(recursive:
true);
1011 }, () => !layer, StepDefault);
1012 Step(
"_upgradeHearth");
1017 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ??
"";
1019 TempTalkTopic(
"upgrade_heath1",
null);
1020 Choice(
"yes", delegate
1024 TempTalkTopic(
"nomoney", StepDefault);
1028 EClass.pc.ModCurrency(-cost7);
1030 LayerDrama.Instance.SetOnKill(delegate
1032 EClass.Branch.Upgrade();
1034 TempTalkTopic(
"upgrade_heath2", StepEnd);
1037 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1042 int cost6 = EClass.player.fame / 5;
1043 GameLang.refDrama1 = cost6.ToString() ??
"";
1046 TempTalkTopic(
"goto2", StepDefault);
1050 TempTalkTopic(
"sellFame1",
null);
1051 Choice(
"yes", delegate
1056 TempTalkTopic(
"sellFame2", StepDefault);
1058 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1061 Step(
"_investZone");
1067 TempTalkTopic(
"invest1",
null);
1068 Choice(
"yes", delegate
1070 Invest(quick:
false);
1072 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1073 Choice(
"quickInvest", delegate
1075 Invest(quick:
true);
1077 void Invest(
bool quick)
1081 TempTalkTopic(
"nomoney", StepDefault);
1087 EClass._zone.investment += cost5;
1093 TempGoto(
"_investZone");
1097 TempTalkTopic(
"invest2", StepDefault);
1102 Step(
"_investShop");
1108 TempTalkTopic(
"invest_shop1",
null);
1109 Choice(
"yes", delegate
1111 Invest(quick:
false);
1113 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1114 Choice(
"quickInvest", delegate
1116 Invest(quick:
true);
1118 void Invest(
bool quick)
1122 TempTalkTopic(
"nomoney", StepDefault);
1134 TempGoto(
"_investShop");
1138 TempTalkTopic(
"invest_shop2", StepDefault);
1143 Step(
"_changeTitle");
1146 EClass.player.title = WordGen.Get(
"title");
1148 TempTalk(
"changeTitle", StepDefault);
1149 },
null, StepDefault);
1155 GameLang.refDrama1 =
"";
1156 GameLang.refDrama2 = costLand.ToString() ??
"";
1159 TempTalkTopic(
"expand3", StepDefault);
1163 TempTalkTopic(
"expand1", StepDefault);
1164 Choice(
"yes", delegate
1168 TempTalkTopic(
"nomoney", StepDefault);
1173 EClass.pc.ModCurrency(-costLand,
"money2");
1174 TempTalkTopic(
"expand2", StepDefault);
1175 EClass._map.bounds.Expand(1);
1177 EClass._map.RefreshAllTiles();
1178 WidgetMinimap.UpdateMap();
1179 ScreenEffect.Play(
"Firework");
1182 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1199 }, () => !layer, StepDefault);
1204 TempTalkTopic(
"blessing", StepEnd);
1209 if (c.trait is TraitMiko_Mifu)
1211 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1215 member.AddCondition<ConEuphoric>()?.SetPerfume();
1219 member.AddCondition<ConNightVision>()?.SetPerfume();
1221 member.
Say(
"blessing", member);
1225 c.isRestocking =
true;
1234 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1261 b.imagePotential.enabled = flag5;
1265 b.mainText.text = b.mainText.text +
" " + (flag5 ?
"" : (
"notLearned".lang() +
" "));
1266 b.subText2.text = ((cost3 == 0) ?
"-" : (cost3.ToString() ??
"")).TagColor(() => plat >= cost3 && cost3 != 0);
1269 onInstantiate = delegate
1276 if (a.tag.Contains(
"unused"))
1280 if (a.tag.Contains(
"guild"))
1304 return a.category ==
"skill" && a.categorySub == c.trait.IDTrainer;
1318 }, () => !layer, StepDefault);
1319 Step(
"_changeDomain");
1323 }, () => !layer, StepDefault);
1328 layer.SetOnKill(SE.PopDrama);
1333 }, () => !layer, StepDefault);
1337 LayerPeople.slaveToBuy =
null;
1339 layer.SetOnKill(SE.PopDrama);
1345 }, () => !layer,
"_buySlaveConfirm");
1346 Step(
"_buySlaveConfirm");
1357 GameLang.refDrama1 = cost2.ToString() ??
"";
1358 GameLang.refDrama2 = tc.
Name;
1359 TempTalkTopic(
"slave_buy",
null);
1360 Choice(
"yes", delegate
1364 TempTalkTopic(
"nomoney", StepDefault);
1368 GameLang.refDrama1 = tc.Name;
1369 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1371 c.GetObj<SlaverData>(5).list.Remove(tc);
1372 TempTalkTopic(
"slave_buy2", StepEnd);
1375 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1383 }, () => !layer, StepDefault);
1391 }, () => !layer, StepDefault);
1392 Step(
"_identifyAll");
1395 int costIdentify = 0;
1396 int numIdentify = 0;
1397 int numSuperior = 0;
1403 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1406 GameLang.refDrama1 = costIdentify.ToString() ??
"";
1407 GameLang.refDrama2 = numIdentify.ToString() ??
"";
1408 if (numIdentify == 0)
1410 TempTalkTopic(
"appraise3", StepDefault);
1414 TempTalkTopic(
"appraise1", StepDefault);
1415 Choice(
"yes", delegate
1419 TempTalkTopic(
"nomoney", StepDefault);
1424 EClass.pc.ModCurrency(-costIdentify);
1425 foreach (Thing item11 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1427 item11.Thing.Identify(show: false);
1428 if (!item11.IsInstalled)
1433 TempTalkTopic(
"appraise2", StepDefault);
1436 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1439 Step(
"_identifySP");
1446 }, () => !layer, StepDefault);
1450 TempTalkTopic(
"bout1", StepDefault);
1451 Choice(
"yes", delegate
1467 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1469 TempTalkTopic(
"bout2", StepEnd);
1471 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1472 },
null, StepDefault);
1479 TempTalkTopic(
"news2",
null);
1483 zone.isKnown =
true;
1485 GameLang.refDrama1 = zone.
Name;
1486 TempTalkTopic(
"news1",
null);
1493 },
null, StepDefault);
1499 TempTalkTopic(
"healer1",
null);
1500 Choice(
"yes", delegate
1504 TempTalkTopic(
"nomoney", StepDefault);
1509 foreach (Chara member2 in EClass.pc.party.members)
1511 ActEffect.Proc(EffectId.HealComplete, member2);
1514 TempTalkTopic(
"healer2", StepEnd);
1517 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1524 TempTalkTopic(
"food1",
null);
1525 Choice(
"yes", delegate
1529 TempTalkTopic(
"alreadyFull", StepDefault);
1533 TempTalkTopic(
"nomoney", StepDefault);
1538 EClass.pc.ModCurrency(-cost);
1539 TempTalkTopic(
"food2", StepDefault);
1540 FoodEffect.Proc(EClass.pc, ThingGen.Create(
"dish_lunch"), consume: false);
1541 EClass.pc.hunger.value = 0;
1544 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1546 int[] bankTier =
new int[5] { 100, 1000, 10000, 100000, 1000000 };
1554 WidgetFeed.Instance.Talk(c,
"barter");
1556 SE.Play(
"shop_open");
1558 }, () => !layer, StepDefault);
1567 WidgetFeed.Instance.Talk(c,
"barter");
1569 SE.Play(
"shop_open");
1571 if (c.c_copyContainer ==
null)
1573 c.c_copyContainer = ThingGen.Create(
"container_deposit");
1575 int numCopyItem = c.trait.NumCopyItem;
1576 c.c_copyContainer.things.SetSize(numCopyItem, 1);
1578 }, () => !layer, StepDefault);
1580 int[] taxTier =
new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1585 TempTalkTopic(
"extraTax",
null);
1586 int[] array2 = taxTier;
1587 foreach (
int num3
in array2)
1592 EClass.player.extraTax = _i2;
1593 GameLang.refDrama1 = Lang._currency(_i2,
"money");
1594 TempTalkTopic(
"extraTax2", StepDefault);
1597 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1603 GameLang.refDrama1 = bankMoney.ToString() ??
"";
1604 TempTalkTopic(
"banker2",
null);
1605 int[] array = bankTier;
1606 foreach (
int num2
in array)
1614 EClass.pc.ModCurrency(_i);
1615 EClass.player.bankMoney -= _i;
1616 TempTalkTopic(
"banker4", StepDefault);
1620 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1622 Step(
"_disableMove");
1626 c.orgPos =
new Point(c.pos);
1630 Step(
"_enableMove");
1648 Method(RumorChill,
null, StepDefault);
1650 string GetTalk(
string id)
1652 return c.GetTalkText(
id);
1656 rumor = GetTalk(
"chill");
1658 void Talk(
string idTalk,
string idJump)
1660 _Talk(
"tg", GetTalk(idTalk), idJump);
1664 EnableCancel(
"back");
1666 void TempTalk(
string idTalk,
string idJump)
1668 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1670 void TempTalkTopic(
string idTopc,
string idJump)
1672 _TempTalk(
"tg", GetTopic(c, idTopc), idJump);
1676 if (c.quest !=
null)
1688 return GetText(c,
"rumor",
"bored");
1690 if (HasTopic(
"unique", c.
id))
1692 return GetText(c,
"unique", c.
id);
1712 return GetText(c,
"rumor",
"hint");
1714 return GetText(c,
"rumor",
"default");
1729 if (!(idSheet !=
"unique"))
1731 return dialog.RandomItem();
1733 return c.
ApplyTone(dialog.RandomItem());
1738 return GetText(c,
"general", idTopic);
1744 string[] array = setup.
textData.Split(
new string[1] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
1745 foreach (
string text
in array)
1747 if (!(text == Environment.NewLine))
1749 _Talk(
"", text.TrimStart(Environment.NewLine.ToCharArray()).TrimEnd(Environment.NewLine.ToCharArray()));
1758 e.sequence = sequence;
1770 public void Method(Action action, Func<bool> endFunc =
null,
string idJump =
null)
1776 if (!idJump.IsEmpty())
1797 public void _Talk(
string idActor,
string text,
string idJump =
null)
1807 public void _Talk(
string idActor, Func<string> funcText,
string idJump =
null)
1817 public void _TempTalk(
string idActor,
string text,
string idJump =
null)
1832 sequence.
Play(idJump);
1841 EnableCancel(idJump);
1849 dramaChoice.onJump = onJump;
1864 manager.lastTalk.canCancel =
true;
1865 manager.lastTalk.idCancelJump = idCancelJump;
1870 List<Card> list =
new List<Card>();
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
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
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)
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)
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)