2using System.Collections.Generic;
37 bool isInGuild = Guild.Fighter.IsCurrentZone || Guild.Mage.IsCurrentZone || Guild.Thief.IsCurrentZone ||
Guild.
Merchant.
IsCurrentZone;
38 string bird = (flag2 ?
"bird" :
"tail");
40 string rumor = (c.IsPCParty ? GetTalk(
"sup") :
GetRumor(c));
43 bool num = !c.IsUnique ||
HasTopic(
"unique", c.
id);
47 _Talk(
"tg", () => rumor);
54 sequence.firstTalk.funcText = () => rumor;
56 Hobby hobby = ((list2.Count > 0) ? list2[0] :
null);
61 GameLang.refDrama1 = c.
GetFavCat().GetName().ToLower();
63 rumor =
GetText(c,
"general",
"talk_fav");
68 GameLang.refDrama1 = hobby.
Name.ToLower();
69 rumor =
GetText(c,
"general",
"talk_hobby");
77 choice.forceHighlight =
true;
78 }).SetCondition(() => c.interest > 0);
96 if (!
item.CanDeliverToClient(c))
101 foreach (
Thing item2
in questDeliver.ListDestThing())
114 if (c.IsPCParty && !c.isSummon)
118 Choice2(
"daMakeHome",
"_makeHome");
120 if (c.host ==
null && c.homeZone !=
null)
122 Choice2(
"daLeaveParty".lang(c.homeZone.Name),
"_leaveParty");
127 Choice2(
"daQuest".lang(c.quest?.GetTitle() ??
""),
"_quest").
SetCondition(() => c.quest !=
null);
134 Choice2(
"daLostProperty".lang(_t.Name),
"_lostProperty").SetOnClick(delegate
143 if (c.trait.CanGuide)
181 if (c.trait.ShopType != 0)
187 if (c.trait.SlaverType != 0)
191 if (c.trait.CopyShop != 0)
193 Choice2((
"daCopy" + c.trait.CopyShop).lang(c.trait.NumCopyItem.ToString() ??
""),
"_copyItem").
DisableSound();
206 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
208 if (c.trait.CanRevive)
216 if (c.trait.CanWhore)
218 Choice2(flag2 ?
"daBirdBuy" :
"daTailBuy",
"_whore");
224 if (c.trait.CanServeFood)
230 Choice2(
"daSellFame",
"_sellFame");
236 Choice2(
"daInvest",
"_investZone");
238 if (c.trait.CanInvest)
240 Choice2(
"daInvest",
"_investShop");
243 if (c.trait.CanIdentify)
246 Choice2(
"daIdentifyAll",
"_identifyAll");
249 if (c.trait.CanPicklock)
251 if (c.Evalue(280) < 20)
253 c.elements.SetBase(280, 20);
266 Choice2(
"daDeposit",
"_deposit");
270 Choice2(
"daExtraTax",
"_extraTax");
274 Choice2(
"daBlessing",
"_blessing");
278 if (c.IsHomeMember())
286 Choice2(
"daBuyLand",
"_buyLand");
287 Choice2(
"daChangeTitle",
"_changeTitle");
291 Choice2(
"enableMove",
"_enableMove");
293 if (!c.IsPCParty && c.memberType !=
FactionMemberType.Livestock && c.trait.CanJoinParty)
295 Choice2(
"daJoinParty",
"_joinParty");
297 if (!c.IsDisabled && (c.HasElement(1250) || (
EClass.
pc.
IsMofuable && c.ability.Has(6627))))
301 Choice2(
"daFactionOther",
"_factionOther");
305 Choice2(
"daGreatDebt",
"_greatDebt");
312 Step(
"_factionOther");
317 if (questDebt !=
null && questDebt.
gaveBill)
319 Choice(
"daGreatDebt2",
"_greatDebt2");
326 Choice((c.GetInt(106) == 0) ?
"daShutup" :
"daShutup2",
"_shutup");
327 if (c.CanInsult() || c.GetInt(108) == 1)
329 Choice((c.GetInt(108) == 0) ?
"daInsult" :
"daInsult2",
"_insult");
335 Choice(
"disableMove",
"_disableMove");
337 Choice((c.GetInt(123) == 0) ?
"daSleepBeside" :
"daSleepBeside2",
"_sleepBeside");
338 if (c.HasElement(1225))
340 Choice((c.GetInt(126) == 0) ?
"daDisableLoyal" :
"daDisableLoyal2",
"_disableLoyal");
342 if (c.GetInt(113) == 0)
344 Choice(
"daEquipSharedOff",
"_toggleSharedEquip");
348 Choice(
"daEquipSharedOn",
"_toggleSharedEquip");
352 Choice(
"daMakeMaid",
"_daMakeMaid");
354 if (c.trait.CanBeBanished && !c.IsPCParty)
356 Choice(
"daBanish",
"_depart");
359 Step(
"_toggleSharedEquip");
362 c.SetInt(113, (c.GetInt(113) == 0) ? 1 : 0);
364 _Talk(
"tg",
GetTopic(c, (c.GetInt(113) == 0) ?
"shutup" :
"shutup2"));
369 EClass.Branch.uidMaid = c.uid;
376 if (!c.trait.CanJoinPartyResident)
378 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
379 TempTalkTopic(
"invite3", StepDefault);
383 EClass.pc.party.AddMemeber(c, showMsg: true);
393 EClass.pc.Say(
"tame_send", c, c.homeZone.Name);
394 c.MoveZone(c.homeZone);
400 Step(
"_makeLivestock");
405 Talk(
"becomeLivestock",
StepEnd);
406 Step(
"_makeResident");
411 Talk(
"becomeResident",
StepEnd);
414 Choice(
"depart1",
"_depart1");
415 Choice(
"depart2",
"_depart2");
421 c.homeBranch.BanishMember(c);
428 Talk(
"gift_good",
null);
440 TempTalkTopic(
"goto",
"_goto2");
448 destCard.Teleport(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true) ?? EClass.pc.pos, silent: true, force: true);
456 Step(
"_lostProperty");
483 return (!taken()) ? c.quest.GetDetail() : c.quest.GetTalkProgress().IsEmpty(
GetTopic(c,
"questInProgress"));
485 string text2 =
"daAccept".lang();
486 if (c.quest !=
null && c.quest.deadline != 0)
488 text2 +=
"hintDeadline".lang(c.quest.TextDeadline).ToLower();
490 Choice(text2, (c.quest !=
null && c.quest.UseInstanceZone) ?
"_questAccept_instance" :
"_questAccept").
SetOnClick(delegate
519 Step(
"_questAccept");
521 Step(
"_questAccept_instance");
525 Zone z2 = c.quest.CreateInstanceZone(c);
536 TempTalkTopic(
"loytel_bill_give_wait",
StepDefault);
540 TempTalkTopic(
"loytel_bill_give_given",
StepDefault);
552 TempTalkTopic(
"loytel_bill_give_lost",
StepEnd);
558 c.SetInt(106, (c.GetInt(106) == 0) ? 1 : 0);
560 _Talk(
"tg",
GetTopic(c, (c.GetInt(106) == 0) ?
"shutup" :
"shutup2"));
562 Step(
"_sleepBeside");
565 if (c.affinity.CanSleepBeside() || c.GetInt(123) == 1)
567 c.SetInt(123, (c.GetInt(123) == 0) ? 1 : 0);
571 TempTalkTopic(
"refuse", StepEnd);
574 _Talk(
"tg",
GetTopic(c, (c.GetInt(123) == 0) ?
"ok" :
"shutup"));
576 Step(
"_disableLoyal");
579 c.SetInt(126, (c.GetInt(126) == 0) ? 1 : 0);
581 _Talk(
"tg",
GetTopic(c, (c.GetInt(126) == 0) ?
"shutup" :
"shutup2"));
584 _Talk(
"tg", GetTalk(
"pervert4"));
587 if (c.HasElement(1250))
589 c.UseAbility(
"ActBloodsuck", EClass.pc);
601 c.SetInt(108, (c.GetInt(108) == 0) ? 1 : 0);
603 _Talk(
"tg",
GetTopic(c, (c.GetInt(108) == 0) ?
"insult" :
"insult2"));
606 if (c.GetInt(108) == 1)
630 if (!c.trait.CanInvite)
632 string[] recruitItems = c.source.recruitItems;
633 if (!recruitItems.IsEmpty())
635 string[] array3 = recruitItems[0].Split(
'/');
636 string reqId = array3[0];
637 int reqNum = array3[1].ToInt();
638 CardBlueprint.Set(CardBlueprint.Original);
639 GameLang.refDrama1 = ThingGen.Create(reqId).SetNum(reqNum).Name;
640 TempTalkTopic(
"inviteReq1", null);
641 foreach (Thing t2 in EClass.pc.things.List((Thing t) => t.id == reqId && t.Num >= reqNum, onlyAccessible: true))
644 Choice(
"daDeliver".lang(
"", _t5.GetName(NameStyle.Full, _t5.Num)), delegate
647 TempTalk(
"hired", StepEnd);
648 EClass.Sound.Play(
"good");
650 }).SetOnTooltip(delegate(UITooltip a)
652 _t5.WriteNote(a.note);
655 Choice(
"no2", StepDefault, cancel: true).SetOnClick(RumorChill);
659 TempTalkTopic(
"invite2", StepDefault);
664 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
665 TempTalkTopic(
"invite3", StepDefault);
669 TempTalkTopic(
"invite", null);
670 Choice(
"yes", delegate
672 TempTalk(
"hired", StepEnd);
673 EClass.Sound.Play(
"good");
682 TempTalkTopic(
"guide",
null);
683 foreach (
Card guide
in GetListGuide())
685 Choice(
"daGotoGuide".lang(guide.
Name,
""),
"_goto").SetOnClick(delegate
690 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
697 TempTalkTopic(bird +
"1",
null);
698 Choice(
"yes2", delegate
700 TempTalkTopic(bird +
"2", StepEnd);
707 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
714 TempTalkTopic(bird +
"3",
null);
715 Choice(
"yes2", delegate
719 TempTalkTopic(
"nomoney", StepDefault);
724 EClass.pc.ModCurrency(-costWhore);
725 TempTalkTopic(bird +
"2", StepEnd);
726 EClass.pc.SetAI(new AI_Fuck
732 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
739 TempTalkTopic(
"bird3",
null);
740 Choice(
"yes2", delegate
744 TempTalkTopic(
"lockTooHard", StepDefault);
748 TempTalkTopic(
"nomoney", StepDefault);
753 EClass.pc.ModCurrency(-cost8);
754 manager.layer.SetOnKill(delegate
756 c.PlaySound(
"lock_open");
757 c.Say(
"lockpick_success", c, destThing);
758 c.ModExp(280, 200 + destThing.c_lockLv * 20);
759 destThing.c_lockLv = 0;
760 if (destThing.isLostProperty)
762 EClass.player.ModKarma(-8);
764 destThing.isLostProperty = false;
766 TempTalkTopic(destThing.
isLostProperty ?
"lockpick_purse" :
"bird2", StepEnd);
769 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
774 TempTalkTopic(
"blooming1",
null);
778 Choice(
"daBloom".lang(c4.
Name), delegate
780 if (EClass._zone.influence < 10)
782 TempTalkTopic(
"blooming3", StepDefault);
786 EClass._zone.ModInfluence(-10);
787 LayerDrama.Instance.SetOnKill(delegate
790 c4.Say(
"dingExp", c);
792 c4.SetFeat(1273, 1, msg: true);
793 c4.PlayEffect(
"aura_heaven");
795 EClass.pc.PlaySound(
"pray");
797 TempTalkTopic(
"blooming2", StepEnd);
801 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
808 SE.Play(
"click_chat");
809 if (EClass.pc.GetCurrency(
"medal") > 0)
811 TempTalkTopic(
"miral_medal", null);
815 TempTalkTopic(
"miral_medal2", StepDefault);
823 SE.Play(
"click_chat");
824 TempTalkTopic(
"shop_blackmarket_noaccess", StepEnd);
828 SE.Play(
"click_chat");
829 TempTalkTopic(
"shop_criminal", StepEnd);
834 manager.layer.Close();
836 if ((bool)WidgetFeed.Instance)
838 WidgetFeed.Instance.Talk(c,
"barter");
842 }, () => !layer, StepDefault);
846 List<ResearchPlan> plans =
new List<ResearchPlan>();
856 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
861 b.button1.mainText.text = a.
Name;
865 uIItem.image1.sprite = c3.resource.Sprite;
870 b.
button1.onClick.AddListener(delegate
872 if (c3.resource.value < c3.cost)
878 c3.resource.Mod(-c3.cost);
882 list.
List(refreshHighlight:
true);
885 b.RebuildLayout(recursive:
true);
900 }, () => !layer, StepDefault);
901 Step(
"_upgradeHearth");
906 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ??
"";
908 TempTalkTopic(
"upgrade_heath1",
null);
909 Choice(
"yes", delegate
913 TempTalkTopic(
"nomoney", StepDefault);
917 EClass.pc.ModCurrency(-cost7);
919 LayerDrama.Instance.SetOnKill(delegate
921 EClass.Branch.Upgrade();
923 TempTalkTopic(
"upgrade_heath2", StepEnd);
926 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
931 int cost6 = EClass.player.fame / 5;
932 GameLang.refDrama1 = cost6.ToString() ??
"";
935 TempTalkTopic(
"goto2", StepDefault);
939 TempTalkTopic(
"sellFame1",
null);
940 Choice(
"yes", delegate
945 TempTalkTopic(
"sellFame2", StepDefault);
947 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
956 TempTalkTopic(
"invest1",
null);
957 Choice(
"yes", delegate
959 Invest(quick:
false);
961 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
962 Choice(
"quickInvest", delegate
966 void Invest(
bool quick)
970 TempTalkTopic(
"nomoney", StepDefault);
976 EClass._zone.investment += cost5;
982 TempGoto(
"_investZone");
986 TempTalkTopic(
"invest2", StepDefault);
997 TempTalkTopic(
"invest_shop1",
null);
998 Choice(
"yes", delegate
1000 Invest(quick:
false);
1002 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1003 Choice(
"quickInvest", delegate
1005 Invest(quick:
true);
1007 void Invest(
bool quick)
1011 TempTalkTopic(
"nomoney", StepDefault);
1023 TempGoto(
"_investShop");
1027 TempTalkTopic(
"invest_shop2", StepDefault);
1032 Step(
"_changeTitle");
1035 EClass.player.title = WordGen.Get(
"title");
1037 TempTalk(
"changeTitle", StepDefault);
1038 },
null, StepDefault);
1044 GameLang.refDrama1 =
"";
1045 GameLang.refDrama2 = costLand.ToString() ??
"";
1048 TempTalkTopic(
"expand3", StepDefault);
1052 TempTalkTopic(
"expand1", StepDefault);
1053 Choice(
"yes", delegate
1057 TempTalkTopic(
"nomoney", StepDefault);
1062 EClass.pc.ModCurrency(-costLand,
"money2");
1063 TempTalkTopic(
"expand2", StepDefault);
1064 EClass._map.bounds.Expand(1);
1066 EClass._map.RefreshAllTiles();
1067 WidgetMinimap.UpdateMap();
1068 ScreenEffect.Play(
"Firework");
1071 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1088 }, () => !layer, StepDefault);
1093 TempTalkTopic(
"blessing", StepEnd);
1098 if (c.trait is TraitMiko_Mifu)
1100 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1104 member.AddCondition<ConEuphoric>()?.SetPerfume();
1108 member.AddCondition<ConNightVision>()?.SetPerfume();
1110 member.
Say(
"blessing", member);
1114 c.isRestocking =
true;
1123 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1150 b.imagePotential.enabled = flag5;
1154 b.mainText.text = b.mainText.text +
" " + (flag5 ?
"" : (
"notLearned".lang() +
" "));
1155 b.subText2.text = ((cost3 == 0) ?
"-" : (cost3.ToString() ??
"")).TagColor(() => plat >= cost3 && cost3 != 0);
1158 onInstantiate = delegate
1165 if (a.tag.Contains(
"unused"))
1169 if (a.tag.Contains(
"guild"))
1193 return a.category ==
"skill" && a.categorySub == c.trait.IDTrainer;
1207 }, () => !layer, StepDefault);
1208 Step(
"_changeDomain");
1212 }, () => !layer, StepDefault);
1217 layer.SetOnKill(SE.PopDrama);
1222 }, () => !layer, StepDefault);
1226 LayerPeople.slaveToBuy =
null;
1228 layer.SetOnKill(SE.PopDrama);
1234 }, () => !layer,
"_buySlaveConfirm");
1235 Step(
"_buySlaveConfirm");
1246 GameLang.refDrama1 = cost2.ToString() ??
"";
1247 GameLang.refDrama2 = tc.
Name;
1248 TempTalkTopic(
"slave_buy",
null);
1249 Choice(
"yes", delegate
1253 TempTalkTopic(
"nomoney", StepDefault);
1257 GameLang.refDrama1 = tc.Name;
1258 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1260 c.GetObj<SlaverData>(5).list.Remove(tc);
1261 TempTalkTopic(
"slave_buy2", StepEnd);
1264 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1272 }, () => !layer, StepDefault);
1280 }, () => !layer, StepDefault);
1281 Step(
"_identifyAll");
1284 int costIdentify = 0;
1285 int numIdentify = 0;
1286 int numSuperior = 0;
1292 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1295 GameLang.refDrama1 = costIdentify.ToString() ??
"";
1296 GameLang.refDrama2 = numIdentify.ToString() ??
"";
1297 if (numIdentify == 0)
1299 TempTalkTopic(
"appraise3", StepDefault);
1303 TempTalkTopic(
"appraise1", StepDefault);
1304 Choice(
"yes", delegate
1308 TempTalkTopic(
"nomoney", StepDefault);
1313 EClass.pc.ModCurrency(-costIdentify);
1314 foreach (Thing item9 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1316 item9.Thing.Identify(show: false);
1317 if (!item9.IsInstalled)
1322 TempTalkTopic(
"appraise2", StepDefault);
1325 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1328 Step(
"_identifySP");
1335 }, () => !layer, StepDefault);
1339 TempTalkTopic(
"bout1", StepDefault);
1340 Choice(
"yes", delegate
1356 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1358 TempTalkTopic(
"bout2", StepEnd);
1360 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1361 },
null, StepDefault);
1368 TempTalkTopic(
"news2",
null);
1372 zone.isKnown =
true;
1374 GameLang.refDrama1 = zone.
Name;
1375 TempTalkTopic(
"news1",
null);
1382 },
null, StepDefault);
1388 TempTalkTopic(
"healer1",
null);
1389 Choice(
"yes", delegate
1393 TempTalkTopic(
"nomoney", StepDefault);
1398 foreach (Chara member2 in EClass.pc.party.members)
1400 ActEffect.Proc(EffectId.HealComplete, member2);
1403 TempTalkTopic(
"healer2", StepEnd);
1406 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1413 TempTalkTopic(
"food1",
null);
1414 Choice(
"yes", delegate
1418 TempTalkTopic(
"alreadyFull", StepDefault);
1422 TempTalkTopic(
"nomoney", StepDefault);
1427 EClass.pc.ModCurrency(-cost);
1428 TempTalkTopic(
"food2", StepDefault);
1429 FoodEffect.Proc(EClass.pc, ThingGen.Create(
"dish_lunch"), consume: false);
1430 EClass.pc.hunger.value = 0;
1433 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1435 int[] bankTier =
new int[5] { 100, 1000, 10000, 100000, 1000000 };
1443 WidgetFeed.Instance.Talk(c,
"barter");
1445 SE.Play(
"shop_open");
1447 }, () => !layer, StepDefault);
1456 WidgetFeed.Instance.Talk(c,
"barter");
1458 SE.Play(
"shop_open");
1460 if (c.c_copyContainer ==
null)
1462 c.c_copyContainer = ThingGen.Create(
"container_deposit");
1464 int numCopyItem = c.trait.NumCopyItem;
1465 c.c_copyContainer.things.SetSize(numCopyItem, 1);
1467 }, () => !layer, StepDefault);
1469 int[] taxTier =
new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1474 TempTalkTopic(
"extraTax",
null);
1475 int[] array2 = taxTier;
1476 foreach (
int num3
in array2)
1481 EClass.player.extraTax = _i2;
1482 GameLang.refDrama1 = Lang._currency(_i2,
"money");
1483 TempTalkTopic(
"extraTax2", StepDefault);
1486 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1492 GameLang.refDrama1 = bankMoney.ToString() ??
"";
1493 TempTalkTopic(
"banker2",
null);
1494 int[] array = bankTier;
1495 foreach (
int num2
in array)
1503 EClass.pc.ModCurrency(_i);
1504 EClass.player.bankMoney -= _i;
1505 TempTalkTopic(
"banker4", StepDefault);
1509 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1511 Step(
"_disableMove");
1515 c.orgPos =
new Point(c.pos);
1519 Step(
"_enableMove");
1535 Method(RumorChill,
null, StepDefault);
1537 string GetTalk(
string id)
1539 return c.GetTalkText(
id);
1543 rumor = GetTalk(
"chill");
1545 void Talk(
string idTalk,
string idJump)
1547 _Talk(
"tg", GetTalk(idTalk), idJump);
1551 EnableCancel(
"back");
1553 void TempTalk(
string idTalk,
string idJump)
1555 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1557 void TempTalkTopic(
string idTopc,
string idJump)
1559 _TempTalk(
"tg", GetTopic(c, idTopc), idJump);
1563 if (c.quest !=
null)
1575 return GetText(c,
"rumor",
"bored");
1577 if (HasTopic(
"unique", c.
id))
1579 return GetText(c,
"unique", c.
id);
1599 return GetText(c,
"rumor",
"hint");
1601 return GetText(c,
"rumor",
"default");
1606 string path = CorePath.CorePackage.TextDialog +
"dialog.xlsx";
1607 if (!File.Exists(path))
1612 excelData.path = path;
1614 return excelData.
sheets[idSheet].map.ContainsKey(idTopic);
1624 if (!(idSheet !=
"unique"))
1626 return dialog.RandomItem();
1628 return c.
ApplyTone(dialog.RandomItem());
1633 return GetText(c,
"general", idTopic);
1639 string[] array = setup.
textData.Split(
new string[1] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
1640 foreach (
string text
in array)
1642 if (!(text == Environment.NewLine))
1644 _Talk(
"", text.TrimStart(Environment.NewLine.ToCharArray()).TrimEnd(Environment.NewLine.ToCharArray()));
1653 e.sequence = sequence;
1665 public void Method(Action action, Func<bool> endFunc =
null,
string idJump =
null)
1671 if (!idJump.IsEmpty())
1692 public void _Talk(
string idActor,
string text,
string idJump =
null)
1702 public void _Talk(
string idActor, Func<string> funcText,
string idJump =
null)
1712 public void _TempTalk(
string idActor,
string text,
string idJump =
null)
1727 sequence.
Play(idJump);
1736 EnableCancel(idJump);
1744 dramaChoice.onJump = onJump;
1759 manager.lastTalk.canCancel =
true;
1760 manager.lastTalk.idCancelJump = idCancelJump;
1765 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 GetElement(string alias)
static Element Create(int id, int v=0)
Dictionary< string, Sheet > sheets
virtual void BuildMap(string sheetName="_default")
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 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 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)
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 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)