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 Choice2(
"daFactionOther",
"_factionOther");
301 Choice2(
"daGreatDebt",
"_greatDebt");
308 Step(
"_factionOther");
313 if (questDebt !=
null && questDebt.
gaveBill)
315 Choice(
"daGreatDebt2",
"_greatDebt2");
322 Choice((c.GetInt(106) == 0) ?
"daShutup" :
"daShutup2",
"_shutup");
323 if (c.CanInsult() || c.GetInt(108) == 1)
325 Choice((c.GetInt(108) == 0) ?
"daInsult" :
"daInsult2",
"_insult");
331 Choice(
"disableMove",
"_disableMove");
333 Choice((c.GetInt(123) == 0) ?
"daSleepBeside" :
"daSleepBeside2",
"_sleepBeside");
334 if (c.GetInt(113) == 0)
336 Choice(
"daEquipSharedOff",
"_toggleSharedEquip");
340 Choice(
"daEquipSharedOn",
"_toggleSharedEquip");
344 Choice(
"daMakeMaid",
"_daMakeMaid");
346 if (c.trait.CanBeBanished && !c.IsPCParty)
348 Choice(
"daBanish",
"_depart");
351 Step(
"_toggleSharedEquip");
354 c.SetInt(113, (c.GetInt(113) == 0) ? 1 : 0);
356 _Talk(
"tg",
GetTopic(c, (c.GetInt(113) == 0) ?
"shutup" :
"shutup2"));
361 EClass.Branch.uidMaid = c.uid;
368 if (!c.trait.CanJoinPartyResident)
370 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
371 TempTalkTopic(
"invite3", StepDefault);
375 EClass.pc.party.AddMemeber(c, showMsg: true);
385 EClass.pc.Say(
"tame_send", c, c.homeZone.Name);
386 c.MoveZone(c.homeZone);
392 Step(
"_makeLivestock");
397 Talk(
"becomeLivestock",
StepEnd);
398 Step(
"_makeResident");
403 Talk(
"becomeResident",
StepEnd);
406 Choice(
"depart1",
"_depart1");
407 Choice(
"depart2",
"_depart2");
413 c.homeBranch.BanishMember(c);
420 Talk(
"gift_good",
null);
432 TempTalkTopic(
"goto",
"_goto2");
440 destCard.Teleport(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: true, ignoreCenter: true) ?? EClass.pc.pos, silent: true, force: true);
448 Step(
"_lostProperty");
475 return (!taken()) ? c.quest.GetDetail() : c.quest.GetTalkProgress().IsEmpty(
GetTopic(c,
"questInProgress"));
477 string text2 =
"daAccept".lang();
478 if (c.quest !=
null && c.quest.deadline != 0)
480 text2 +=
"hintDeadline".lang(c.quest.TextDeadline).ToLower();
482 Choice(text2, (c.quest !=
null && c.quest.UseInstanceZone) ?
"_questAccept_instance" :
"_questAccept").
SetOnClick(delegate
511 Step(
"_questAccept");
513 Step(
"_questAccept_instance");
517 Zone z2 = c.quest.CreateInstanceZone(c);
528 TempTalkTopic(
"loytel_bill_give_wait",
StepDefault);
532 TempTalkTopic(
"loytel_bill_give_given",
StepDefault);
544 TempTalkTopic(
"loytel_bill_give_lost",
StepEnd);
550 c.SetInt(106, (c.GetInt(106) == 0) ? 1 : 0);
552 _Talk(
"tg",
GetTopic(c, (c.GetInt(106) == 0) ?
"shutup" :
"shutup2"));
554 Step(
"_sleepBeside");
557 if (c.affinity.CanSleepBeside() || c.GetInt(123) == 1)
559 c.SetInt(123, (c.GetInt(123) == 0) ? 1 : 0);
563 TempTalkTopic(
"refuse", StepEnd);
566 _Talk(
"tg",
GetTopic(c, (c.GetInt(123) == 0) ?
"ok" :
"shutup"));
571 c.SetInt(108, (c.GetInt(108) == 0) ? 1 : 0);
573 _Talk(
"tg",
GetTopic(c, (c.GetInt(108) == 0) ?
"insult" :
"insult2"));
576 if (c.GetInt(108) == 1)
600 if (!c.trait.CanInvite)
602 TempTalkTopic(
"invite2", StepDefault);
606 GameLang.refDrama1 = c.GetBestAttribute().ToString() ??
"";
607 TempTalkTopic(
"invite3", StepDefault);
611 TempTalkTopic(
"invite", null);
612 Choice(
"yes", delegate
614 TempTalk(
"hired", StepEnd);
615 EClass.Sound.Play(
"good");
624 TempTalkTopic(
"guide",
null);
625 foreach (
Card guide
in GetListGuide())
627 Choice(
"daGotoGuide".lang(guide.
Name,
""),
"_goto").SetOnClick(delegate
632 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
639 TempTalkTopic(bird +
"1",
null);
640 Choice(
"yes2", delegate
642 TempTalkTopic(bird +
"2", StepEnd);
649 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
656 TempTalkTopic(bird +
"3",
null);
657 Choice(
"yes2", delegate
661 TempTalkTopic(
"nomoney", StepDefault);
666 EClass.pc.ModCurrency(-costWhore);
667 TempTalkTopic(bird +
"2", StepEnd);
668 EClass.pc.SetAI(new AI_Fuck
674 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
681 TempTalkTopic(
"bird3",
null);
682 Choice(
"yes2", delegate
686 TempTalkTopic(
"lockTooHard", StepDefault);
690 TempTalkTopic(
"nomoney", StepDefault);
695 EClass.pc.ModCurrency(-cost8);
696 manager.layer.SetOnKill(delegate
698 c.PlaySound(
"lock_open");
699 c.Say(
"lockpick_success", c, destThing);
700 c.ModExp(280, 200 + destThing.c_lockLv * 20);
701 destThing.c_lockLv = 0;
702 if (destThing.isLostProperty)
704 EClass.player.ModKarma(-8);
706 destThing.isLostProperty = false;
708 TempTalkTopic(destThing.
isLostProperty ?
"lockpick_purse" :
"bird2", StepEnd);
711 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
718 SE.Play(
"click_chat");
719 if (EClass.pc.GetCurrency(
"medal") > 0)
721 TempTalkTopic(
"miral_medal", null);
725 TempTalkTopic(
"miral_medal2", StepDefault);
733 SE.Play(
"click_chat");
734 TempTalkTopic(
"shop_blackmarket_noaccess", StepEnd);
738 SE.Play(
"click_chat");
739 TempTalkTopic(
"shop_criminal", StepEnd);
744 manager.layer.Close();
746 if ((bool)WidgetFeed.Instance)
748 WidgetFeed.Instance.Talk(c,
"barter");
752 }, () => !layer, StepDefault);
756 List<ResearchPlan> plans =
new List<ResearchPlan>();
766 list.moldItem = Resources.Load<
ItemGeneral>(
"UI/Element/Item/ItemGeneralBarter").transform;
771 b.button1.mainText.text = a.
Name;
775 uIItem.image1.sprite = c2.resource.Sprite;
780 b.
button1.onClick.AddListener(delegate
782 if (c2.resource.value < c2.cost)
788 c2.resource.Mod(-c2.cost);
792 list.
List(refreshHighlight:
true);
795 b.RebuildLayout(recursive:
true);
810 }, () => !layer, StepDefault);
811 Step(
"_upgradeHearth");
816 GameLang.refDrama2 = (EClass.Branch.lv + 1).ToString() ??
"";
818 TempTalkTopic(
"upgrade_heath1",
null);
819 Choice(
"yes", delegate
823 TempTalkTopic(
"nomoney", StepDefault);
827 EClass.pc.ModCurrency(-cost7);
829 LayerDrama.Instance.SetOnKill(delegate
831 EClass.Branch.Upgrade();
833 TempTalkTopic(
"upgrade_heath2", StepEnd);
836 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
841 int cost6 = EClass.player.fame / 5;
842 GameLang.refDrama1 = cost6.ToString() ??
"";
845 TempTalkTopic(
"goto2", StepDefault);
849 TempTalkTopic(
"sellFame1",
null);
850 Choice(
"yes", delegate
855 TempTalkTopic(
"sellFame2", StepDefault);
857 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
866 TempTalkTopic(
"invest1",
null);
867 Choice(
"yes", delegate
869 Invest(quick:
false);
871 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
872 Choice(
"quickInvest", delegate
876 void Invest(
bool quick)
880 TempTalkTopic(
"nomoney", StepDefault);
886 EClass._zone.investment += cost5;
892 TempGoto(
"_investZone");
896 TempTalkTopic(
"invest2", StepDefault);
907 TempTalkTopic(
"invest_shop1",
null);
908 Choice(
"yes", delegate
910 Invest(quick:
false);
912 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
913 Choice(
"quickInvest", delegate
917 void Invest(
bool quick)
921 TempTalkTopic(
"nomoney", StepDefault);
933 TempGoto(
"_investShop");
937 TempTalkTopic(
"invest_shop2", StepDefault);
942 Step(
"_changeTitle");
945 EClass.player.title = WordGen.Get(
"title");
947 TempTalk(
"changeTitle", StepDefault);
948 },
null, StepDefault);
954 GameLang.refDrama1 =
"";
955 GameLang.refDrama2 = costLand.ToString() ??
"";
958 TempTalkTopic(
"expand3", StepDefault);
962 TempTalkTopic(
"expand1", StepDefault);
963 Choice(
"yes", delegate
967 TempTalkTopic(
"nomoney", StepDefault);
972 EClass.pc.ModCurrency(-costLand,
"money2");
973 TempTalkTopic(
"expand2", StepDefault);
974 EClass._map.bounds.Expand(1);
976 EClass._map.RefreshAllTiles();
977 WidgetMinimap.UpdateMap();
978 ScreenEffect.Play(
"Firework");
981 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
998 }, () => !layer, StepDefault);
1003 TempTalkTopic(
"blessing", StepEnd);
1008 if (c.trait is TraitMiko_Mifu)
1010 member.AddCondition<ConHolyVeil>()?.SetPerfume();
1014 member.AddCondition<ConEuphoric>()?.SetPerfume();
1018 member.AddCondition<ConNightVision>()?.SetPerfume();
1020 member.
Say(
"blessing", member);
1024 c.isRestocking =
true;
1033 list.moldItem = Resources.Load<
ButtonElement>(
"UI/Element/Button/ButtonElementTrain").transform;
1060 b.imagePotential.enabled = flag5;
1064 b.mainText.text = b.mainText.text +
" " + (flag5 ?
"" : (
"notLearned".lang() +
" "));
1065 b.subText2.text = ((cost3 == 0) ?
"-" : (cost3.ToString() ??
"")).TagColor(() => plat >= cost3 && cost3 != 0);
1068 onInstantiate = delegate
1075 if (a.tag.Contains(
"unused"))
1079 if (a.tag.Contains(
"guild"))
1103 return a.category ==
"skill" && a.categorySub == c.trait.IDTrainer;
1117 }, () => !layer, StepDefault);
1118 Step(
"_changeDomain");
1122 }, () => !layer, StepDefault);
1127 layer.SetOnKill(SE.PopDrama);
1132 }, () => !layer, StepDefault);
1136 LayerPeople.slaveToBuy =
null;
1138 layer.SetOnKill(SE.PopDrama);
1144 }, () => !layer,
"_buySlaveConfirm");
1145 Step(
"_buySlaveConfirm");
1156 GameLang.refDrama1 = cost2.ToString() ??
"";
1157 GameLang.refDrama2 = tc.
Name;
1158 TempTalkTopic(
"slave_buy",
null);
1159 Choice(
"yes", delegate
1163 TempTalkTopic(
"nomoney", StepDefault);
1167 GameLang.refDrama1 = tc.Name;
1168 EClass._zone.AddCard(tc, EClass.pc.pos.GetNearestPoint());
1170 c.GetObj<SlaverData>(5).list.Remove(tc);
1171 TempTalkTopic(
"slave_buy2", StepEnd);
1174 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1182 }, () => !layer, StepDefault);
1190 }, () => !layer, StepDefault);
1191 Step(
"_identifyAll");
1194 int costIdentify = 0;
1195 int numIdentify = 0;
1196 int numSuperior = 0;
1202 costIdentify += CalcMoney.Identify(EClass.pc, superior: false);
1205 GameLang.refDrama1 = costIdentify.ToString() ??
"";
1206 GameLang.refDrama2 = numIdentify.ToString() ??
"";
1207 if (numIdentify == 0)
1209 TempTalkTopic(
"appraise3", StepDefault);
1213 TempTalkTopic(
"appraise1", StepDefault);
1214 Choice(
"yes", delegate
1218 TempTalkTopic(
"nomoney", StepDefault);
1223 EClass.pc.ModCurrency(-costIdentify);
1224 foreach (Thing item8 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
1226 item8.Thing.Identify(show: false);
1227 if (!item8.IsInstalled)
1232 TempTalkTopic(
"appraise2", StepDefault);
1235 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1238 Step(
"_identifySP");
1245 }, () => !layer, StepDefault);
1249 TempTalkTopic(
"bout1", StepDefault);
1250 Choice(
"yes", delegate
1266 EClass.pc.MoveZone(z, ZoneTransition.EnterState.Center);
1268 TempTalkTopic(
"bout2", StepEnd);
1270 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1271 },
null, StepDefault);
1278 TempTalkTopic(
"news2",
null);
1282 zone.isKnown =
true;
1284 GameLang.refDrama1 = zone.
Name;
1285 TempTalkTopic(
"news1",
null);
1292 },
null, StepDefault);
1298 TempTalkTopic(
"healer1",
null);
1299 Choice(
"yes", delegate
1303 TempTalkTopic(
"nomoney", StepDefault);
1308 foreach (Chara member2 in EClass.pc.party.members)
1310 ActEffect.Proc(EffectId.HealComplete, member2);
1313 TempTalkTopic(
"healer2", StepEnd);
1316 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1323 TempTalkTopic(
"food1",
null);
1324 Choice(
"yes", delegate
1328 TempTalkTopic(
"alreadyFull", StepDefault);
1332 TempTalkTopic(
"nomoney", StepDefault);
1337 EClass.pc.ModCurrency(-cost);
1338 TempTalkTopic(
"food2", StepDefault);
1339 FoodEffect.Proc(EClass.pc, ThingGen.Create(
"dish_lunch"));
1340 EClass.pc.hunger.value = 0;
1343 Choice(
"no", StepDefault, cancel:
true).SetOnClick(RumorChill);
1345 int[] bankTier =
new int[5] { 100, 1000, 10000, 100000, 1000000 };
1353 WidgetFeed.Instance.Talk(c,
"barter");
1355 SE.Play(
"shop_open");
1357 }, () => !layer, StepDefault);
1366 WidgetFeed.Instance.Talk(c,
"barter");
1368 SE.Play(
"shop_open");
1370 if (c.c_copyContainer ==
null)
1372 c.c_copyContainer = ThingGen.Create(
"container_deposit");
1374 int numCopyItem = c.trait.NumCopyItem;
1375 c.c_copyContainer.things.SetSize(numCopyItem, 1);
1377 }, () => !layer, StepDefault);
1379 int[] taxTier =
new int[6] { 0, 1000, 2000, 5000, 10000, 20000 };
1384 TempTalkTopic(
"extraTax",
null);
1385 int[] array2 = taxTier;
1386 foreach (
int num3
in array2)
1391 EClass.player.extraTax = _i2;
1392 GameLang.refDrama1 = Lang._currency(_i2,
"money");
1393 TempTalkTopic(
"extraTax2", StepDefault);
1396 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1402 GameLang.refDrama1 = bankMoney.ToString() ??
"";
1403 TempTalkTopic(
"banker2",
null);
1404 int[] array = bankTier;
1405 foreach (
int num2
in array)
1413 EClass.pc.ModCurrency(_i);
1414 EClass.player.bankMoney -= _i;
1415 TempTalkTopic(
"banker4", StepDefault);
1419 Choice(
"no2", StepDefault, cancel:
true).SetOnClick(RumorChill);
1421 Step(
"_disableMove");
1425 c.orgPos =
new Point(c.pos);
1429 Step(
"_enableMove");
1445 Method(RumorChill,
null, StepDefault);
1447 string GetTalk(
string id)
1449 return c.GetTalkText(
id);
1453 rumor = GetTalk(
"chill");
1455 void Talk(
string idTalk,
string idJump)
1457 _Talk(
"tg", GetTalk(idTalk), idJump);
1461 EnableCancel(
"back");
1463 void TempTalk(
string idTalk,
string idJump)
1465 _TempTalk(
"tg", GetTalk(idTalk), idJump);
1467 void TempTalkTopic(
string idTopc,
string idJump)
1469 _TempTalk(
"tg", GetTopic(c, idTopc), idJump);
1473 if (c.quest !=
null)
1485 return GetText(c,
"rumor",
"bored");
1487 if (HasTopic(
"unique", c.
id))
1489 manager.enableTone =
false;
1490 return GetText(c,
"unique", c.
id);
1510 return GetText(c,
"rumor",
"hint");
1512 return GetText(c,
"rumor",
"default");
1517 string path = CorePath.CorePackage.TextDialog +
"dialog.xlsx";
1518 if (!File.Exists(path))
1523 excelData.path = path;
1525 return excelData.
sheets[idSheet].map.ContainsKey(idTopic);
1535 if (!manager.
enableTone && !(idSheet ==
"general"))
1537 return dialog.RandomItem();
1539 return c.
ApplyTone(dialog.RandomItem());
1544 return GetText(c,
"general", idTopic);
1550 string[] array = setup.
textData.Split(
new string[1] { Environment.NewLine + Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
1551 foreach (
string text
in array)
1553 if (!(text == Environment.NewLine))
1555 _Talk(
"", text.TrimStart(Environment.NewLine.ToCharArray()).TrimEnd(Environment.NewLine.ToCharArray()));
1564 e.sequence = sequence;
1576 public void Method(Action action, Func<bool> endFunc =
null,
string idJump =
null)
1582 if (!idJump.IsEmpty())
1603 public void _Talk(
string idActor,
string text,
string idJump =
null)
1613 public void _Talk(
string idActor, Func<string> funcText,
string idJump =
null)
1623 public void _TempTalk(
string idActor,
string text,
string idJump =
null)
1638 sequence.
Play(idJump);
1647 EnableCancel(idJump);
1655 dramaChoice.onJump = onJump;
1670 manager.lastTalk.canCancel =
true;
1671 manager.lastTalk.idCancelJump = idCancelJump;
1676 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)