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");
247 if (c.IsHomeMember())
255 Choice2(
"daBuyLand",
"_buyLand");
256 Choice2(
"daChangeTitle",
"_changeTitle");
260 Choice2(
"enableMove",
"_enableMove");
262 if (!c.IsPCParty && c.memberType !=
FactionMemberType.Livestock && c.trait.CanJoinParty)
264 Choice2(
"daJoinParty",
"_joinParty");
266 if (!c.IsDisabled && (c.HasElement(1250) || (
EClass.
pc.
IsMofuable && c.ability.Has(6627))))
270 Choice2(
"daFactionOther",
"_factionOther");
274 Choice2(
"daGreatDebt",
"_greatDebt");
281 Step(
"_factionOther");
301 if (questDebt !=
null && questDebt.
gaveBill)
303 Choice(
"daGreatDebt2",
"_greatDebt2");
310 Choice((c.GetInt(106) == 0) ?
"daShutup" :
"daShutup2",
"_shutup");
311 if (c.CanInsult() || c.GetInt(108) == 1)
313 Choice((c.GetInt(108) == 0) ?
"daInsult" :
"daInsult2",
"_insult");
319 Choice(
"disableMove",
"_disableMove");
321 Choice((c.GetInt(123) == 0) ?
"daSleepBeside" :
"daSleepBeside2",
"_sleepBeside");
322 if (c.HasElement(1225))
324 Choice((c.GetInt(126) == 0) ?
"daDisableLoyal" :
"daDisableLoyal2",
"_disableLoyal");
326 if (c.IsSlimeEvolvable || c.ability.Has(6603) || c.HasElement(1216))
328 Choice((c.GetInt(119) == 0) ?
"daDisableFuck" :
"daDisableFuck2",
"_disableFuck");
330 if (c.GetInt(113) == 0)
332 Choice(
"daEquipSharedOff",
"_toggleSharedEquip");
336 Choice(
"daEquipSharedOn",
"_toggleSharedEquip");
340 Choice(
"daMakeMaid",
"_daMakeMaid");
342 if (c.trait.CanBeBanished && !c.IsPCParty)
344 Choice(
"daBanish",
"_depart");
347 Step(
"_toggleSharedEquip");
350 c.SetInt(113, (c.GetInt(113) == 0) ? 1 : 0);
352 _Talk(
"tg",
GetTopic(c, (c.GetInt(113) == 0) ?
"shutup" :
"shutup2"));
357 EClass.Branch.uidMaid = c.uid;
364 if (!c.trait.CanJoinPartyResident)
366 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
367 TempTalkTopic(
"invite3", StepDefault);
371 EClass.pc.party.AddMemeber(c, showMsg: true);
381 EClass.pc.Say(
"tame_send", c, c.homeZone.Name);
382 c.MoveZone(c.homeZone);
388 Step(
"_makeLivestock");
393 Talk(
"becomeLivestock",
StepEnd);
394 Step(
"_makeResident");
399 Talk(
"becomeResident",
StepEnd);
402 Choice(
"depart1",
"_depart1");
403 Choice(
"depart2",
"_depart2");
409 c.homeBranch.BanishMember(c);
416 Talk(
"gift_good",
null);
428 TempTalkTopic(
"goto",
"_goto2");
436 destCard.Teleport(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true) ?? EClass.pc.pos, silent: true, force: true);
444 Step(
"_lostProperty");
471 return (!taken()) ? c.quest.GetDetail() : c.quest.GetTalkProgress().IsEmpty(
GetTopic(c,
"questInProgress"));
473 string text2 =
"daAccept".lang();
474 if (c.quest !=
null && c.quest.deadline != 0)
476 text2 +=
"hintDeadline".lang(c.quest.TextDeadline).ToLower();
478 Choice(text2, (c.quest !=
null && c.quest.UseInstanceZone) ?
"_questAccept_instance" :
"_questAccept").
SetOnClick(delegate
507 Step(
"_questAccept");
509 Step(
"_questAccept_instance");
513 Zone z3 = c.quest.CreateInstanceZone(c);
524 TempTalkTopic(
"loytel_bill_give_wait",
StepDefault);
528 TempTalkTopic(
"loytel_bill_give_given",
StepDefault);
540 TempTalkTopic(
"loytel_bill_give_lost",
StepEnd);
546 c.SetInt(106, (c.GetInt(106) == 0) ? 1 : 0);
548 _Talk(
"tg",
GetTopic(c, (c.GetInt(106) == 0) ?
"shutup" :
"shutup2"));
550 Step(
"_sleepBeside");
553 if (c.affinity.CanSleepBeside() || c.GetInt(123) == 1)
555 c.SetInt(123, (c.GetInt(123) == 0) ? 1 : 0);
559 TempTalkTopic(
"refuse", StepEnd);
562 _Talk(
"tg",
GetTopic(c, (c.GetInt(123) == 0) ?
"ok" :
"shutup"));
567 if (!c.affinity.CanMarry())
569 TempTalkTopic(
"refuse", StepEnd);
581 destThing.rarity = Rarity.Mythical;
601 TempTalkTopic(
"wedding_deed", StepDefault);
605 TempTalkTopic(
"wedding_zone", StepDefault);
609 TempTalkTopic(
"wedding_confirm", null);
610 Choice(
"yes", delegate
612 TempTalkTopic(
"wedding_accept", null);
617 if (c.c_love != null)
619 c.c_love.dateWedding = EClass.world.date.GetRaw();
629 c.BanishAllMinions();
632 EClass.pc.party.AddMemeber(c);
636 if (item6 != EClass.pc && item6 != c)
638 EClass.pc.party.RemoveMember(item6);
643 ActRide.Unride(EClass.pc, c == EClass.pc.parasite, talk: false);
647 Zone z2 = quest.CreateInstanceZone(c);
650 state = ZoneTransition.EnterState.Exact,
657 Step(
"_disableLoyal");
660 c.SetInt(126, (c.GetInt(126) == 0) ? 1 : 0);
662 _Talk(
"tg", GetTopic(c, (c.GetInt(126) == 0) ?
"shutup" :
"shutup2"));
664 Step(
"_disableFuck");
667 c.SetInt(119, (c.GetInt(119) == 0) ? 1 : 0);
669 _Talk(
"tg", GetTopic(c, (c.GetInt(119) == 0) ?
"shutup" :
"shutup2"));
672 _Talk(
"tg", GetTalk(
"pervert4"));
675 if (c.HasElement(1250))
677 c.UseAbility(
"ActBloodsuck", EClass.pc);
689 c.SetInt(108, (c.GetInt(108) == 0) ? 1 : 0);
691 _Talk(
"tg", GetTopic(c, (c.GetInt(108) == 0) ?
"insult" :
"insult2"));
694 if (c.GetInt(108) == 1)
705 _Talk(
"tg", GetTopic(c,
"ok"));
708 Talk(
"rumor", StepDefault);
709 Choice(
"daAccept", StepDefault).SetOnClick(delegate
712 Choice(
"daDecline", StepDefault).SetOnClick(delegate
718 if (!c.trait.CanInvite)
720 string[] recruitItems = c.source.recruitItems;
721 if (!recruitItems.IsEmpty())
723 string[] array3 = recruitItems[0].Split(
'/');
724 string reqId = array3[0];
725 int reqNum = array3[1].ToInt();
726 CardBlueprint.Set(CardBlueprint.Original);
727 GameLang.refDrama1 = ThingGen.Create(reqId).SetNum(reqNum).Name;
728 TempTalkTopic(
"inviteReq1", null);
729 foreach (Thing t2 in EClass.pc.things.List((Thing t) => t.id == reqId && (t.Num >= reqNum || EClass.debug.enable), onlyAccessible: true))
732 Choice(
"daDeliver".lang(
"", _t6.GetName(NameStyle.Full, _t6.Num)), delegate
735 TempTalk(
"hired", StepEnd);
736 EClass.Sound.Play(
"good");
737 if (c.id ==
"mamani")
739 Chara chara = CharaGen.Create(
"mamani2");
740 EClass._zone.AddCard(chara, EClass.pc.pos.GetNearestPoint());
748 }).SetOnTooltip(delegate(UITooltip a)
750 _t6.WriteNote(a.note);
753 Choice(
"no2", StepDefault, cancel: true).SetOnClick(RumorChill);
757 TempTalkTopic(
"invite2", StepDefault);
762 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
763 TempTalkTopic(
"invite3", StepDefault);
767 TempTalkTopic(
"invite", null);
768 Choice(
"yes", delegate
770 TempTalk(
"hired", StepEnd);
771 EClass.Sound.Play(
"good");
774 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
780 TempTalkTopic(
"guide",
null);
781 foreach (
Card guide
in GetListGuide())
783 Choice(
"daGotoGuide".lang(guide.
Name,
""),
"_goto").SetOnClick(delegate
788 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
795 TempTalkTopic(c.IsMarried ?
"tail4" : (bird +
"1"),
null);
796 Choice(
"yes2", delegate
798 TempTalkTopic(bird +
"2", StepEnd);
805 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
812 Steam.GetAchievement(ID_Achievement.MAMA);
814 if (!(id2 ==
"farris"))
818 Steam.GetAchievement(ID_Achievement.MAMA3);
823 Steam.GetAchievement(ID_Achievement.MAMA2);
825 TempTalkTopic(
"mama_yes", StepEnd);
829 variation = AI_Fuck.Variation.MotherMilk
834 TempTalkTopic(
"mama_no", StepDefault);
843 TempTalkTopic(
"baby_yes", StepEnd);
844 EClass.pc.SetAI(new AI_Fuck
847 variation = AI_Fuck.Variation.MotherMilk,
853 TempTalkTopic(
"baby_no", StepDefault);
862 TempTalkTopic(bird +
"3",
null);
863 Choice(
"yes2", delegate
867 TempTalkTopic(
"nomoney", StepDefault);
872 EClass.pc.ModCurrency(-costWhore);
873 TempTalkTopic(bird +
"2", StepEnd);
874 EClass.pc.SetAI(new AI_Fuck
880 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
887 TempTalkTopic(
"bird3",
null);
888 Choice(
"yes2", delegate
892 TempTalkTopic(
"lockTooHard", StepDefault);
896 TempTalkTopic(
"nomoney", StepDefault);
901 EClass.pc.ModCurrency(-cost8);
902 manager.layer.SetOnKill(delegate
904 c.PlaySound(
"lock_open");
905 c.Say(
"lockpick_success", c, destThing);
906 c.ModExp(280, 200 + destThing.c_lockLv * 20);
907 destThing.c_lockLv = 0;
908 if (destThing.isLostProperty)
910 EClass.player.ModKarma(-8);
912 destThing.isLostProperty = false;
914 TempTalkTopic(destThing.
isLostProperty ?
"lockpick_purse" :
"bird2", StepEnd);
917 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
922 TempTalkTopic(
"blooming1",
null);
926 Choice(
"daBloom".lang(c4.
Name), delegate
928 if (EClass._zone.influence < 10)
930 TempTalkTopic(
"blooming3", StepDefault);
934 EClass._zone.ModInfluence(-10);
935 LayerDrama.Instance.SetOnKill(delegate
938 c4.Say(
"dingExp", c);
940 c4.SetFeat(1273, 1, msg: true);
941 c4.PlayEffect(
"aura_heaven");
943 EClass.pc.PlaySound(
"pray");
945 TempTalkTopic(
"blooming2", StepEnd);
949 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
956 SE.Play(
"click_chat");
957 if (EClass.pc.GetCurrency(
"medal") > 0)
959 TempTalkTopic(
"miral_medal", null);
963 TempTalkTopic(
"miral_medal2", StepDefault);
971 SE.Play(
"click_chat");
972 TempTalkTopic(
"shop_blackmarket_noaccess", StepEnd);
976 SE.Play(
"click_chat");
977 TempTalkTopic(
"shop_criminal", StepEnd);
982 manager.layer.Close();
984 if ((bool)WidgetFeed.Instance)
986 WidgetFeed.Instance.Talk(c,
"barter");
990 }, () => !layer, StepDefault);
994 List<ResearchPlan> plans =
new List<ResearchPlan>();
1004 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
1009 b.button1.mainText.text = a.
Name;
1013 uIItem.image1.sprite = c3.resource.Sprite;
1018 b.
button1.onClick.AddListener(delegate
1020 if (c3.resource.value < c3.cost)
1026 c3.resource.Mod(-c3.cost);
1030 list.
List(refreshHighlight:
true);
1033 b.RebuildLayout(recursive:
true);
1048 }, () => !layer, StepDefault);
1049 Step(
"_upgradeHearth");
1054 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ??
"";
1056 TempTalkTopic(
"upgrade_heath1",
null);
1057 Choice(
"yes", delegate
1061 TempTalkTopic(
"nomoney", StepDefault);
1065 EClass.pc.ModCurrency(-cost7);
1067 LayerDrama.Instance.SetOnKill(delegate
1069 EClass.Branch.Upgrade();
1071 TempTalkTopic(
"upgrade_heath2", StepEnd);
1074 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1079 int cost6 = EClass.player.fame / 5;
1080 GameLang.refDrama1 = cost6.ToString() ??
"";
1083 TempTalkTopic(
"goto2", StepDefault);
1087 TempTalkTopic(
"sellFame1",
null);
1088 Choice(
"yes", delegate
1093 TempTalkTopic(
"sellFame2", StepDefault);
1095 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1098 Step(
"_investZone");
1104 TempTalkTopic(
"invest1",
null);
1105 Choice(
"yes", delegate
1107 Invest(quick:
false);
1109 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1110 Choice(
"quickInvest", delegate
1112 Invest(quick:
true);
1114 void Invest(
bool quick)
1118 TempTalkTopic(
"nomoney", StepDefault);
1124 EClass._zone.investment += cost5;
1130 TempGoto(
"_investZone");
1134 TempTalkTopic(
"invest2", StepDefault);
1139 Step(
"_investShop");
1145 TempTalkTopic(
"invest_shop1",
null);
1146 Choice(
"yes", delegate
1148 Invest(quick:
false);
1150 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1151 Choice(
"quickInvest", delegate
1153 Invest(quick:
true);
1155 void Invest(
bool quick)
1159 TempTalkTopic(
"nomoney", StepDefault);
1171 TempGoto(
"_investShop");
1175 TempTalkTopic(
"invest_shop2", StepDefault);
1180 Step(
"_changeTitle");
1183 EClass.player.title = WordGen.Get(
"title");
1185 TempTalk(
"changeTitle", StepDefault);
1186 },
null, StepDefault);
1192 GameLang.refDrama1 =
"";
1193 GameLang.refDrama2 = costLand.ToString() ??
"";
1196 TempTalkTopic(
"expand3", StepDefault);
1200 TempTalkTopic(
"expand1", StepDefault);
1201 Choice(
"yes", delegate
1205 TempTalkTopic(
"nomoney", StepDefault);
1210 EClass.pc.ModCurrency(-costLand,
"money2");
1211 TempTalkTopic(
"expand2", StepDefault);
1212 EClass._map.bounds.Expand(1);
1214 EClass._map.RefreshAllTiles();
1215 WidgetMinimap.UpdateMap();
1216 ScreenEffect.Play(
"Firework");
1219 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1236 }, () => !layer, StepDefault);
1241 TempTalkTopic(
"blessing", StepEnd);
1246 if (c.trait is TraitMiko_Mifu)
1248 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1252 member.AddCondition<ConEuphoric>()?.SetPerfume();
1256 member.AddCondition<ConNightVision>()?.SetPerfume();
1258 member.
Say(
"blessing", member);
1262 c.isRestocking =
true;
1271 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1298 b.imagePotential.enabled = flag5;
1302 b.mainText.text = b.mainText.text +
" " + (flag5 ?
"" : (
"notLearned".lang() +
" "));
1303 b.subText2.text = ((cost3 == 0) ?
"-" : (cost3.ToString() ??
"")).TagColor(() => plat >= cost3 && cost3 != 0);
1306 onInstantiate = delegate
1313 if (a.tag.Contains(
"unused"))
1317 if (a.tag.Contains(
"guild"))
1341 return a.category ==
"skill" && a.categorySub == c.trait.IDTrainer;
1355 }, () => !layer, StepDefault);
1356 Step(
"_changeDomain");
1360 }, () => !layer, StepDefault);
1365 layer.SetOnKill(SE.PopDrama);
1370 }, () => !layer, StepDefault);
1374 LayerPeople.slaveToBuy =
null;
1376 layer.SetOnKill(SE.PopDrama);
1382 }, () => !layer,
"_buySlaveConfirm");
1383 Step(
"_buySlaveConfirm");
1394 GameLang.refDrama1 = cost2.ToString() ??
"";
1395 GameLang.refDrama2 = tc.
Name;
1396 TempTalkTopic(
"slave_buy",
null);
1397 Choice(
"yes", delegate
1401 TempTalkTopic(
"nomoney", StepDefault);
1405 GameLang.refDrama1 = tc.Name;
1406 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1408 c.GetObj<SlaverData>(5).list.Remove(tc);
1409 TempTalkTopic(
"slave_buy2", StepEnd);
1412 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1420 }, () => !layer, StepDefault);
1428 }, () => !layer, StepDefault);
1429 Step(
"_identifyAll");
1432 int costIdentify = 0;
1433 int numIdentify = 0;
1434 int numSuperior = 0;
1440 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1443 GameLang.refDrama1 = costIdentify.ToString() ??
"";
1444 GameLang.refDrama2 = numIdentify.ToString() ??
"";
1445 if (numIdentify == 0)
1447 TempTalkTopic(
"appraise3", StepDefault);
1451 TempTalkTopic(
"appraise1", StepDefault);
1452 Choice(
"yes", delegate
1456 TempTalkTopic(
"nomoney", StepDefault);
1461 EClass.pc.ModCurrency(-costIdentify);
1462 foreach (Thing item10 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1464 item10.Thing.Identify(show: false);
1465 if (!item10.IsInstalled)
1470 TempTalkTopic(
"appraise2", StepDefault);
1473 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1476 Step(
"_identifySP");
1483 }, () => !layer, StepDefault);
1487 TempTalkTopic(
"bout1", StepDefault);
1488 Choice(
"yes", delegate
1504 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1506 TempTalkTopic(
"bout2", StepEnd);
1508 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1509 },
null, StepDefault);
1513 TempTalkTopic(
"rob1", StepDefault);
1514 Choice(
"yes_rob", delegate
1517 c.Talk(
"callGuards");
1520 if (chara2 == c || chara2.master == c)
1522 chara2.SetHostility(Hostility.Enemy);
1523 chara2.DoHostileAction(EClass.pc.party.members.RandomItem());
1528 EClass._zone.SetBGM(102);
1531 c.SetBool(129, enable:
true);
1533 Choice(
"no_rob", StepDefault, cancel:
true).SetOnClick(RumorChill);
1534 },
null, StepDefault);
1541 TempTalkTopic(
"news2",
null);
1545 zone.isKnown =
true;
1547 GameLang.refDrama1 = zone.
Name;
1548 TempTalkTopic(
"news1",
null);
1555 },
null, StepDefault);
1561 TempTalkTopic(
"healer1",
null);
1562 Choice(
"yes", delegate
1566 TempTalkTopic(
"nomoney", StepDefault);
1571 foreach (Chara member2 in EClass.pc.party.members)
1573 ActEffect.Proc(EffectId.HealComplete, member2);
1576 TempTalkTopic(
"healer2", StepEnd);
1579 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1586 TempTalkTopic(
"food1",
null);
1587 Choice(
"yes", delegate
1591 TempTalkTopic(
"alreadyFull", StepDefault);
1595 if (EClass.pc.GetCurrency() >= cost)
1598 EClass.pc.ModCurrency(-cost);
1599 TempTalkTopic(
"food2", StepDefault);
1601 foreach (Chara member3 in EClass.pc.party.members)
1603 if (member3.hunger.GetPhase() > 0)
1605 FoodEffect.Proc(member3, ThingGen.Create(
"dish_lunch"), consume: false);
1606 member3.hunger.value = 0;
1612 TempTalkTopic(
"nomoney", StepDefault);
1615 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1617 int[] bankTier =
new int[5] { 100, 1000, 10000, 100000, 1000000 };
1625 WidgetFeed.Instance.Talk(c,
"barter");
1627 SE.Play(
"shop_open");
1629 }, () => !layer, StepDefault);
1638 WidgetFeed.Instance.Talk(c,
"barter");
1640 SE.Play(
"shop_open");
1642 if (c.c_copyContainer ==
null)
1644 c.c_copyContainer = ThingGen.Create(
"container_deposit");
1646 int numCopyItem = c.trait.NumCopyItem;
1647 c.c_copyContainer.things.SetSize(numCopyItem, 1);
1649 }, () => !layer, StepDefault);
1651 int[] taxTier =
new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1656 TempTalkTopic(
"extraTax",
null);
1657 int[] array2 = taxTier;
1658 foreach (
int num5
in array2)
1663 EClass.player.extraTax = _i2;
1664 GameLang.refDrama1 = Lang._currency(_i2,
"money");
1665 TempTalkTopic(
"extraTax2", StepDefault);
1668 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1674 GameLang.refDrama1 = bankMoney.ToString() ??
"";
1675 TempTalkTopic(
"banker2",
null);
1676 int[] array = bankTier;
1677 foreach (
int num4
in array)
1685 EClass.pc.ModCurrency(_i);
1686 EClass.player.bankMoney -= _i;
1687 TempTalkTopic(
"banker4", StepDefault);
1691 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1693 Step(
"_disableMove");
1697 c.orgPos =
new Point(c.pos);
1701 Step(
"_enableMove");
1719 if (c.trait.CanRevive)
1721 Choice2(
"daRevive",
"_revive").DisableSound();
1725 Choice2(
"daTrain",
"_train").DisableSound();
1727 if (c.trait.CanWhore)
1729 Choice2(flag2 ?
"daBirdBuy" :
"daTailBuy",
"_whore");
1731 if (c.trait.CanHeal)
1733 Choice2(
"daHeal",
"_heal");
1735 if (c.trait.CanServeFood)
1737 Choice2(
"daFood",
"_food");
1741 Choice2(
"daSellFame",
"_sellFame");
1747 Choice2(
"daInvest",
"_investZone");
1749 if (c.trait.CanInvest)
1751 Choice2(
"daInvest",
"_investShop");
1754 if (c.trait.CanIdentify)
1756 Choice2(
"daIdentify",
"_identify").DisableSound();
1757 Choice2(
"daIdentifyAll",
"_identifyAll");
1758 Choice2(
"daIdentifySP",
"_identifySP").DisableSound();
1760 if (c.trait.CanPicklock)
1762 if (c.Evalue(280) < 20)
1764 c.elements.SetBase(280, 20);
1769 Choice2(
"daPicklock".lang(_t2.
Name),
"_picklock").SetOnClick(delegate
1777 Choice2(
"daDeposit",
"_deposit");
1781 Choice2(
"daExtraTax",
"_extraTax");
1785 Choice2(
"daBlessing",
"_blessing");
1791 if (condition2 ==
null)
1793 if (c.HasElement(1232))
1797 num3 = c.HasElement(1291);
1801 num3 = condition2.
IsBaby;
1810 Method(RumorChill,
null, StepDefault);
1812 string GetTalk(
string id)
1814 return c.GetTalkText(
id);
1818 rumor = GetTalk(
"chill");
1820 void Talk(
string idTalk,
string idJump)
1822 _Talk(
"tg", GetTalk(idTalk), idJump);
1826 EnableCancel(
"back");
1828 void TempTalk(
string idTalk,
string idJump)
1830 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1832 void TempTalkTopic(
string idTopc,
string idJump)
1834 _TempTalk(
"tg", GetTopic(c, idTopc), idJump);
1838 if (c.quest !=
null)
1850 return GetText(c,
"rumor",
"bored");
1852 if (HasTopic(
"unique", c.
id))
1854 return GetText(c,
"unique", c.
id);
1874 return GetText(c,
"rumor",
"hint");
1876 return GetText(c,
"rumor",
"default");
1891 if (!(idSheet !=
"unique"))
1893 return dialog.RandomItem();
1895 return c.
ApplyTone(dialog.RandomItem());
1900 return GetText(c,
"general", idTopic);
1906 string[] array = setup.
textData.Split(
new string[1] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
1907 foreach (
string text
in array)
1909 if (!(text == Environment.NewLine))
1911 _Talk(
"", text.TrimStart(Environment.NewLine.ToCharArray()).TrimEnd(Environment.NewLine.ToCharArray()));
1920 e.sequence = sequence;
1932 public void Method(Action action, Func<bool> endFunc =
null,
string idJump =
null)
1938 if (!idJump.IsEmpty())
1959 public void _Talk(
string idActor,
string text,
string idJump =
null)
1969 public void _Talk(
string idActor, Func<string> funcText,
string idJump =
null)
1979 public void _TempTalk(
string idActor,
string text,
string idJump =
null)
1994 sequence.
Play(idJump);
2003 EnableCancel(idJump);
2011 dramaChoice.onJump = onJump;
2026 manager.lastTalk.canCancel =
true;
2027 manager.lastTalk.idCancelJump = idCancelJump;
2032 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)