Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Lang.cs
Go to the documentation of this file.
1using System;
2using System.Linq;
8using Terraria.ID;
10using Terraria.Map;
11using Terraria.UI;
13
14namespace Terraria;
15
16public class Lang
17{
18 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
19 public static LocalizedText[] menu = new LocalizedText[254];
20
21 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
22 public static LocalizedText[] gen = new LocalizedText[92];
23
24 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
25 public static LocalizedText[] misc = new LocalizedText[201];
26
27 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
28 public static LocalizedText[] inter = new LocalizedText[129];
29
30 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
31 public static LocalizedText[] tip = new LocalizedText[61];
32
33 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
34 public static LocalizedText[] mp = new LocalizedText[27];
35
36 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
37 public static LocalizedText[] chestType = new LocalizedText[52];
38
39 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
40 public static LocalizedText[] dresserType = new LocalizedText[43];
41
42 [Old("Lang arrays have been replaced with the new Language.GetText system.")]
43 public static LocalizedText[] chestType2 = new LocalizedText[17];
44
46
48
50
52
54
56
58
60
62
64
65 public static string GetMapObjectName(int id)
66 {
67 if (_mapLegendCache != null)
68 {
69 return _mapLegendCache[id].Value;
70 }
71 return string.Empty;
72 }
73
74 public static object CreateDialogSubstitutionObject(NPC npc = null)
75 {
76 return new
77 {
78 Nurse = NPC.GetFirstNPCNameOrNull(18),
79 Merchant = NPC.GetFirstNPCNameOrNull(17),
80 ArmsDealer = NPC.GetFirstNPCNameOrNull(19),
81 Dryad = NPC.GetFirstNPCNameOrNull(20),
82 Demolitionist = NPC.GetFirstNPCNameOrNull(38),
83 Clothier = NPC.GetFirstNPCNameOrNull(54),
84 Guide = NPC.GetFirstNPCNameOrNull(22),
85 Wizard = NPC.GetFirstNPCNameOrNull(108),
86 GoblinTinkerer = NPC.GetFirstNPCNameOrNull(107),
87 Mechanic = NPC.GetFirstNPCNameOrNull(124),
88 Truffle = NPC.GetFirstNPCNameOrNull(160),
89 Steampunker = NPC.GetFirstNPCNameOrNull(178),
90 DyeTrader = NPC.GetFirstNPCNameOrNull(207),
91 PartyGirl = NPC.GetFirstNPCNameOrNull(208),
92 Cyborg = NPC.GetFirstNPCNameOrNull(209),
93 Painter = NPC.GetFirstNPCNameOrNull(227),
94 WitchDoctor = NPC.GetFirstNPCNameOrNull(228),
95 Pirate = NPC.GetFirstNPCNameOrNull(229),
96 Stylist = NPC.GetFirstNPCNameOrNull(353),
97 TravelingMerchant = NPC.GetFirstNPCNameOrNull(368),
98 Angler = NPC.GetFirstNPCNameOrNull(369),
99 Bartender = NPC.GetFirstNPCNameOrNull(550),
100 WorldName = Main.worldName,
101 Day = Main.dayTime,
102 BloodMoon = Main.bloodMoon,
103 Eclipse = Main.eclipse,
104 MoonLordDefeated = NPC.downedMoonlord,
105 GolemDefeated = NPC.downedGolemBoss,
106 DukeFishronDefeated = NPC.downedFishron,
107 FrostLegionDefeated = NPC.downedFrost,
108 MartiansDefeated = NPC.downedMartians,
109 PumpkingDefeated = NPC.downedHalloweenKing,
110 IceQueenDefeated = NPC.downedChristmasIceQueen,
111 HardMode = Main.hardMode,
112 Homeless = (npc?.homeless ?? false),
113 InventoryKey = Main.cInv,
114 PlayerName = Main.player[Main.myPlayer].name,
115 GolfGuy = NPC.GetFirstNPCNameOrNull(588),
116 TaxCollector = NPC.GetFirstNPCNameOrNull(441),
117 Rain = Main.raining,
118 Graveyard = Main.LocalPlayer.ZoneGraveyard,
119 AnglerCompletedQuestsCount = Main.LocalPlayer.anglerQuestsFinished,
120 TotalDeathsCount = Main.LocalPlayer.numberOfDeathsPVE,
121 WorldEvilStone = (WorldGen.crimson ? Language.GetTextValue("Misc.Crimstone") : Language.GetTextValue("Misc.Ebonstone")),
122 InputTriggerUI_BuildFromInventory = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: false, "QuickMount"),
123 InputTriggerUI_SellItem = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: false, "SmartSelect"),
124 InputTriggerUI_Trash = PlayerInput.GenerateInputTag_ForCurrentGamemode_WithHacks(tagForGameplay: false, "SmartSelect"),
125 InputTriggerUI_FavoriteItem = PlayerInput.GenerateInputTag_ForCurrentGamemode_WithHacks(tagForGameplay: false, "SmartCursor"),
126 InputTrigger_QuickEquip = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: false, "Grapple"),
127 InputTrigger_LockOn = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: true, "LockOn"),
128 InputTrigger_RadialQuickbar = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: true, "HotbarMinus"),
129 InputTrigger_RadialHotbar = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: true, "HotbarPlus"),
130 InputTrigger_SmartCursor = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: true, "SmartCursor"),
131 InputTrigger_UseOrAttack = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: true, "MouseLeft"),
132 InputTrigger_InteractWithTile = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: true, "MouseRight"),
133 InputTrigger_SmartSelect = PlayerInput.GenerateInputTag_ForCurrentGamemode(tagForGameplay: true, "SmartSelect")
134 };
135 }
136
137 [Old("dialog is deprecated. Please use Language.GetText instead.")]
138 public static string dialog(int l, bool english = false)
139 {
140 return Language.GetTextValueWith("LegacyDialog." + l, CreateDialogSubstitutionObject());
141 }
142
143 public static string GetNPCNameValue(int netID)
144 {
145 return GetNPCName(netID).Value;
146 }
147
148 public static LocalizedText GetNPCName(int netID)
149 {
150 if (netID > 0 && netID < NPCID.Count)
151 {
152 return _npcNameCache[netID];
153 }
154 if (netID < 0 && -netID - 1 < _negativeNpcNameCache.Length)
155 {
156 return _negativeNpcNameCache[-netID - 1];
157 }
158 return LocalizedText.Empty;
159 }
160
161 public static ItemTooltip GetTooltip(int itemId)
162 {
163 return _itemTooltipCache[itemId];
164 }
165
166 public static LocalizedText GetItemName(int id)
167 {
168 id = ItemID.FromNetId((short)id);
169 if (id > 0 && id < ItemID.Count && _itemNameCache[id] != null)
170 {
171 return _itemNameCache[id];
172 }
173 return LocalizedText.Empty;
174 }
175
176 public static LocalizedText GetEmojiName(int id)
177 {
178 if (id >= 0 && id < EmoteID.Count && _emojiNameCache[id] != null)
179 {
180 return _emojiNameCache[id];
181 }
182 return LocalizedText.Empty;
183 }
184
185 public static string GetItemNameValue(int id)
186 {
187 return GetItemName(id).Value;
188 }
189
190 public static string GetBuffName(int id)
191 {
192 return _buffNameCache[id].Value;
193 }
194
195 public static string GetBuffDescription(int id)
196 {
197 return _buffDescriptionCache[id].Value;
198 }
199
200 public static string GetDryadWorldStatusDialog(out bool worldIsEntirelyPure)
201 {
202 string text = "";
203 worldIsEntirelyPure = false;
204 int tGood = WorldGen.tGood;
205 int tEvil = WorldGen.tEvil;
206 int tBlood = WorldGen.tBlood;
207 if (tGood > 0 && tEvil > 0 && tBlood > 0)
208 {
209 text = Language.GetTextValue("DryadSpecialText.WorldStatusAll", Main.worldName, tGood, tEvil, tBlood);
210 }
211 else if (tGood > 0 && tEvil > 0)
212 {
213 text = Language.GetTextValue("DryadSpecialText.WorldStatusHallowCorrupt", Main.worldName, tGood, tEvil);
214 }
215 else if (tGood > 0 && tBlood > 0)
216 {
217 text = Language.GetTextValue("DryadSpecialText.WorldStatusHallowCrimson", Main.worldName, tGood, tBlood);
218 }
219 else if (tEvil > 0 && tBlood > 0)
220 {
221 text = Language.GetTextValue("DryadSpecialText.WorldStatusCorruptCrimson", Main.worldName, tEvil, tBlood);
222 }
223 else if (tEvil > 0)
224 {
225 text = Language.GetTextValue("DryadSpecialText.WorldStatusCorrupt", Main.worldName, tEvil);
226 }
227 else if (tBlood > 0)
228 {
229 text = Language.GetTextValue("DryadSpecialText.WorldStatusCrimson", Main.worldName, tBlood);
230 }
231 else
232 {
233 if (tGood <= 0)
234 {
235 text = Language.GetTextValue("DryadSpecialText.WorldStatusPure", Main.worldName);
236 worldIsEntirelyPure = true;
237 return text;
238 }
239 text = Language.GetTextValue("DryadSpecialText.WorldStatusHallow", Main.worldName, tGood);
240 }
241 string arg = (((double)tGood * 1.2 >= (double)(tEvil + tBlood) && (double)tGood * 0.8 <= (double)(tEvil + tBlood)) ? Language.GetTextValue("DryadSpecialText.WorldDescriptionBalanced") : ((tGood >= tEvil + tBlood) ? Language.GetTextValue("DryadSpecialText.WorldDescriptionFairyTale") : ((tEvil + tBlood > tGood + 20) ? Language.GetTextValue("DryadSpecialText.WorldDescriptionGrim") : ((tEvil + tBlood <= 5) ? Language.GetTextValue("DryadSpecialText.WorldDescriptionClose") : Language.GetTextValue("DryadSpecialText.WorldDescriptionWork")))));
242 return $"{text} {arg}";
243 }
244
245 public static string GetRandomGameTitle()
246 {
247 return Language.RandomFromCategory("GameTitle").Value;
248 }
249
250 public static string DyeTraderQuestChat(bool gotDye = false)
251 {
253 LocalizedText[] array = Language.FindAll(CreateDialogFilter(gotDye ? "DyeTraderSpecialText.HasPlant" : "DyeTraderSpecialText.NoPlant", obj));
254 return array[Main.rand.Next(array.Length)].FormatWith(obj);
255 }
256
257 public static string AnglerQuestCountChat(NPC npc)
258 {
260 return Language.SelectRandom(CreateDialogFilter("AnglerQuestChatter.", obj)).FormatWith(obj);
261 }
262
263 public static string BartenderHelpText(NPC npc)
264 {
266 Player player = Main.player[Main.myPlayer];
267 if (player.bartenderQuestLog == 0)
268 {
269 player.bartenderQuestLog++;
270 Item item = new Item();
271 item.SetDefaults(3817);
272 item.stack = 10;
273 item.position = player.Center;
275 if (item.stack > 0)
276 {
277 int number = Item.NewItem(new EntitySource_Gift(npc), (int)player.position.X, (int)player.position.Y, player.width, player.height, item.type, item.stack, noBroadcast: false, 0, noGrabDelay: true);
278 if (Main.netMode == 1)
279 {
280 NetMessage.SendData(21, -1, -1, null, number, 1f);
281 }
282 }
283 return Language.GetTextValueWith("BartenderSpecialText.FirstHelp", obj);
284 }
285 LocalizedText[] array = Language.FindAll(CreateDialogFilter("BartenderHelpText.", obj));
286 if (Main.BartenderHelpTextIndex >= array.Length)
287 {
288 Main.BartenderHelpTextIndex = 0;
289 }
290 return array[Main.BartenderHelpTextIndex++].FormatWith(obj);
291 }
292
293 public static string BartenderChat(NPC npc)
294 {
296 if (Main.rand.Next(5) == 0)
297 {
298 string key = (DD2Event.DownedInvasionT3 ? "BartenderSpecialText.AfterDD2Tier3" : (DD2Event.DownedInvasionT2 ? "BartenderSpecialText.AfterDD2Tier2" : ((!DD2Event.DownedInvasionT1) ? "BartenderSpecialText.BeforeDD2Tier1" : "BartenderSpecialText.AfterDD2Tier1")));
300 }
301 return Language.SelectRandom(CreateDialogFilter("BartenderChatter.", obj)).FormatWith(obj);
302 }
303
304 public static string GolferChat(NPC npc)
305 {
307 return Language.SelectRandom(CreateDialogFilter("GolferChatter.", obj)).FormatWith(obj);
308 }
309
310 public static string BestiaryGirlChat(NPC npc)
311 {
313 string startsWith = "BestiaryGirlChatter.";
315 {
316 startsWith = "BestiaryGirlLycantropeChatter.";
317 }
318 return Language.SelectRandom(CreateDialogFilter(startsWith, obj)).FormatWith(obj);
319 }
320
321 public static string PrincessChat(NPC npc)
322 {
324 return Language.SelectRandom(CreateDialogFilter("PrincessChatter.", obj)).FormatWith(obj);
325 }
326
327 public static string CatChat(NPC npc)
328 {
330 return Language.SelectRandom(CreateDialogFilter("CatChatter.", obj)).FormatWith(obj);
331 }
332
333 public static string DogChat(NPC npc)
334 {
336 return Language.SelectRandom(CreateDialogFilter("DogChatter.", obj)).FormatWith(obj);
337 }
338
339 public static string BunnyChat(NPC npc)
340 {
342 return Language.SelectRandom(CreateDialogFilter("BunnyChatter.", obj)).FormatWith(obj);
343 }
344
345 public static string SlimeChat(NPC npc)
346 {
348 string text = "Blue";
349 switch (npc.type)
350 {
351 case 670:
352 text = "Blue";
353 break;
354 case 678:
355 text = "Green";
356 break;
357 case 679:
358 text = "Old";
359 break;
360 case 681:
361 text = "Rainbow";
362 break;
363 case 680:
364 text = "Purple";
365 break;
366 case 682:
367 text = "Red";
368 break;
369 case 683:
370 text = "Yellow";
371 break;
372 case 684:
373 text = "Copper";
374 break;
375 }
376 return Language.SelectRandom(CreateDialogFilter("Slime" + text + "Chatter.", obj)).FormatWith(obj);
377 }
378
379 public static string GetNPCHouseBannerText(NPC npc, int bannerStyle)
380 {
381 if (bannerStyle == 1)
382 {
383 return Language.GetTextValue("Game.ReservedForNPC", npc.FullName);
384 }
385 return npc.FullName;
386 }
387
388 public static LanguageSearchFilter CreateDialogFilter(string startsWith, object substitutions)
389 {
390 return (string key, LocalizedText text) => key.StartsWith(startsWith) && text.CanFormatWith(substitutions);
391 }
392
393 public static LanguageSearchFilter CreateDialogFilter(string startsWith)
394 {
395 return (string key, LocalizedText text) => key.StartsWith(startsWith);
396 }
397
398 public static string AnglerQuestChat(bool turnIn = false)
399 {
401 if (turnIn)
402 {
403 return Language.SelectRandom(CreateDialogFilter("AnglerQuestText.TurnIn_", obj)).FormatWith(obj);
404 }
406 {
407 return Language.SelectRandom(CreateDialogFilter("AnglerQuestText.NoQuest_", obj)).FormatWith(obj);
408 }
409 int num = (Main.npcChatCornerItem = Main.anglerQuestItemNetIDs[Main.anglerQuest]);
410 return Language.GetTextValueWith("AnglerQuestText.Quest_" + ItemID.Search.GetName(num), obj);
411 }
412
414 {
415 if (type >= 0 && type < _projectileNameCache.Length && _projectileNameCache[type] != null)
416 {
418 }
419 return LocalizedText.Empty;
420 }
421
422 private static void FillNameCacheArray<IdClass, IdType>(string category, LocalizedText[] nameCache, bool leaveMissingEntriesBlank = false) where IdType : IConvertible
423 {
424 for (int i = 0; i < nameCache.Length; i++)
425 {
426 nameCache[i] = LocalizedText.Empty;
427 }
428 (from f in typeof(IdClass).GetFields(BindingFlags.Static | BindingFlags.Public)
429 where f.FieldType == typeof(IdType)
430 select f).ToList().ForEach(delegate(FieldInfo field)
431 {
432 long num = Convert.ToInt64((IdType)field.GetValue(null));
433 if (num >= 0 && num < nameCache.Length)
434 {
435 nameCache[num] = ((!leaveMissingEntriesBlank || Language.Exists(category + "." + field.Name)) ? Language.GetText(category + "." + field.Name) : LocalizedText.Empty);
436 }
437 else if (field.Name == "None")
438 {
439 nameCache[num] = LocalizedText.Empty;
440 }
441 });
442 }
443
444 public static void InitializeLegacyLocalization()
445 {
446 FillNameCacheArray<PrefixID, int>("Prefix", prefix);
447 for (int i = 0; i < gen.Length; i++)
448 {
449 gen[i] = Language.GetText("LegacyWorldGen." + i);
450 }
451 for (int j = 0; j < menu.Length; j++)
452 {
453 menu[j] = Language.GetText("LegacyMenu." + j);
454 }
455 for (int k = 0; k < inter.Length; k++)
456 {
457 inter[k] = Language.GetText("LegacyInterface." + k);
458 }
459 for (int l = 0; l < misc.Length; l++)
460 {
461 misc[l] = Language.GetText("LegacyMisc." + l);
462 }
463 for (int m = 0; m < mp.Length; m++)
464 {
465 mp[m] = Language.GetText("LegacyMultiplayer." + m);
466 }
467 for (int n = 0; n < tip.Length; n++)
468 {
469 tip[n] = Language.GetText("LegacyTooltip." + n);
470 }
471 for (int num = 0; num < chestType.Length; num++)
472 {
473 chestType[num] = Language.GetText("LegacyChestType." + num);
474 }
475 for (int num2 = 0; num2 < chestType2.Length; num2++)
476 {
477 chestType2[num2] = Language.GetText("LegacyChestType2." + num2);
478 }
479 for (int num3 = 0; num3 < dresserType.Length; num3++)
480 {
481 dresserType[num3] = Language.GetText("LegacyDresserType." + num3);
482 }
483 FillNameCacheArray<ItemID, short>("ItemName", _itemNameCache);
484 FillNameCacheArray<ProjectileID, short>("ProjectileName", _projectileNameCache);
485 FillNameCacheArray<NPCID, short>("NPCName", _npcNameCache);
486 FillNameCacheArray<BuffID, int>("BuffName", _buffNameCache);
487 FillNameCacheArray<BuffID, int>("BuffDescription", _buffDescriptionCache);
488 FillNameCacheArray<EmoteID, int>("EmojiName", _emojiNameCache, leaveMissingEntriesBlank: true);
489 for (int num4 = -65; num4 < 0; num4++)
490 {
492 }
493 _negativeNpcNameCache[0] = Language.GetText("NPCName.Slimeling");
494 _negativeNpcNameCache[1] = Language.GetText("NPCName.Slimer2");
495 _negativeNpcNameCache[2] = Language.GetText("NPCName.GreenSlime");
496 _negativeNpcNameCache[3] = Language.GetText("NPCName.Pinky");
497 _negativeNpcNameCache[4] = Language.GetText("NPCName.BabySlime");
498 _negativeNpcNameCache[5] = Language.GetText("NPCName.BlackSlime");
499 _negativeNpcNameCache[6] = Language.GetText("NPCName.PurpleSlime");
500 _negativeNpcNameCache[7] = Language.GetText("NPCName.RedSlime");
501 _negativeNpcNameCache[8] = Language.GetText("NPCName.YellowSlime");
502 _negativeNpcNameCache[9] = Language.GetText("NPCName.JungleSlime");
503 _negativeNpcNameCache[53] = Language.GetText("NPCName.SmallRainZombie");
504 _negativeNpcNameCache[54] = Language.GetText("NPCName.BigRainZombie");
506 for (int num5 = 0; num5 < _itemTooltipCache.Length; num5++)
507 {
509 }
510 (from f in typeof(ItemID).GetFields(BindingFlags.Static | BindingFlags.Public)
511 where f.FieldType == typeof(short)
512 select f).ToList().ForEach(delegate(FieldInfo field)
513 {
514 short num6 = (short)field.GetValue(null);
515 if (num6 > 0 && num6 < _itemTooltipCache.Length)
516 {
517 _itemTooltipCache[num6] = ItemTooltip.FromLanguageKey("ItemTooltip." + field.Name);
518 }
519 });
520 }
521
522 public static string SupportGlyphs(string tooltip)
523 {
524 if (tooltip.Contains("<right>"))
525 {
526 InputMode inputMode = InputMode.XBoxGamepad;
528 {
529 inputMode = InputMode.XBoxGamepadUI;
530 }
531 if (inputMode == InputMode.XBoxGamepadUI)
532 {
533 KeyConfiguration keyConfiguration = PlayerInput.CurrentProfile.InputModes[inputMode];
534 string text = PlayerInput.BuildCommand("", true, keyConfiguration.KeyStatus["MouseRight"]);
535 text = text.Replace(": ", "");
536 tooltip = tooltip.Replace("<right>", text);
537 }
538 else
539 {
540 tooltip = tooltip.Replace("<right>", Language.GetTextValue("Controls.RightClick"));
541 }
542 }
543 if (tooltip.Contains("<left>"))
544 {
545 InputMode inputMode2 = InputMode.XBoxGamepad;
547 {
548 inputMode2 = InputMode.XBoxGamepadUI;
549 }
550 if (inputMode2 == InputMode.XBoxGamepadUI)
551 {
552 KeyConfiguration keyConfiguration2 = PlayerInput.CurrentProfile.InputModes[inputMode2];
553 string text2 = PlayerInput.BuildCommand("", true, keyConfiguration2.KeyStatus["MouseLeft"]);
554 text2 = text2.Replace(": ", "");
555 tooltip = tooltip.Replace("<left>", text2);
556 }
557 else
558 {
559 tooltip = tooltip.Replace("<left>", Language.GetTextValue("Controls.LeftClick"));
560 }
561 }
562 return tooltip;
563 }
564
565 public static void BuildMapAtlas()
566 {
567 if (Main.dedServ)
568 {
569 return;
570 }
572 for (int i = 0; i < _mapLegendCache.Length; i++)
573 {
575 }
576 for (int j = 0; j < TileID.Sets.IsATreeTrunk.Length; j++)
577 {
578 if (TileID.Sets.IsATreeTrunk[j])
579 {
580 _mapLegendCache[MapHelper.TileToLookup(j, 0)] = Language.GetText("MapObject.Tree");
581 }
582 }
585 _mapLegendCache[MapHelper.TileToLookup(6, 0)] = Language.GetText("MapObject.Iron");
586 _mapLegendCache[MapHelper.TileToLookup(7, 0)] = Language.GetText("MapObject.Copper");
587 _mapLegendCache[MapHelper.TileToLookup(8, 0)] = Language.GetText("MapObject.Gold");
588 _mapLegendCache[MapHelper.TileToLookup(9, 0)] = Language.GetText("MapObject.Silver");
589 _mapLegendCache[MapHelper.TileToLookup(10, 0)] = Language.GetText("MapObject.Door");
590 _mapLegendCache[MapHelper.TileToLookup(11, 0)] = Language.GetText("MapObject.Door");
597 _mapLegendCache[MapHelper.TileToLookup(14, 0)] = Language.GetText("MapObject.Table");
598 _mapLegendCache[MapHelper.TileToLookup(469, 0)] = Language.GetText("MapObject.Table");
604 _mapLegendCache[MapHelper.TileToLookup(15, 0)] = Language.GetText("MapObject.Chair");
605 _mapLegendCache[MapHelper.TileToLookup(15, 1)] = Language.GetText("MapObject.Toilet");
606 _mapLegendCache[MapHelper.TileToLookup(16, 0)] = Language.GetText("MapObject.Anvil");
609 _mapLegendCache[MapHelper.TileToLookup(20, 0)] = Language.GetText("MapObject.Sapling");
610 _mapLegendCache[MapHelper.TileToLookup(590, 0)] = Language.GetText("MapObject.Sapling");
611 _mapLegendCache[MapHelper.TileToLookup(595, 0)] = Language.GetText("MapObject.Sapling");
612 _mapLegendCache[MapHelper.TileToLookup(615, 0)] = Language.GetText("MapObject.Sapling");
615 _mapLegendCache[MapHelper.TileToLookup(22, 0)] = Language.GetText("MapObject.Demonite");
616 _mapLegendCache[MapHelper.TileToLookup(26, 0)] = Language.GetText("MapObject.DemonAltar");
617 _mapLegendCache[MapHelper.TileToLookup(26, 1)] = Language.GetText("MapObject.CrimsonAltar");
619 _mapLegendCache[MapHelper.TileToLookup(407, 0)] = Language.GetText("MapObject.Fossil");
623 _mapLegendCache[MapHelper.TileToLookup(404, 0)] = Language.GetText("MapObject.DesertFossil");
625 for (int k = 0; k < 9; k++)
626 {
627 _mapLegendCache[MapHelper.TileToLookup(28, k)] = Language.GetText("MapObject.Pot");
628 _mapLegendCache[MapHelper.TileToLookup(653, k)] = Language.GetText("MapObject.Pot");
629 }
634 _mapLegendCache[MapHelper.TileToLookup(32, 0)] = Language.GetText("MapObject.Thorns");
636 _mapLegendCache[MapHelper.TileToLookup(34, 0)] = Language.GetText("MapObject.Chandelier");
640 _mapLegendCache[MapHelper.TileToLookup(42, 0)] = Language.GetText("MapObject.Lantern");
644 _mapLegendCache[MapHelper.TileToLookup(51, 0)] = Language.GetText("MapObject.Web");
661 _mapLegendCache[MapHelper.TileToLookup(69, 0)] = Language.GetText("MapObject.Thorn");
662 _mapLegendCache[MapHelper.TileToLookup(72, 0)] = Language.GetText("MapObject.GiantMushroom");
697 _mapLegendCache[MapHelper.TileToLookup(91, 0)] = Language.GetText("MapObject.Banner");
699 _mapLegendCache[MapHelper.TileToLookup(93, 0)] = Language.GetText("MapObject.FloorLamp");
710 _mapLegendCache[MapHelper.TileToLookup(105, 0)] = Language.GetText("MapObject.Statue");
711 _mapLegendCache[MapHelper.TileToLookup(105, 2)] = Language.GetText("MapObject.Vase");
713 _mapLegendCache[MapHelper.TileToLookup(107, 0)] = Language.GetText("MapObject.Cobalt");
714 _mapLegendCache[MapHelper.TileToLookup(108, 0)] = Language.GetText("MapObject.Mythril");
715 _mapLegendCache[MapHelper.TileToLookup(111, 0)] = Language.GetText("MapObject.Adamantite");
728 _mapLegendCache[MapHelper.TileToLookup(137, 0)] = Language.GetText("MapObject.Trap");
733 _mapLegendCache[MapHelper.TileToLookup(144, 0)] = Language.GetText("MapObject.Timer");
734 _mapLegendCache[MapHelper.TileToLookup(149, 0)] = Language.GetText("MapObject.ChristmasLight");
735 _mapLegendCache[MapHelper.TileToLookup(166, 0)] = Language.GetText("MapObject.Tin");
736 _mapLegendCache[MapHelper.TileToLookup(167, 0)] = Language.GetText("MapObject.Lead");
737 _mapLegendCache[MapHelper.TileToLookup(168, 0)] = Language.GetText("MapObject.Tungsten");
738 _mapLegendCache[MapHelper.TileToLookup(169, 0)] = Language.GetText("MapObject.Platinum");
739 _mapLegendCache[MapHelper.TileToLookup(170, 0)] = Language.GetText("MapObject.PineTree");
741 _mapLegendCache[MapHelper.TileToLookup(172, 0)] = Language.GetText("MapObject.Sink");
751 _mapLegendCache[MapHelper.TileToLookup(191, 0)] = Language.GetText("MapObject.LivingWood");
752 _mapLegendCache[MapHelper.TileToLookup(204, 0)] = Language.GetText("MapObject.Crimtane");
753 _mapLegendCache[MapHelper.TileToLookup(207, 0)] = Language.GetText("MapObject.WaterFountain");
755 _mapLegendCache[MapHelper.TileToLookup(211, 0)] = Language.GetText("MapObject.Chlorophyte");
756 _mapLegendCache[MapHelper.TileToLookup(212, 0)] = Language.GetText("MapObject.Turret");
760 _mapLegendCache[MapHelper.TileToLookup(216, 0)] = Language.GetText("MapObject.Rocket");
763 _mapLegendCache[MapHelper.TileToLookup(219, 0)] = Language.GetText("MapObject.SiltExtractinator");
764 _mapLegendCache[MapHelper.TileToLookup(642, 0)] = Language.GetText("MapObject.ChlorophyteExtractinator");
766 _mapLegendCache[MapHelper.TileToLookup(221, 0)] = Language.GetText("MapObject.Palladium");
767 _mapLegendCache[MapHelper.TileToLookup(222, 0)] = Language.GetText("MapObject.Orichalcum");
768 _mapLegendCache[MapHelper.TileToLookup(223, 0)] = Language.GetText("MapObject.Titanium");
782 _mapLegendCache[MapHelper.TileToLookup(231, 0)] = Language.GetText("MapObject.Larva");
789 _mapLegendCache[MapHelper.TileToLookup(238, 0)] = Language.GetText("MapObject.PlanterasBulb");
790 _mapLegendCache[MapHelper.TileToLookup(239, 0)] = Language.GetText("MapObject.MetalBar");
791 _mapLegendCache[MapHelper.TileToLookup(240, 0)] = Language.GetText("MapObject.Trophy");
792 _mapLegendCache[MapHelper.TileToLookup(240, 1)] = Language.GetText("MapObject.Painting");
794 _mapLegendCache[MapHelper.TileToLookup(240, 3)] = Language.GetText("MapObject.ItemRack");
797 _mapLegendCache[MapHelper.TileToLookup(242, 0)] = Language.GetText("MapObject.Painting");
798 _mapLegendCache[MapHelper.TileToLookup(242, 1)] = Language.GetText("MapObject.AnimalSkin");
801 _mapLegendCache[MapHelper.TileToLookup(245, 0)] = Language.GetText("MapObject.Picture");
802 _mapLegendCache[MapHelper.TileToLookup(246, 0)] = Language.GetText("MapObject.Picture");
816 _mapLegendCache[MapHelper.TileToLookup(617, 0)] = Language.GetText("MapObject.Relic");
876 _mapLegendCache[MapHelper.TileToLookup(323, 0)] = Language.GetText("MapObject.PalmTree");
902 _mapLegendCache[MapHelper.TileToLookup(373, 0)] = Language.GetText("MapObject.DrippingWater");
903 _mapLegendCache[MapHelper.TileToLookup(374, 0)] = Language.GetText("MapObject.DrippingLava");
904 _mapLegendCache[MapHelper.TileToLookup(375, 0)] = Language.GetText("MapObject.DrippingHoney");
905 _mapLegendCache[MapHelper.TileToLookup(461, 0)] = Language.GetText("MapObject.SandFlow");
906 _mapLegendCache[MapHelper.TileToLookup(461, 1)] = Language.GetText("MapObject.SandFlow");
907 _mapLegendCache[MapHelper.TileToLookup(461, 2)] = Language.GetText("MapObject.SandFlow");
908 _mapLegendCache[MapHelper.TileToLookup(461, 3)] = Language.GetText("MapObject.SandFlow");
936 _mapLegendCache[MapHelper.TileToLookup(444, 0)] = Language.GetText("MapObject.BeeHive");
942 _mapLegendCache[MapHelper.TileToLookup(488, 0)] = Language.GetText("MapObject.FallenLog");
951 _mapLegendCache[MapHelper.TileToLookup(531, 0)] = Language.GetText("MapObject.Statue");
952 _mapLegendCache[MapHelper.TileToLookup(349, 0)] = Language.GetText("MapObject.Statue");
994 _mapLegendCache[MapHelper.TileToLookup(497, 0)] = Language.GetText("MapObject.Toilet");
995 }
996
997 public static NetworkText CreateDeathMessage(string deadPlayerName, int plr = -1, int npc = -1, int proj = -1, int other = -1, int projType = 0, int plrItemType = 0)
998 {
999 NetworkText networkText = NetworkText.Empty;
1000 NetworkText networkText2 = NetworkText.Empty;
1001 NetworkText networkText3 = NetworkText.Empty;
1002 NetworkText networkText4 = NetworkText.Empty;
1003 if (proj >= 0)
1004 {
1005 networkText = NetworkText.FromKey(GetProjectileName(projType).Key);
1006 }
1007 if (npc >= 0)
1008 {
1009 networkText2 = Main.npc[npc].GetGivenOrTypeNetName();
1010 }
1011 if (plr >= 0 && plr < 255)
1012 {
1013 networkText3 = NetworkText.FromLiteral(Main.player[plr].name);
1014 }
1015 if (plrItemType >= 0)
1016 {
1017 networkText4 = NetworkText.FromKey(GetItemName(plrItemType).Key);
1018 }
1019 bool flag = networkText != NetworkText.Empty;
1020 bool flag2 = plr >= 0 && plr < 255;
1021 bool flag3 = networkText2 != NetworkText.Empty;
1022 NetworkText result = NetworkText.Empty;
1024 empty = NetworkText.FromKey(Language.RandomFromCategory("DeathTextGeneric").Key, deadPlayerName, Main.worldName);
1025 if (flag2)
1026 {
1027 result = NetworkText.FromKey("DeathSource.Player", empty, networkText3, flag ? networkText : networkText4);
1028 }
1029 else if (flag3)
1030 {
1031 result = NetworkText.FromKey("DeathSource.NPC", empty, networkText2);
1032 }
1033 else if (flag)
1034 {
1035 result = NetworkText.FromKey("DeathSource.Projectile", empty, networkText);
1036 }
1037 else
1038 {
1039 switch (other)
1040 {
1041 case 0:
1042 result = NetworkText.FromKey("DeathText.Fell_" + (Main.rand.Next(9) + 1), deadPlayerName);
1043 break;
1044 case 1:
1045 result = NetworkText.FromKey("DeathText.Drowned_" + (Main.rand.Next(7) + 1), deadPlayerName);
1046 break;
1047 case 2:
1048 result = NetworkText.FromKey("DeathText.Lava_" + (Main.rand.Next(5) + 1), deadPlayerName);
1049 break;
1050 case 3:
1051 result = NetworkText.FromKey("DeathText.Default", empty);
1052 break;
1053 case 4:
1054 result = NetworkText.FromKey("DeathText.Slain", deadPlayerName);
1055 break;
1056 case 5:
1057 result = NetworkText.FromKey("DeathText.Petrified_" + (Main.rand.Next(4) + 1), deadPlayerName);
1058 break;
1059 case 6:
1060 result = NetworkText.FromKey("DeathText.Stabbed", deadPlayerName);
1061 break;
1062 case 7:
1063 result = NetworkText.FromKey("DeathText.Suffocated_" + (Main.rand.Next(2) + 1), deadPlayerName);
1064 break;
1065 case 8:
1066 result = NetworkText.FromKey("DeathText.Burned_" + (Main.rand.Next(4) + 1), deadPlayerName);
1067 break;
1068 case 9:
1069 result = NetworkText.FromKey("DeathText.Poisoned", deadPlayerName);
1070 break;
1071 case 10:
1072 result = NetworkText.FromKey("DeathText.Electrocuted_" + (Main.rand.Next(4) + 1), deadPlayerName);
1073 break;
1074 case 11:
1075 result = NetworkText.FromKey("DeathText.TriedToEscape", deadPlayerName);
1076 break;
1077 case 12:
1078 result = NetworkText.FromKey("DeathText.WasLicked_" + (Main.rand.Next(2) + 1), deadPlayerName);
1079 break;
1080 case 13:
1081 result = NetworkText.FromKey("DeathText.Teleport_1", deadPlayerName);
1082 break;
1083 case 14:
1084 result = NetworkText.FromKey("DeathText.Teleport_2_Male", deadPlayerName);
1085 break;
1086 case 15:
1087 result = NetworkText.FromKey("DeathText.Teleport_2_Female", deadPlayerName);
1088 break;
1089 case 16:
1090 result = NetworkText.FromKey("DeathText.Inferno", deadPlayerName);
1091 break;
1092 case 17:
1093 result = NetworkText.FromKey("DeathText.DiedInTheDark", deadPlayerName);
1094 break;
1095 case 18:
1096 result = NetworkText.FromKey("DeathText.Starved_" + (Main.rand.Next(3) + 1), deadPlayerName);
1097 break;
1098 case 19:
1099 result = NetworkText.FromKey("DeathText.Space_" + (Main.rand.Next(5) + 1), deadPlayerName, Main.worldName);
1100 break;
1101 case 254:
1102 result = NetworkText.Empty;
1103 break;
1104 case 255:
1105 result = NetworkText.FromKey("DeathText.Slain", deadPlayerName);
1106 break;
1107 }
1108 }
1109 return result;
1110 }
1111
1112 public static NetworkText GetInvasionWaveText(int wave, params short[] npcIds)
1113 {
1114 NetworkText[] array = new NetworkText[npcIds.Length + 1];
1115 for (int i = 0; i < npcIds.Length; i++)
1116 {
1117 array[i + 1] = NetworkText.FromKey(GetNPCName(npcIds[i]).Key);
1118 }
1119 switch (wave)
1120 {
1121 case -1:
1122 array[0] = NetworkText.FromKey("Game.FinalWave");
1123 break;
1124 case 1:
1125 array[0] = NetworkText.FromKey("Game.FirstWave");
1126 break;
1127 default:
1128 array[0] = NetworkText.FromKey("Game.Wave", wave);
1129 break;
1130 }
1131 string key = "Game.InvasionWave_Type" + npcIds.Length;
1132 object[] substitutions = array;
1133 return NetworkText.FromKey(key, substitutions);
1134 }
1135
1136 public static string LocalizedDuration(TimeSpan time, bool abbreviated, bool showAllAvailableUnits)
1137 {
1138 string text = "";
1139 abbreviated |= !GameCulture.FromCultureName(GameCulture.CultureName.English).IsActive;
1140 if (time.Days > 0)
1141 {
1142 int num = time.Days;
1143 if (!showAllAvailableUnits && time > TimeSpan.FromDays(1.0))
1144 {
1145 num++;
1146 }
1147 text = text + num + (abbreviated ? (" " + Language.GetTextValue("Misc.ShortDays")) : ((num == 1) ? " day" : " days"));
1148 if (!showAllAvailableUnits)
1149 {
1150 return text;
1151 }
1152 text += " ";
1153 }
1154 if (time.Hours > 0)
1155 {
1156 int num2 = time.Hours;
1157 if (!showAllAvailableUnits && time > TimeSpan.FromHours(1.0))
1158 {
1159 num2++;
1160 }
1161 text = text + num2 + (abbreviated ? (" " + Language.GetTextValue("Misc.ShortHours")) : ((num2 == 1) ? " hour" : " hours"));
1162 if (!showAllAvailableUnits)
1163 {
1164 return text;
1165 }
1166 text += " ";
1167 }
1168 if (time.Minutes > 0)
1169 {
1170 int num3 = time.Minutes;
1171 if (!showAllAvailableUnits && time > TimeSpan.FromMinutes(1.0))
1172 {
1173 num3++;
1174 }
1175 text = text + num3 + (abbreviated ? (" " + Language.GetTextValue("Misc.ShortMinutes")) : ((num3 == 1) ? " minute" : " minutes"));
1176 if (!showAllAvailableUnits)
1177 {
1178 return text;
1179 }
1180 text += " ";
1181 }
1182 return text + time.Seconds + (abbreviated ? (" " + Language.GetTextValue("Misc.ShortSeconds")) : ((time.Seconds == 1) ? " second" : " seconds"));
1183 }
1184}
static long ToInt64(object? value)
Definition Convert.cs:1623
object? GetValue(object? obj)
Vector2 Center
Definition Entity.cs:43
Vector2 position
Definition Entity.cs:14
static readonly int Count
Definition EmoteID.cs:9
Dictionary< string, List< string > > KeyStatus
static string GenerateInputTag_ForCurrentGamemode(bool tagForGameplay, string triggerName)
static string GenerateInputTag_ForCurrentGamemode_WithHacks(bool tagForGameplay, string triggerName)
static string BuildCommand(string CommandText, bool Last, params List< string >[] Bindings)
static PlayerInputProfile CurrentProfile
static readonly int Count
Definition BuffID.cs:1069
static readonly short Count
Definition ItemID.cs:12138
static short FromNetId(short id)
Definition ItemID.cs:12800
static readonly IdDictionary Search
Definition ItemID.cs:12140
static int FromNetId(int id)
Definition NPCID.cs:11757
static readonly short Count
Definition NPCID.cs:11744
static readonly int Count
Definition PrefixID.cs:180
static readonly short Count
static bool[] IsATreeTrunk
Definition TileID.cs:91
static int NewItem(IEntitySource source, Vector2 pos, Vector2 randomBox, int Type, int Stack=1, bool noBroadcast=false, int prefixGiven=0, bool noGrabDelay=false, bool reverseLookup=false)
Definition Item.cs:49697
static object CreateDialogSubstitutionObject(NPC npc=null)
Definition Lang.cs:74
static string GetNPCHouseBannerText(NPC npc, int bannerStyle)
Definition Lang.cs:379
static LocalizedText[] inter
Definition Lang.cs:28
static LocalizedText[] gen
Definition Lang.cs:22
static LocalizedText GetItemName(int id)
Definition Lang.cs:166
static LocalizedText[] dresserType
Definition Lang.cs:40
static string GetNPCNameValue(int netID)
Definition Lang.cs:143
static string BunnyChat(NPC npc)
Definition Lang.cs:339
static LocalizedText[] menu
Definition Lang.cs:19
static LocalizedText[] _emojiNameCache
Definition Lang.cs:63
static string AnglerQuestCountChat(NPC npc)
Definition Lang.cs:257
static string GetMapObjectName(int id)
Definition Lang.cs:65
static string dialog(int l, bool english=false)
Definition Lang.cs:138
static LocalizedText[] chestType2
Definition Lang.cs:43
static string BestiaryGirlChat(NPC npc)
Definition Lang.cs:310
static NetworkText CreateDeathMessage(string deadPlayerName, int plr=-1, int npc=-1, int proj=-1, int other=-1, int projType=0, int plrItemType=0)
Definition Lang.cs:997
static string PrincessChat(NPC npc)
Definition Lang.cs:321
static string DyeTraderQuestChat(bool gotDye=false)
Definition Lang.cs:250
static void InitializeLegacyLocalization()
Definition Lang.cs:444
static string GolferChat(NPC npc)
Definition Lang.cs:304
static void FillNameCacheArray< IdClass, IdType >(string category, LocalizedText[] nameCache, bool leaveMissingEntriesBlank=false)
Definition Lang.cs:422
static LocalizedText GetProjectileName(int type)
Definition Lang.cs:413
static LocalizedText[] chestType
Definition Lang.cs:37
static LocalizedText[] misc
Definition Lang.cs:25
static string GetBuffName(int id)
Definition Lang.cs:190
static LocalizedText[] prefix
Definition Lang.cs:45
static LocalizedText[] _mapLegendCache
Definition Lang.cs:47
static LocalizedText[] mp
Definition Lang.cs:34
static string GetItemNameValue(int id)
Definition Lang.cs:185
static string AnglerQuestChat(bool turnIn=false)
Definition Lang.cs:398
static string GetRandomGameTitle()
Definition Lang.cs:245
static LocalizedText[] _itemNameCache
Definition Lang.cs:49
static LocalizedText[] _projectileNameCache
Definition Lang.cs:51
static string LocalizedDuration(TimeSpan time, bool abbreviated, bool showAllAvailableUnits)
Definition Lang.cs:1136
static string SlimeChat(NPC npc)
Definition Lang.cs:345
static string CatChat(NPC npc)
Definition Lang.cs:327
static string DogChat(NPC npc)
Definition Lang.cs:333
static ItemTooltip GetTooltip(int itemId)
Definition Lang.cs:161
static string BartenderHelpText(NPC npc)
Definition Lang.cs:263
static LocalizedText[] _negativeNpcNameCache
Definition Lang.cs:55
static string GetDryadWorldStatusDialog(out bool worldIsEntirelyPure)
Definition Lang.cs:200
static LocalizedText GetEmojiName(int id)
Definition Lang.cs:176
static string GetBuffDescription(int id)
Definition Lang.cs:195
static ItemTooltip[] _itemTooltipCache
Definition Lang.cs:61
static void BuildMapAtlas()
Definition Lang.cs:565
static LocalizedText[] tip
Definition Lang.cs:31
static string BartenderChat(NPC npc)
Definition Lang.cs:293
static LanguageSearchFilter CreateDialogFilter(string startsWith)
Definition Lang.cs:393
static LanguageSearchFilter CreateDialogFilter(string startsWith, object substitutions)
Definition Lang.cs:388
static LocalizedText[] _npcNameCache
Definition Lang.cs:53
static string SupportGlyphs(string tooltip)
Definition Lang.cs:522
static LocalizedText[] _buffDescriptionCache
Definition Lang.cs:59
static LocalizedText[] _buffNameCache
Definition Lang.cs:57
static LocalizedText GetNPCName(int netID)
Definition Lang.cs:148
static NetworkText GetInvasionWaveText(int wave, params short[] npcIds)
Definition Lang.cs:1112
static GameCulture FromCultureName(CultureName name)
static LocalizedText[] FindAll(Regex regex)
Definition Language.cs:55
static LocalizedText RandomFromCategory(string categoryName, UnifiedRandom random=null)
Definition Language.cs:70
static LocalizedText SelectRandom(LanguageSearchFilter filter, UnifiedRandom random=null)
Definition Language.cs:65
static LocalizedText GetText(string key)
Definition Language.cs:10
static bool Exists(string key)
Definition Language.cs:45
static string GetTextValue(string key)
Definition Language.cs:15
static string GetTextValueWith(string key, object obj)
Definition Language.cs:40
static readonly LocalizedText Empty
static readonly NetworkText Empty
static NetworkText FromLiteral(string text)
static NetworkText FromKey(string key, params object[] substitutions)
static bool raining
Definition Main.cs:1310
static bool anglerQuestFinished
Definition Main.cs:1847
static string cInv
Definition Main.cs:2135
static int myPlayer
Definition Main.cs:1801
static int netMode
Definition Main.cs:2095
static bool dayTime
Definition Main.cs:1282
static bool dedServ
Definition Main.cs:1226
static bool bloodMoon
Definition Main.cs:1296
static string worldName
Definition Main.cs:1260
static bool eclipse
Definition Main.cs:1312
static UnifiedRandom rand
Definition Main.cs:1387
static NPC[] npc
Definition Main.cs:1685
static int BartenderHelpTextIndex
Definition Main.cs:1320
static Player LocalPlayer
Definition Main.cs:2829
static bool hardMode
Definition Main.cs:1022
static Player[] player
Definition Main.cs:1803
static int[] anglerQuestItemNetIDs
Definition Main.cs:1851
static int anglerQuest
Definition Main.cs:1849
static int TileToLookup(int tileType, int option)
static int LookupCount()
string FullName
Definition NPC.cs:735
static bool downedFrost
Definition NPC.cs:357
bool ShouldBestiaryGirlBeLycantrope()
Definition NPC.cs:90417
static bool downedFishron
Definition NPC.cs:369
static bool downedHalloweenKing
Definition NPC.cs:373
static bool downedMoonlord
Definition NPC.cs:383
static string GetFirstNPCNameOrNull(int npcType)
Definition NPC.cs:1549
int type
Definition NPC.cs:445
static bool downedGolemBoss
Definition NPC.cs:365
static bool downedMartians
Definition NPC.cs:367
static bool downedChristmasIceQueen
Definition NPC.cs:375
static void SendData(int msgType, int remoteClient=-1, int ignoreClient=-1, NetworkText text=null, int number=0, float number2=0f, float number3=0f, float number4=0f, int number5=0, int number6=0, int number7=0)
Definition NetMessage.cs:88
Item GetItem(int plr, Item newItem, GetItemSettings settings)
Definition Player.cs:37130
int bartenderQuestLog
Definition Player.cs:1547
static void AddGlobalProcessor(TooltipProcessor processor)
static readonly ItemTooltip None
Definition ItemTooltip.cs:8
static ItemTooltip FromLanguageKey(string key)
static byte tBlood
Definition WorldGen.cs:954
static byte tEvil
Definition WorldGen.cs:952
static byte tGood
Definition WorldGen.cs:956
delegate bool LanguageSearchFilter(string key, LocalizedText text)
static TimeSpan FromDays(double value)
Definition TimeSpan.cs:162
static TimeSpan FromHours(double value)
Definition TimeSpan.cs:200
static TimeSpan FromMinutes(double value)
Definition TimeSpan.cs:233
static GetItemSettings NPCEntityToPlayerInventorySettings