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));
46 _Talk(
"tg", () => rumor);
52 sequence.firstTalk.funcText = () => rumor;
54 Hobby hobby = ((list2.Count > 0) ? list2[0] :
null);
59 GameLang.refDrama1 = c.
GetFavCat().GetName().ToLower();
61 rumor =
GetText(c,
"general",
"talk_fav");
66 GameLang.refDrama1 = hobby.
Name.ToLower();
67 rumor =
GetText(c,
"general",
"talk_hobby");
75 choice.forceHighlight =
true;
76 }).SetCondition(() => c.interest > 0);
95 if (!
item.CanDeliverToClient(c))
100 foreach (
Thing item2
in questDeliver.ListDestThing())
119 Choice2(
"daMakeHome",
"_makeHome");
121 if (c.host ==
null && c.homeZone !=
null)
123 Choice2(
"daLeaveParty".lang(c.homeZone.Name),
"_leaveParty");
129 if (c.trait.CanGuide)
163 Choice2(
"daQuest".lang(c.quest?.GetTitle() ??
""),
"_quest").
SetCondition(() => c.quest !=
null);
170 Choice2(
"daLostProperty".lang(_t.Name),
"_lostProperty").SetOnClick(delegate
181 if (c.trait.ShopType != 0)
185 if (c.trait.SlaverType != 0)
189 if (c.trait.CopyShop != 0)
191 Choice2((
"daCopy" + c.trait.CopyShop).lang(c.trait.NumCopyItem.ToString() ??
""),
"_copyItem").
DisableSound();
203 Choice2(flag2 ?
"daBird" :
"daTail",
"_tail");
205 if (c.trait.CanRevive)
213 if (c.trait.CanWhore)
215 Choice2(flag2 ?
"daBirdBuy" :
"daTailBuy",
"_whore");
221 if (c.trait.CanServeFood)
227 Choice2(
"daSellFame",
"_sellFame");
233 Choice2(
"daInvest",
"_investZone");
235 if (c.trait.CanInvest)
237 Choice2(
"daInvest",
"_investShop");
240 if (c.trait.CanIdentify)
243 Choice2(
"daIdentifyAll",
"_identifyAll");
246 if (c.trait.CanPicklock)
248 if (c.Evalue(280) < 20)
250 c.elements.SetBase(280, 20);
263 Choice2(
"daDeposit",
"_deposit");
267 Choice2(
"daExtraTax",
"_extraTax");
271 Choice2(
"daBlessing",
"_blessing");
274 if (c.IsHomeMember())
282 Choice2(
"daBuyLand",
"_buyLand");
283 Choice2(
"daChangeTitle",
"_changeTitle");
287 Choice2(
"enableMove",
"_enableMove");
289 if (!c.IsPCParty && c.memberType !=
FactionMemberType.Livestock && c.trait.CanJoinParty)
291 Choice2(
"daJoinParty",
"_joinParty");
293 Choice2(
"daFactionOther",
"_factionOther");
297 Choice2(
"daGreatDebt",
"_greatDebt");
304 Step(
"_factionOther");
309 if (questDebt !=
null && questDebt.
gaveBill)
311 Choice(
"daGreatDebt2",
"_greatDebt2");
318 Choice((c.GetInt(106) == 0) ?
"daShutup" :
"daShutup2",
"_shutup");
321 Choice((c.GetInt(108) == 0) ?
"daInsult" :
"daInsult2",
"_insult");
327 Choice(
"disableMove",
"_disableMove");
329 Choice((c.GetInt(123) == 0) ?
"daSleepBeside" :
"daSleepBeside2",
"_sleepBeside");
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 z2 = 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())
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 c.SetInt(108, (c.GetInt(108) == 0) ? 1 : 0);
569 _Talk(
"tg",
GetTopic(c, (c.GetInt(108) == 0) ?
"insult" :
"insult2"));
572 if (c.GetInt(108) == 1)
596 if (!c.trait.CanInvite)
598 TempTalkTopic(
"invite2", StepDefault);
602 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
603 TempTalkTopic(
"invite3", StepDefault);
607 TempTalkTopic(
"invite", null);
608 Choice(
"yes", delegate
610 TempTalk(
"hired", StepEnd);
611 EClass.Sound.Play(
"good");
620 TempTalkTopic(
"guide",
null);
621 foreach (
Card guide
in GetListGuide())
623 Choice(
"daGotoGuide".lang(guide.
Name,
""),
"_goto").SetOnClick(delegate
628 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
635 TempTalkTopic(bird +
"1",
null);
636 Choice(
"yes2", delegate
638 TempTalkTopic(bird +
"2", StepEnd);
645 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
652 TempTalkTopic(bird +
"3",
null);
653 Choice(
"yes2", delegate
657 TempTalkTopic(
"nomoney", StepDefault);
662 EClass.pc.ModCurrency(-costWhore);
663 TempTalkTopic(bird +
"2", StepEnd);
664 EClass.pc.SetAI(new AI_Fuck
670 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
677 TempTalkTopic(
"bird3",
null);
678 Choice(
"yes2", delegate
682 TempTalkTopic(
"lockTooHard", StepDefault);
686 TempTalkTopic(
"nomoney", StepDefault);
691 EClass.pc.ModCurrency(-cost8);
692 manager.layer.SetOnKill(delegate
694 c.PlaySound(
"lock_open");
695 c.Say(
"lockpick_success", c, destThing);
696 c.ModExp(280, 200 + destThing.c_lockLv * 20);
697 destThing.c_lockLv = 0;
698 if (destThing.isLostProperty)
700 EClass.player.ModKarma(-8);
702 destThing.isLostProperty = false;
704 TempTalkTopic(destThing.
isLostProperty ?
"lockpick_purse" :
"bird2", StepEnd);
707 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
714 SE.Play(
"click_chat");
715 if (EClass.pc.GetCurrency(
"medal") > 0)
717 TempTalkTopic(
"miral_medal", null);
721 TempTalkTopic(
"miral_medal2", StepDefault);
729 SE.Play(
"click_chat");
730 TempTalkTopic(
"shop_criminal", StepEnd);
735 manager.layer.Close();
737 if ((bool)WidgetFeed.Instance)
739 WidgetFeed.Instance.Talk(c,
"barter");
743 }, () => !layer, StepDefault);
747 List<ResearchPlan> plans =
new List<ResearchPlan>();
757 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
762 b.button1.mainText.text = a.
Name;
766 uIItem.image1.sprite = c2.resource.Sprite;
771 b.
button1.onClick.AddListener(delegate
773 if (c2.resource.value < c2.cost)
779 c2.resource.Mod(-c2.cost);
783 list.
List(refreshHighlight:
true);
786 b.RebuildLayout(recursive:
true);
801 }, () => !layer, StepDefault);
802 Step(
"_upgradeHearth");
807 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ??
"";
809 TempTalkTopic(
"upgrade_heath1",
null);
810 Choice(
"yes", delegate
814 TempTalkTopic(
"nomoney", StepDefault);
818 EClass.pc.ModCurrency(-cost7);
820 LayerDrama.Instance.SetOnKill(delegate
822 EClass.Branch.Upgrade();
824 TempTalkTopic(
"upgrade_heath2", StepEnd);
827 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
832 int cost6 = EClass.player.fame / 5;
833 GameLang.refDrama1 = cost6.ToString() ??
"";
836 TempTalkTopic(
"goto2", StepDefault);
840 TempTalkTopic(
"sellFame1",
null);
841 Choice(
"yes", delegate
846 TempTalkTopic(
"sellFame2", StepDefault);
848 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
857 TempTalkTopic(
"invest1",
null);
858 Choice(
"yes", delegate
860 Invest(quick:
false);
862 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
863 Choice(
"quickInvest", delegate
867 void Invest(
bool quick)
871 TempTalkTopic(
"nomoney", StepDefault);
877 EClass._zone.investment += cost5;
883 TempGoto(
"_investZone");
887 TempTalkTopic(
"invest2", StepDefault);
898 TempTalkTopic(
"invest_shop1",
null);
899 Choice(
"yes", delegate
901 Invest(quick:
false);
903 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
904 Choice(
"quickInvest", delegate
908 void Invest(
bool quick)
912 TempTalkTopic(
"nomoney", StepDefault);
924 TempGoto(
"_investShop");
928 TempTalkTopic(
"invest_shop2", StepDefault);
933 Step(
"_changeTitle");
936 EClass.player.title = WordGen.Get(
"title");
938 TempTalk(
"changeTitle", StepDefault);
939 },
null, StepDefault);
945 GameLang.refDrama1 =
"";
946 GameLang.refDrama2 = costLand.ToString() ??
"";
949 TempTalkTopic(
"expand3", StepDefault);
953 TempTalkTopic(
"expand1", StepDefault);
954 Choice(
"yes", delegate
958 TempTalkTopic(
"nomoney", StepDefault);
963 EClass.pc.ModCurrency(-costLand,
"money2");
964 TempTalkTopic(
"expand2", StepDefault);
965 EClass._map.bounds.Expand(1);
967 EClass._map.RefreshAllTiles();
968 ScreenEffect.Play(
"Firework");
971 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
988 }, () => !layer, StepDefault);
993 TempTalkTopic(
"blessing", StepEnd);
998 if (c.trait is TraitMiko_Mifu)
1000 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1004 member.AddCondition<ConEuphoric>()?.SetPerfume();
1008 member.AddCondition<ConNightVision>()?.SetPerfume();
1010 member.
Say(
"blessing", member);
1014 c.isRestocking =
true;
1023 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1050 b.imagePotential.enabled = flag5;
1054 b.mainText.text = b.mainText.text +
" " + (flag5 ?
"" : (
"notLearned".lang() +
" "));
1055 b.subText2.text = ((cost3 == 0) ?
"-" : (cost3.ToString() ??
"")).TagColor(() => plat >= cost3 && cost3 != 0);
1058 onInstantiate = delegate
1065 if (a.tag.Contains(
"unused"))
1069 if (a.tag.Contains(
"guild"))
1093 return a.category ==
"skill" && a.categorySub == c.trait.IDTrainer;
1107 }, () => !layer, StepDefault);
1108 Step(
"_changeDomain");
1112 }, () => !layer, StepDefault);
1117 layer.SetOnKill(SE.PopDrama);
1122 }, () => !layer, StepDefault);
1126 LayerPeople.slaveToBuy =
null;
1128 layer.SetOnKill(SE.PopDrama);
1134 }, () => !layer,
"_buySlaveConfirm");
1135 Step(
"_buySlaveConfirm");
1146 GameLang.refDrama1 = cost2.ToString() ??
"";
1147 GameLang.refDrama2 = tc.
Name;
1148 TempTalkTopic(
"slave_buy",
null);
1149 Choice(
"yes", delegate
1153 TempTalkTopic(
"nomoney", StepDefault);
1157 GameLang.refDrama1 = tc.Name;
1158 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1160 c.GetObj<SlaverData>(5).list.Remove(tc);
1161 TempTalkTopic(
"slave_buy2", StepEnd);
1164 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1172 }, () => !layer, StepDefault);
1180 }, () => !layer, StepDefault);
1181 Step(
"_identifyAll");
1184 int costIdentify = 0;
1185 int numIdentify = 0;
1186 int numSuperior = 0;
1192 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1195 GameLang.refDrama1 = costIdentify.ToString() ??
"";
1196 GameLang.refDrama2 = numIdentify.ToString() ??
"";
1197 if (numIdentify == 0)
1199 TempTalkTopic(
"appraise3", StepDefault);
1203 TempTalkTopic(
"appraise1", StepDefault);
1204 Choice(
"yes", delegate
1208 TempTalkTopic(
"nomoney", StepDefault);
1213 EClass.pc.ModCurrency(-costIdentify);
1214 foreach (Thing item8 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1216 item8.Thing.Identify(show: false);
1217 if (!item8.IsInstalled)
1222 TempTalkTopic(
"appraise2", StepDefault);
1225 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1228 Step(
"_identifySP");
1235 }, () => !layer, StepDefault);
1239 TempTalkTopic(
"bout1", StepDefault);
1240 Choice(
"yes", delegate
1256 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1258 TempTalkTopic(
"bout2", StepEnd);
1260 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1261 },
null, StepDefault);
1268 TempTalkTopic(
"news2",
null);
1272 zone.isKnown =
true;
1274 GameLang.refDrama1 = zone.
Name;
1275 TempTalkTopic(
"news1",
null);
1282 },
null, StepDefault);
1288 TempTalkTopic(
"healer1",
null);
1289 Choice(
"yes", delegate
1293 TempTalkTopic(
"nomoney", StepDefault);
1298 foreach (Chara member2 in EClass.pc.party.members)
1300 ActEffect.Proc(EffectId.HealComplete, member2);
1303 TempTalkTopic(
"healer2", StepEnd);
1306 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1313 TempTalkTopic(
"food1",
null);
1314 Choice(
"yes", delegate
1318 TempTalkTopic(
"alreadyFull", StepDefault);
1322 TempTalkTopic(
"nomoney", StepDefault);
1327 EClass.pc.ModCurrency(-cost);
1328 TempTalkTopic(
"food2", StepDefault);
1329 FoodEffect.Proc(EClass.pc, ThingGen.Create(
"dish_lunch"));
1330 EClass.pc.hunger.value = 0;
1333 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1335 int[] bankTier =
new int[5] { 100, 1000, 10000, 100000, 1000000 };
1343 WidgetFeed.Instance.Talk(c,
"barter");
1345 SE.Play(
"shop_open");
1347 }, () => !layer, StepDefault);
1356 WidgetFeed.Instance.Talk(c,
"barter");
1358 SE.Play(
"shop_open");
1360 if (c.c_copyContainer ==
null)
1362 c.c_copyContainer = ThingGen.Create(
"container_deposit");
1364 int numCopyItem = c.trait.NumCopyItem;
1365 c.c_copyContainer.things.SetSize(numCopyItem, 1);
1367 }, () => !layer, StepDefault);
1369 int[] taxTier =
new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1374 TempTalkTopic(
"extraTax",
null);
1375 int[] array2 = taxTier;
1376 foreach (
int num2
in array2)
1381 EClass.player.extraTax = _i2;
1382 GameLang.refDrama1 = Lang._currency(_i2,
"money");
1383 TempTalkTopic(
"extraTax2", StepDefault);
1386 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1392 GameLang.refDrama1 = bankMoney.ToString() ??
"";
1393 TempTalkTopic(
"banker2",
null);
1394 int[] array = bankTier;
1395 foreach (
int num
in array)
1403 EClass.pc.ModCurrency(_i);
1404 EClass.player.bankMoney -= _i;
1405 TempTalkTopic(
"banker4", StepDefault);
1409 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1411 Step(
"_disableMove");
1415 c.orgPos =
new Point(c.pos);
1419 Step(
"_enableMove");
1435 Method(RumorChill,
null, StepDefault);
1437 string GetTalk(
string id)
1439 return c.GetTalkText(
id);
1443 rumor = GetTalk(
"chill");
1445 void Talk(
string idTalk,
string idJump)
1447 _Talk(
"tg", GetTalk(idTalk), idJump);
1451 EnableCancel(
"back");
1453 void TempTalk(
string idTalk,
string idJump)
1455 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1457 void TempTalkTopic(
string idTopc,
string idJump)
1459 _TempTalk(
"tg", GetTopic(c, idTopc), idJump);
1463 if (c.quest !=
null)
1475 return GetText(c,
"rumor",
"bored");
1477 if (HasTopic(
"unique", c.
id))
1479 manager.enableTone =
false;
1480 return GetText(c,
"unique", c.
id);
1500 return GetText(c,
"rumor",
"hint");
1502 return GetText(c,
"rumor",
"default");
1507 string path = CorePath.CorePackage.TextDialog +
"dialog.xlsx";
1508 if (!File.Exists(path))
1513 excelData.path = path;
1515 return excelData.
sheets[idSheet].map.ContainsKey(idTopic);
1525 if (!manager.
enableTone && !(idSheet ==
"general"))
1527 return dialog.RandomItem();
1529 return c.
ApplyTone(dialog.RandomItem());
1534 return GetText(c,
"general", idTopic);
1540 string[] array = setup.
textData.Split(
new string[1] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
1541 foreach (
string text
in array)
1543 if (!(text == Environment.NewLine))
1545 _Talk(
"", text.TrimStart(Environment.NewLine.ToCharArray()).TrimEnd(Environment.NewLine.ToCharArray()));
1554 e.sequence = sequence;
1566 public void Method(Action action, Func<bool> endFunc =
null,
string idJump =
null)
1572 if (!idJump.IsEmpty())
1593 public void _Talk(
string idActor,
string text,
string idJump =
null)
1603 public void _Talk(
string idActor, Func<string> funcText,
string idJump =
null)
1613 public void _TempTalk(
string idActor,
string text,
string idJump =
null)
1628 sequence.
Play(idJump);
1637 EnableCancel(idJump);
1645 dramaChoice.onJump = onJump;
1660 manager.lastTalk.canCancel =
true;
1661 manager.lastTalk.idCancelJump = idCancelJump;
1666 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
bool HasElement(int ele, int req=1)
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)
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)
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)