Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CreateDeathMessage()

static NetworkText Terraria.Lang.CreateDeathMessage ( string deadPlayerName,
int plr = -1,
int npc = -1,
int proj = -1,
int other = -1,
int projType = 0,
int plrItemType = 0 )
inlinestatic

Definition at line 997 of file Lang.cs.

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 }
static LocalizedText GetItemName(int id)
Definition Lang.cs:166
static LocalizedText GetProjectileName(int type)
Definition Lang.cs:413
static LocalizedText RandomFromCategory(string categoryName, UnifiedRandom random=null)
Definition Language.cs:70
static readonly NetworkText Empty
static NetworkText FromLiteral(string text)
static NetworkText FromKey(string key, params object[] substitutions)

References Terraria.Localization.NetworkText.Empty, Terraria.Localization.NetworkText.FromKey(), Terraria.Localization.NetworkText.FromLiteral(), Terraria.Lang.GetItemName(), Terraria.Lang.GetProjectileName(), Terraria.Main.npc, System.other, Terraria.Main.player, Terraria.Main.rand, Terraria.Localization.Language.RandomFromCategory(), and Terraria.Main.worldName.

Referenced by Terraria.DataStructures.PlayerDeathReason.GetDeathText().