33 {
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);
43 if (!flag)
44 {
46 _Talk(
"tg", () => rumor);
47 }
48 if (num && flag3)
49 {
52 {
53 sequence.firstTalk.funcText = () => rumor;
55 Hobby hobby = ((list.Count > 0) ? list[0] :
null);
57 {
59 {
60 GameLang.refDrama1 = c.
GetFavCat().GetName().ToLower();
62 rumor =
GetText(c,
"general",
"talk_fav");
63 c.knowFav = true;
64 }
65 else
66 {
67 GameLang.refDrama1 = hobby.
Name.ToLower();
68 rumor =
GetText(c,
"general",
"talk_hobby");
69 }
70 }
71 else
72 {
74 }
76 choice.forceHighlight = true;
77 }).SetCondition(() => c.interest > 0);
78 }
79 bool flag4 = false;
81 {
83 {
85 flag4 = true;
86 }
87 else
88 {
90 }
91 }
93 {
95 if (!
item.CanDeliverToClient(c))
96 {
97 continue;
98 }
101 {
104 {
108 {
110 });
111 }
112 }
114 {
116 {
117 Choice2(
"daMakeHome",
"_makeHome");
118 }
120 {
122 }
123 }
125 {
128 {
130 {
132 {
133 Choice2("daLostProperty".lang(thing.Name), "_lostProperty").SetOnClick(delegate
134 {
135 destThing = thing;
136 });
137 }
138 });
139 }
141 {
143 {
145 {
147 {
148 continue;
149 }
151 if (dest != null)
152 {
154 {
156 });
157 }
159 {
160 continue;
161 }
163 if (dest2 != null)
164 {
166 {
168 });
169 }
170 }
172 {
174 }
175 }
177 {
179 {
181 }
183 {
184 if (!c.
GetBool(
"disable_barter_choice"))
185 {
187 }
189 {
191 }
192 }
194 {
196 }
198 {
200 }
201 }
203 {
205 }
207 {
209 }
211 {
212 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
213 }
215 bool num2;
216 if (condition == null)
217 {
219 {
220 goto IL_098d;
221 }
223 }
224 else
225 {
227 }
228 if (num2)
229 {
230 goto IL_098d;
231 }
232 goto IL_099e;
233 }
235 {
236 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
237 }
238 }
239 goto IL_0db7;
240 IL_09ee:
242 {
244 }
246 {
248 }
250 {
251 Choice2(flag2 ?
"daBirdBuy" :
"daTailBuy",
"_whore");
252 }
254 {
256 }
258 {
260 }
262 {
263 Choice2(
"daSellFame",
"_sellFame");
264 }
266 {
268 {
269 Choice2(
"daInvest",
"_investZone");
270 }
272 {
273 Choice2(
"daInvest",
"_investShop");
274 }
275 }
277 {
279 Choice2(
"daIdentifyAll",
"_identifyAll");
281 }
283 {
285 {
287 }
289 {
292 {
294 });
295 }
296 }
298 {
299 Choice2(
"daDeposit",
"_deposit");
300 }
302 {
303 Choice2(
"daExtraTax",
"_extraTax");
304 }
306 {
307 Choice2(
"daBlessing",
"_blessing");
308 }
309 goto IL_0db7;
310 IL_098d:
312 goto IL_099e;
313 IL_099e:
315 bool num3;
316 if (condition2 == null)
317 {
319 {
320 goto IL_09dd;
321 }
323 }
324 else
325 {
327 }
328 if (num3)
329 {
330 goto IL_09dd;
331 }
332 goto IL_09ee;
333 IL_09dd:
335 goto IL_09ee;
336 IL_0db7:
338 {
340 {
342 {
344 }
345 Choice2(
"daBuyLand",
"_buyLand");
346 Choice2(
"daChangeTitle",
"_changeTitle");
347 }
349 {
350 Choice2(
"enableMove",
"_enableMove");
351 }
353 {
354 Choice2(
"daJoinParty",
"_joinParty");
355 }
357 {
359 }
360 Choice2(
"daFactionOther",
"_factionOther");
361 }
363 {
364 Choice2(
"daGreatDebt",
"_greatDebt");
365 }
366 if (!flag)
367 {
370 }
371 Step(
"_factionOther");
374 {
376 {
379 {
381 });
382 }
383 }
385 {
387 }
389 {
391 if (questDebt !=
null && questDebt.
gaveBill)
392 {
393 Choice(
"daGreatDebt2",
"_greatDebt2");
394 }
395 }
397 {
399 {
400 Choice((c.
GetInt(106) == 0) ?
"daShutup" :
"daShutup2",
"_shutup");
402 {
403 Choice((c.
GetInt(108) == 0) ?
"daInsult" :
"daInsult2",
"_insult");
404 }
405 }
406 }
408 {
409 Choice(
"disableMove",
"_disableMove");
410 }
411 Choice((c.
GetInt(123) == 0) ?
"daSleepBeside" :
"daSleepBeside2",
"_sleepBeside");
413 {
414 Choice((c.
GetInt(126) == 0) ?
"daDisableLoyal" :
"daDisableLoyal2",
"_disableLoyal");
415 }
417 {
418 Choice((c.
GetInt(119) == 0) ?
"daDisableFuck" :
"daDisableFuck2",
"_disableFuck");
419 }
421 {
422 Choice(
"daEquipSharedOff",
"_toggleSharedEquip");
423 }
424 else
425 {
426 Choice(
"daEquipSharedOn",
"_toggleSharedEquip");
427 }
429 {
430 Choice(
"daMakeMaid",
"_daMakeMaid");
431 }
433 {
434 Choice(
"daBanish",
"_depart");
435 }
437 Step(
"_toggleSharedEquip");
439 {
441 });
446 {
447 EClass.Branch.uidMaid = c.
uid;
448 });
453 {
455 {
456 GameLang.refDrama1 = c.GetBestAttribute().ToString() ?? "";
457 TempTalkTopic("invite3", StepDefault);
458 }
459 else
460 {
461 EClass.pc.party.AddMemeber(c, showMsg: true);
462 }
463 });
467 {
470 {
471 EClass.pc.Say("tame_send", c, c.homeZone.Name);
472 c.MoveZone(c.homeZone);
473 }
474 });
478 Step(
"_makeLivestock");
480 {
482 });
483 Talk(
"becomeLivestock",
StepEnd);
484 Step(
"_makeResident");
486 {
488 });
489 Talk(
"becomeResident",
StepEnd);
492 Choice(
"depart1",
"_depart1");
493 Choice(
"depart2",
"_depart2");
496 {
498 {
500 });
501 });
506 Talk("gift_good", null);
510 {
513 {
515 }
516 else
517 {
518 TempTalkTopic("goto", "_goto2");
519 }
520 });
523 {
525 {
526 destCard.Teleport(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true) ?? EClass.pc.pos, silent: true, force: true);
527 }
530 });
534 Step(
"_lostProperty");
536 {
540 });
546 {
549 });
553 {
555 {
556 return "";
557 }
562 }, text);
563 string text2 = "daAccept".lang();
565 {
567 }
569 {
573 {
577 {
579 if (supply != null)
580 {
582 {
585 {
590 {
592 });
593 }
594 }
595 }
597 Step(
"_questAccept");
599 Step(
"_questAccept_instance");
602 {
610 {
613 {
614 TempTalkTopic(
"loytel_bill_give_wait",
StepDefault);
615 }
617 {
618 TempTalkTopic(
"loytel_bill_give_given",
StepDefault);
619 }
620 else
621 {
624 }
625 });
628 {
630 TempTalkTopic(
"loytel_bill_give_lost",
StepEnd);
632 });
635 {
637 });
640 Step(
"_sleepBeside");
642 {
644 {
645 c.SetInt(123, (c.GetInt(123) == 0) ? 1 : 0);
646 }
647 else
648 {
649 TempTalkTopic("refuse", StepEnd);
650 }
651 });
656 {
658 {
659 TempTalkTopic("refuse", StepEnd);
660 }
661 });
664 {
666 {
670 {
671 destThing.rarity = Rarity.Mythical;
672 }
682 });
683 });
687 {
690 {
691 TempTalkTopic("wedding_deed", StepDefault);
692 }
694 {
695 TempTalkTopic("wedding_zone", StepDefault);
696 }
697 else
698 {
699 TempTalkTopic("wedding_confirm", null);
700 Choice("yes", delegate
701 {
702 TempTalkTopic("wedding_accept", null);
703 if (deed != null)
704 {
705 deed.ModNum(-1);
706 }
707 if (c.c_love != null)
708 {
709 c.c_love.dateWedding = EClass.world.date.GetRaw();
710 }
711 });
713 }
714 });
717 {
721 {
722 EClass.pc.party.AddMemeber(c);
723 }
725 {
726 if (item7 != EClass.pc && item7 != c)
727 {
728 EClass.pc.party.RemoveMember(item7);
729 }
730 }
732 {
733 ActRide.Unride(EClass.pc, c == EClass.pc.parasite, talk: false);
734 }
737 Zone z = quest.CreateInstanceZone(c);
739 {
740 state = ZoneTransition.EnterState.Exact,
741 x = 50,
742 z = 53
743 });
745 });
747 Step(
"_disableLoyal");
749 {
751 });
754 Step(
"_disableFuck");
756 {
758 });
762 _Talk(
"tg", GetTalk(
"pervert4"));
764 {
766 {
767 c.UseAbility("ActBloodsuck", EClass.pc);
768 }
769 else
770 {
771 c.Sniff(EClass.pc);
772 }
774 });
778 {
780 });
783 {
785 {
786 c.Talk("insult");
787 }
788 });
792 {
794 });
800 {
801 });
803 {
804 });
807 {
809 {
810 string[] recruitItems = c.source.recruitItems;
811 if (!recruitItems.IsEmpty())
812 {
813 string[] array = recruitItems[0].Split('/');
814 string reqId = array[0];
815 int reqNum = array[1].ToInt();
816 CardBlueprint.Set(CardBlueprint.Original);
817 GameLang.refDrama1 = ThingGen.Create(reqId).SetNum(reqNum).Name;
818 TempTalkTopic("inviteReq1", null);
819 foreach (Thing t in EClass.pc.things.List((Thing thing) => thing.id == reqId && (thing.Num >= reqNum || EClass.debug.enable), onlyAccessible: true))
820 {
821 Thing _t5 = t;
822 Choice("daDeliver".lang("", _t5.GetName(NameStyle.Full, _t5.Num)), delegate
823 {
824 t.ModNum(-reqNum);
825 TempTalk("hired", StepEnd);
826 EClass.Sound.Play("good");
827 if (c.id == "mamani")
828 {
829 Chara chara = CharaGen.Create("mamani2");
830 EClass._zone.AddCard(chara, EClass.pc.pos.GetNearestPoint());
831 chara.isCopy = true;
832 chara.MakeAlly();
833 }
834 else
835 {
836 c.MakeAlly();
837 }
838 }).SetOnTooltip(delegate(UITooltip a)
839 {
840 _t5.WriteNote(a.note);
841 });
842 }
843 Choice("no2", StepDefault, cancel: true).SetOnClick(RumorChill);
844 }
845 else
846 {
847 TempTalkTopic("invite2", StepDefault);
848 }
849 }
851 {
852 GameLang.refDrama1 = c.GetBestAttribute().ToString() ?? "";
853 TempTalkTopic("invite3", StepDefault);
854 }
855 else
856 {
857 TempTalkTopic("invite", null);
858 Choice("yes", delegate
859 {
860 TempTalk("hired", StepEnd);
861 EClass.Sound.Play("good");
862 c.MakeAlly();
863 });
865 }
866 });
869 {
870 TempTalkTopic("guide", null);
872 {
874 {
876 });
877 }
879 TempCancel();
880 });
881 BackChill();
884 {
885 TempTalkTopic(c.
IsMarried ?
"tail4" : (bird +
"1"),
null);
887 {
888 TempTalkTopic(bird +
"2",
StepEnd);
890 {
891 target = c,
892 sell = true
893 });
894 });
896 });
899 {
901 {
902 Steam.GetAchievement(ID_Achievement.MAMA);
903 string id = c.id;
904 if (!(id == "farris"))
905 {
906 if (id == "quru")
907 {
908 Steam.GetAchievement(ID_Achievement.MAMA3);
909 }
910 }
911 else
912 {
913 Steam.GetAchievement(ID_Achievement.MAMA2);
914 }
915 TempTalkTopic(
"mama_yes",
StepEnd);
917 {
918 target = c,
919 variation = AI_Fuck.Variation.MotherMilk
920 });
921 }
922 else
923 {
925 RumorChill();
926 }
927 });
930 {
932 {
933 TempTalkTopic("baby_yes", StepEnd);
934 EClass.pc.SetAI(new AI_Fuck
935 {
936 target = c,
937 variation = AI_Fuck.Variation.MotherMilk,
938 sell = true
939 });
940 }
941 else
942 {
944 RumorChill();
945 }
946 });
949 {
952 TempTalkTopic(bird + "3", null);
954 {
956 {
957 TempTalkTopic("nomoney", StepDefault);
958 }
959 else
960 {
961 SE.Pay();
962 EClass.pc.ModCurrency(-costWhore);
963 TempTalkTopic(bird + "2", StepEnd);
964 EClass.pc.SetAI(new AI_Fuck
965 {
966 target = c
967 });
968 }
969 });
971 });
974 {
977 TempTalkTopic("bird3", null);
979 {
981 {
982 TempTalkTopic("lockTooHard", StepDefault);
983 }
985 {
986 TempTalkTopic("nomoney", StepDefault);
987 }
988 else
989 {
990 SE.Pay();
991 EClass.pc.ModCurrency(-cost);
992 manager.layer.SetOnKill(delegate
993 {
994 c.PlaySound("lock_open");
995 c.Say("lockpick_success", c, destThing);
996 c.ModExp(280, 200 + destThing.c_lockLv * 20);
997 destThing.c_lockLv = 0;
998 if (destThing.isLostProperty)
999 {
1000 EClass.player.ModKarma(-8);
1001 }
1002 destThing.isLostProperty = false;
1003 });
1005 }
1006 });
1008 });
1011 {
1012 TempTalkTopic("blooming1", null);
1014 {
1017 {
1018 if (EClass._zone.influence < 10)
1019 {
1020 TempTalkTopic("blooming3", StepDefault);
1021 }
1022 else
1023 {
1024 EClass._zone.ModInfluence(-10);
1025 LayerDrama.Instance.SetOnKill(delegate
1026 {
1027 c.Talk("goodBoy");
1028 c2.Say("dingExp", c);
1029 c2.Talk("insulted");
1030 c2.SetFeat(1273, 1, msg: true);
1031 c2.PlayEffect("aura_heaven");
1032 c2.feat += 10;
1033 EClass.pc.PlaySound("pray");
1034 });
1035 TempTalkTopic(
"blooming2",
StepEnd);
1036 }
1037 });
1038 }
1040 });
1043 {
1044 if (c.
id ==
"miral")
1045 {
1046 SE.Play("click_chat");
1047 if (EClass.pc.GetCurrency("medal") > 0)
1048 {
1049 TempTalkTopic("miral_medal", null);
1050 }
1051 else
1052 {
1053 TempTalkTopic("miral_medal2", StepDefault);
1054 }
1055 }
1056 });
1058 {
1060 {
1061 SE.Play("click_chat");
1062 TempTalkTopic("shop_blackmarket_noaccess", StepEnd);
1063 }
1065 {
1066 SE.Play("click_chat");
1067 TempTalkTopic("shop_criminal", StepEnd);
1068 }
1069 else
1070 {
1071 sequence.Exit();
1072 manager.layer.Close();
1073 c.trait.OnBarter();
1074 if ((bool)WidgetFeed.Instance)
1075 {
1076 WidgetFeed.Instance.Talk(c, "barter");
1077 }
1079 }
1083 {
1084 List<ResearchPlan> plans = new List<ResearchPlan>();
1086 {
1088 {
1090 }
1091 }
1093 {
1094 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
1096 {
1098 {
1099 b.button1.mainText.text = a.
Name;
1103 uIItem.image1.sprite = c2.resource.Sprite;
1105 {
1107 });
1108 b.
button1.onClick.AddListener(delegate
1109 {
1110 if (c2.resource.value < c2.cost)
1111 {
1112 SE.Beep();
1113 }
1114 else
1115 {
1116 c2.resource.Mod(-c2.cost);
1117 plans.Remove(a);
1119 SE.Pay();
1120 list.
List(refreshHighlight:
true);
1121 }
1122 });
1123 b.RebuildLayout(recursive: true);
1124 },
1125 onList = delegate
1126 {
1128 {
1130 }
1131 }
1132 };
1133 }).SetSize()
1135 {
1136 branchMoney = true
1137 });
1139 Step(
"_upgradeHearth");
1141 {
1144 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ?? "";
1146 TempTalkTopic("upgrade_heath1", null);
1148 {
1150 {
1151 TempTalkTopic("nomoney", StepDefault);
1152 }
1153 else
1154 {
1155 EClass.pc.ModCurrency(-cost);
1156 SE.Pay();
1157 LayerDrama.Instance.SetOnKill(delegate
1158 {
1159 EClass.Branch.Upgrade();
1160 });
1161 TempTalkTopic(
"upgrade_heath2",
StepEnd);
1162 }
1163 });
1165 });
1168 {
1169 int cost = EClass.player.fame / 5;
1170 GameLang.refDrama1 = cost.ToString() ?? "";
1171 if (cost == 0)
1172 {
1174 }
1175 else
1176 {
1177 TempTalkTopic("sellFame1", null);
1179 {
1181 SE.Pay();
1184 });
1186 }
1187 });
1188 Step(
"_investZone");
1190 {
1194 TempTalkTopic("invest1", null);
1196 {
1197 Invest(quick: false);
1198 });
1200 Choice(
"quickInvest", delegate
1201 {
1202 Invest(quick: true);
1203 });
1204 void Invest(bool quick)
1205 {
1207 {
1209 }
1210 else
1211 {
1213 SE.Pay();
1214 EClass._zone.investment += cost;
1218 if (quick)
1219 {
1221 }
1222 else
1223 {
1225 }
1226 }
1227 }
1228 });
1229 Step(
"_investShop");
1231 {
1235 TempTalkTopic("invest_shop1", null);
1237 {
1238 Invest(quick: false);
1239 });
1241 Choice(
"quickInvest", delegate
1242 {
1243 Invest(quick: true);
1244 });
1245 void Invest(bool quick)
1246 {
1248 {
1250 }
1251 else
1252 {
1254 SE.Pay();
1259 if (quick)
1260 {
1262 }
1263 else
1264 {
1266 }
1267 }
1268 }
1269 });
1270 Step(
"_changeTitle");
1272 {
1273 EClass.player.title = WordGen.Get("title");
1279 {
1282 GameLang.refDrama1 = "";
1283 GameLang.refDrama2 = costLand.ToString() ?? "";
1284 if (!num4)
1285 {
1287 }
1288 else
1289 {
1292 {
1294 {
1295 TempTalkTopic("nomoney", StepDefault);
1296 }
1297 else
1298 {
1299 SE.Pay();
1300 EClass.pc.ModCurrency(-costLand, "money2");
1301 TempTalkTopic("expand2", StepDefault);
1302 EClass._map.bounds.Expand(1);
1303 SE.Play("good");
1304 EClass._map.RefreshAllTiles();
1305 WidgetMinimap.UpdateMap();
1306 ScreenEffect.Play("Firework");
1307 }
1308 });
1310 }
1311 });
1314 {
1318 });
1322 {
1329 {
1331 TempTalkTopic(
"blessing",
StepEnd);
1333 {
1335 {
1336 if (c.trait is TraitMiko_Mifu)
1337 {
1338 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1339 }
1341 {
1342 member.AddCondition<ConEuphoric>()?.SetPerfume();
1343 }
1344 else
1345 {
1346 member.AddCondition<ConNightVision>()?.SetPerfume();
1347 }
1348 member.
Say(
"blessing", member);
1351 }
1352 c.isRestocking = true;
1353 });
1355 });
1358 {
1360 {
1361 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1363 {
1365 {
1367 if (num4 == 0)
1368 {
1369 SE.Beep();
1370 }
1372 {
1374 {
1376 }
1377 else
1378 {
1380 }
1383 }
1384 },
1386 {
1388 b.imagePotential.enabled = flag5;
1392 b.mainText.text = b.mainText.text + " " + (flag5 ? "" : ("notLearned".lang() + " "));
1393 b.subText2.text = ((cost == 0) ? "-" : (cost.ToString() ?? "")).TagColor(() => plat >= cost && cost != 0);
1394 b.RebuildLayout();
1395 },
1396 onInstantiate = delegate
1397 {
1398 },
1399 onList = delegate
1400 {
1402 {
1403 if (a.tag.Contains("unused"))
1404 {
1405 return false;
1406 }
1407 if (a.tag.Contains("guild"))
1408 {
1410 {
1411 return true;
1412 }
1414 {
1415 return true;
1416 }
1418 {
1419 return true;
1420 }
1422 {
1423 return true;
1424 }
1425 return false;
1426 }
1427 if (isInGuild)
1428 {
1429 return false;
1430 }
1431 return a.category ==
"skill" && a.categorySub == c.
trait.
IDTrainer;
1432 }).ToList())
1433 {
1435 }
1436 }
1437 };
1438 }).SetSize()
1442 {
1443 plat = true
1444 });
1446 Step(
"_changeDomain");
1448 {
1453 {
1457 {
1458 money = true
1459 });
1463 {
1464 LayerPeople.slaveToBuy = null;
1468 {
1469 money = true
1470 });
1472 }, () => !layer, "_buySlaveConfirm");
1473 Step(
"_buySlaveConfirm");
1475 {
1477 if (tc == null)
1478 {
1479 RumorChill();
1480 }
1481 else
1482 {
1484 GameLang.refDrama1 = cost.ToString() ?? "";
1485 GameLang.refDrama2 = tc.
Name;
1486 TempTalkTopic("slave_buy", null);
1488 {
1490 {
1491 TempTalkTopic("nomoney", StepDefault);
1492 }
1493 else
1494 {
1495 GameLang.refDrama1 = tc.Name;
1496 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1497 tc.MakeAlly();
1498 c.GetObj<SlaverData>(5).list.Remove(tc);
1499 TempTalkTopic("slave_buy2", StepEnd);
1500 }
1501 }).DisableSound();
1503 }
1504 });
1508 {
1513 {
1519 Step(
"_identifyAll");
1521 {
1522 int costIdentify = 0;
1523 int numIdentify = 0;
1524 int numSuperior = 0;
1526 {
1528 {
1529 numIdentify++;
1530 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1531 }
1532 });
1533 GameLang.refDrama1 = costIdentify.ToString() ?? "";
1534 GameLang.refDrama2 = numIdentify.ToString() ?? "";
1535 if (numIdentify == 0)
1536 {
1538 }
1539 else
1540 {
1543 {
1545 {
1546 TempTalkTopic("nomoney", StepDefault);
1547 }
1548 else
1549 {
1550 SE.Pay();
1551 EClass.pc.ModCurrency(-costIdentify);
1552 foreach (Thing item11 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1553 {
1554 item11.Thing.Identify(show: false);
1555 if (!item11.IsInstalled)
1556 {
1557 numSuperior++;
1558 }
1559 }
1561 }
1562 });
1564 }
1565 });
1566 Step(
"_identifySP");
1568 {
1576 {
1579 {
1581 {
1584 targetZ = c.pos.z
1585 });
1588 {
1589 target = c
1590 });
1593 {
1594 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1595 });
1596 TempTalkTopic(
"bout2",
StepEnd);
1597 });
1602 {
1604 Choice(
"yes_rob", delegate
1605 {
1607 c.
Talk(
"callGuards");
1609 {
1610 if (chara2 == c || chara2.master == c)
1611 {
1612 chara2.SetHostility(Hostility.Enemy);
1613 chara2.DoHostileAction(EClass.pc.party.members.RandomItem());
1614 }
1615 }
1617 {
1618 EClass._zone.SetBGM(102);
1619 }
1622 });
1627 {
1630 {
1631 TempTalkTopic("news2", null);
1632 }
1633 else
1634 {
1635 zone.isKnown = true;
1637 GameLang.refDrama1 = zone.
Name;
1638 TempTalkTopic("news1", null);
1639 }
1641 });
1643 {
1648 {
1651 TempTalkTopic("healer1", null);
1653 {
1655 {
1656 TempTalkTopic("nomoney", StepDefault);
1657 }
1658 else
1659 {
1660 SE.Pay();
1661 foreach (Chara member2 in EClass.pc.party.members)
1662 {
1663 ActEffect.Proc(EffectId.HealComplete, member2);
1664 }
1666 TempTalkTopic(
"healer2",
StepEnd);
1667 }
1668 });
1670 });
1673 {
1676 TempTalkTopic("food1", null);
1678 {
1680 {
1681 TempTalkTopic("alreadyFull", StepDefault);
1682 }
1683 else
1684 {
1685 if (EClass.pc.GetCurrency() >= cost)
1686 {
1687 SE.Pay();
1688 EClass.pc.ModCurrency(-cost);
1689 TempTalkTopic("food2", StepDefault);
1690 {
1691 foreach (Chara member3 in EClass.pc.party.members)
1692 {
1693 if (member3.hunger.GetPhase() > 0)
1694 {
1695 FoodEffect.Proc(member3, ThingGen.Create("dish_lunch"), consume: false);
1696 member3.hunger.value = 0;
1697 }
1698 }
1699 return;
1700 }
1701 }
1703 }
1704 });
1706 });
1707 int[] bankTier = new int[5] { 100, 1000, 10000, 100000, 1000000 };
1710 {
1714 {
1715 WidgetFeed.Instance.Talk(c, "barter");
1716 }
1717 SE.Play("shop_open");
1723 {
1727 {
1728 WidgetFeed.Instance.Talk(c, "barter");
1729 }
1730 SE.Play("shop_open");
1733 {
1734 c.c_copyContainer = ThingGen.Create("container_deposit");
1735 }
1741 int[] taxTier = new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1744 {
1746 TempTalkTopic("extraTax", null);
1747 int[] array = taxTier;
1748 foreach (int num4 in array)
1749 {
1750 int _i = num4;
1752 {
1753 EClass.player.extraTax = _i;
1754 GameLang.refDrama1 = Lang._currency(_i, "money");
1755 TempTalkTopic("extraTax2", StepDefault);
1756 });
1757 }
1759 });
1762 {
1764 GameLang.refDrama1 = bankMoney.ToString() ?? "";
1765 TempTalkTopic("banker2", null);
1766 int[] array = bankTier;
1767 foreach (int num4 in array)
1768 {
1769 int _i = num4;
1771 {
1773 {
1774 SE.Pay();
1775 EClass.pc.ModCurrency(_i);
1776 EClass.player.bankMoney -= _i;
1777 TempTalkTopic("banker4", StepDefault);
1778 });
1779 }
1780 }
1782 });
1783 Step(
"_disableMove");
1785 {
1786 c.noMove = true;
1789 });
1791 Step(
"_enableMove");
1793 {
1794 c.noMove = false;
1795 c.orgPos = null;
1797 });
1801 {
1803 });
1807 void BackChill()
1808 {
1810 }
1811 string GetTalk(string id)
1812 {
1814 }
1815 void RumorChill()
1816 {
1817 rumor = GetTalk("chill");
1818 }
1819 void Talk(string idTalk, string idJump)
1820 {
1821 _Talk(
"tg", GetTalk(idTalk), idJump);
1822 }
1823 void TempCancel()
1824 {
1826 }
1827 void TempTalk(string idTalk, string idJump)
1828 {
1829 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1830 }
1831 void TempTalkTopic(string idTopc, string idJump)
1832 {
1834 }
1835 bool taken()
1836 {
1837 if (c.
quest !=
null)
1838 {
1840 }
1841 return false;
1842 }
1843 }
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)
void SetInt(string id, int value=0)
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
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)
void SetBool(string id, bool enable)
int GetInt(string id, int? defaultInt=null)
bool HasElement(int ele, bool includeNagative=false)
void Say(string lang, string ref1=null, string ref2=null)
SourceCategory.Row GetFavCat()
override bool IsAliveInCurrentZone
BaseCondition GetCondition(string idCon)
bool HasCondition(string alias)
Chara SetGlobal(Zone _home, int x, int z)
override bool IsPCFaction
void SetAIImmediate(AIAct g)
List< Hobby > ListHobbies(bool useMemberType=true)
FactionMemberType memberType
SourceThing.Row GetFavFood()
bool TryEquip(Thing t, bool useFav=false)
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)
void _Talk(string idActor, string text, string idJump=null)
DramaChoice Choice2(string lang, string idJump)
List< Card > GetListGuide()
string GetTopic(Chara c, string idTopic=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)
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 SetBase(string alias, int v, int potential=0)
Element GetElement(string alias)
static Element Create(int id, int v=0)
ResearchManager researches
string GetHearthHint(int a)
HomeResourceManager resources
void BanishMember(Chara c, bool skipMsg=false)
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 _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()
virtual bool UseInstanceZone
static Quest Create(string _id, string _idPerson=null, Chara c=null, bool assignQuest=true)
virtual string GetTitle()
virtual string NameDeliver
virtual string GetTalkProgress()
virtual string GetDetail(bool onJournal=false)
virtual bool Deliver(Chara c, Thing t=null)
virtual Zone CreateInstanceZone(Chara c)
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 SetSize(int w, int h)
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 CanServeFood
virtual bool CanBeBanished
virtual bool CanJoinParty
virtual bool CanInvestTown
virtual bool CanJoinPartyResident
virtual bool NeedBoutToJoin
virtual CopyShopType CopyShop
virtual ShopType ShopType
virtual PriceType PriceType
string TextNextRestockPet
virtual void OnBarter(bool reroll=false)
virtual CurrencyType CurrencyType
virtual SlaverType SlaverType
virtual bool AllowCriminal
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)