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

◆ UpdateAudio_DecideOnTOWMusic()

void Terraria.Main.UpdateAudio_DecideOnTOWMusic ( )
inlineprivate

Definition at line 10774 of file Main.cs.

10775 {
10776 bool flag = false;
10777 bool flag2 = false;
10778 bool flag3 = false;
10779 bool flag4 = false;
10780 bool flag5 = false;
10781 bool flag6 = false;
10782 bool flag7 = false;
10783 bool flag8 = false;
10784 bool flag9 = false;
10785 bool flag10 = false;
10786 bool flag11 = false;
10787 bool flag12 = false;
10788 bool flag13 = false;
10789 bool flag14 = false;
10790 bool flag15 = false;
10791 bool flag16 = false;
10792 bool flag17 = false;
10793 if (!showSplash)
10794 {
10796 int num = 5000;
10797 for (int i = 0; i < 200; i++)
10798 {
10799 if (!npc[i].active)
10800 {
10801 continue;
10802 }
10803 num = 5000;
10804 int num2 = 0;
10805 switch (npc[i].type)
10806 {
10807 case 13:
10808 case 14:
10809 case 15:
10810 num2 = 1;
10811 break;
10812 case 26:
10813 case 27:
10814 case 28:
10815 case 29:
10816 case 111:
10817 case 471:
10818 num2 = 11;
10819 break;
10820 case 113:
10821 case 114:
10822 num2 = 3;
10823 break;
10824 case 125:
10825 case 126:
10826 num2 = 2;
10827 break;
10828 case 127:
10829 case 134:
10830 num2 = 2;
10831 break;
10832 case 143:
10833 case 144:
10834 case 145:
10835 num2 = 11;
10836 break;
10837 case 266:
10838 num2 = 1;
10839 break;
10840 case 212:
10841 case 213:
10842 case 214:
10843 case 215:
10844 case 216:
10845 case 491:
10846 num2 = 8;
10847 break;
10848 case 245:
10849 num2 = 2;
10850 break;
10851 case 222:
10852 num2 = 1;
10853 break;
10854 case 262:
10855 case 263:
10856 case 264:
10857 num2 = 6;
10858 break;
10859 case 381:
10860 case 382:
10861 case 383:
10862 case 385:
10863 case 386:
10864 case 388:
10865 case 389:
10866 case 390:
10867 case 391:
10868 case 395:
10869 case 520:
10870 num2 = 9;
10871 break;
10872 case 398:
10873 num2 = 7;
10874 break;
10875 case 422:
10876 case 493:
10877 case 507:
10878 case 517:
10879 num2 = 10;
10880 break;
10881 case 439:
10882 num2 = 2;
10883 break;
10884 case 438:
10885 if (npc[i].ai[1] == 1f)
10886 {
10887 num = 1600;
10888 num2 = 2;
10889 }
10890 break;
10891 case 657:
10892 num2 = 13;
10893 break;
10894 case 636:
10895 num2 = 14;
10896 break;
10897 case 370:
10898 num2 = 15;
10899 break;
10900 case 668:
10901 num2 = 16;
10902 break;
10903 }
10905 {
10906 num2 = 12;
10907 }
10908 if (remixWorld && getGoodWorld && (npc[i].type == 127 || npc[i].type == 134 || npc[i].type == 125 || npc[i].type == 126))
10909 {
10910 num2 = 17;
10911 }
10912 if (num2 == 0 && npc[i].boss)
10913 {
10914 num2 = 1;
10915 }
10916 if (num2 == 0)
10917 {
10918 continue;
10919 }
10920 Microsoft.Xna.Framework.Rectangle value = new Microsoft.Xna.Framework.Rectangle((int)(npc[i].position.X + (float)(npc[i].width / 2)) - num, (int)(npc[i].position.Y + (float)(npc[i].height / 2)) - num, num * 2, num * 2);
10921 if (rectangle.Intersects(value))
10922 {
10923 switch (num2)
10924 {
10925 case 1:
10926 flag = true;
10927 break;
10928 case 2:
10929 flag3 = true;
10930 break;
10931 case 3:
10932 flag4 = true;
10933 break;
10934 case 4:
10935 flag5 = true;
10936 break;
10937 case 5:
10938 flag6 = true;
10939 break;
10940 case 6:
10941 flag7 = true;
10942 break;
10943 case 7:
10944 flag8 = true;
10945 break;
10946 case 8:
10947 flag9 = true;
10948 break;
10949 case 9:
10950 flag10 = true;
10951 break;
10952 case 10:
10953 flag11 = true;
10954 break;
10955 case 11:
10956 flag12 = true;
10957 break;
10958 case 12:
10959 flag13 = true;
10960 break;
10961 case 13:
10962 flag14 = true;
10963 break;
10964 case 14:
10965 flag15 = true;
10966 break;
10967 case 15:
10968 flag16 = true;
10969 break;
10970 case 16:
10971 flag2 = true;
10972 break;
10973 case 17:
10974 flag17 = true;
10975 break;
10976 }
10977 break;
10978 }
10979 }
10980 }
10981 _ = (screenPosition.X + (float)(screenWidth / 2)) / 16f;
10982 if (musicVolume == 0f)
10983 {
10984 newMusic = 0;
10985 return;
10986 }
10987 float num3 = (float)maxTilesX / 4200f;
10988 num3 *= num3;
10989 float num4 = (float)((double)((screenPosition.Y + (float)(screenHeight / 2)) / 16f - (65f + 10f * num3)) / (worldSurface / 5.0));
10991 {
10992 newMusic = 89;
10993 }
10994 else if (player[myPlayer].happyFunTorchTime)
10995 {
10996 newMusic = 87;
10997 }
10998 else if (flag8)
10999 {
11000 newMusic = 84;
11001 }
11002 else if (flag17)
11003 {
11004 newMusic = 81;
11005 }
11006 else if (flag10)
11007 {
11008 newMusic = 82;
11009 }
11010 else if (flag11)
11011 {
11012 newMusic = 83;
11013 }
11014 else if (flag7)
11015 {
11016 newMusic = 85;
11017 }
11018 else if (flag15)
11019 {
11020 newMusic = 80;
11021 }
11022 else if (flag16)
11023 {
11024 newMusic = 80;
11025 }
11026 else if (flag3)
11027 {
11028 newMusic = 80;
11029 }
11030 else if (flag)
11031 {
11032 newMusic = 81;
11033 }
11034 else if (flag4)
11035 {
11036 newMusic = 87;
11037 }
11038 else if (flag5)
11039 {
11040 newMusic = 81;
11041 }
11042 else if (flag6)
11043 {
11044 newMusic = 81;
11045 }
11046 else if (flag14)
11047 {
11048 newMusic = 80;
11049 }
11050 else if (flag2)
11051 {
11052 newMusic = 80;
11053 }
11054 else if (flag9)
11055 {
11056 newMusic = 82;
11057 }
11058 else if (flag12)
11059 {
11060 newMusic = 82;
11061 }
11062 else if (flag13)
11063 {
11064 newMusic = 82;
11065 }
11066 else if (eclipse && (double)player[myPlayer].position.Y < worldSurface * 16.0 + (double)(screenHeight / 2))
11067 {
11068 newMusic = 79;
11069 }
11070 else if (eclipse && remixWorld)
11071 {
11072 newMusic = 79;
11073 }
11074 else if (remixWorld && bloodMoon && !player[myPlayer].ZoneCrimson && !player[myPlayer].ZoneCorrupt && (double)player[myPlayer].position.Y > rockLayer * 16.0 && player[myPlayer].position.Y <= (float)(UnderworldLayer * 16))
11075 {
11076 newMusic = 79;
11077 }
11078 else if (remixWorld && bloodMoon && player[myPlayer].position.Y > (float)(UnderworldLayer * 16) && (double)(player[myPlayer].Center.X / 16f) > (double)maxTilesX * 0.37 + 50.0 && (double)(player[myPlayer].Center.X / 16f) < (double)maxTilesX * 0.63)
11079 {
11080 newMusic = 79;
11081 }
11082 else if (player[myPlayer].ZoneShimmer)
11083 {
11084 newMusic = 72;
11085 }
11086 else if (player[myPlayer].ZoneSandstorm)
11087 {
11088 newMusic = 66;
11089 }
11090 else if (player[myPlayer].position.Y > (float)(UnderworldLayer * 16))
11091 {
11092 newMusic = 71;
11093 }
11094 else if (num4 < 1f)
11095 {
11096 newMusic = 70;
11097 }
11098 else if (tile[(int)(player[myPlayer].Center.X / 16f), (int)(player[myPlayer].Center.Y / 16f)].wall == 87)
11099 {
11100 newMusic = 69;
11101 }
11102 else if (player[myPlayer].ZoneDungeon)
11103 {
11104 newMusic = 69;
11105 }
11106 else if ((bgStyle == 9 && (double)player[myPlayer].position.Y < worldSurface * 16.0 + (double)(screenHeight / 2)) || undergroundBackground == 2)
11107 {
11108 newMusic = 68;
11109 }
11110 else if (player[myPlayer].ZoneCorrupt)
11111 {
11112 if (player[myPlayer].ZoneCrimson && SceneMetrics.BloodTileCount > SceneMetrics.EvilTileCount)
11113 {
11114 if ((double)player[myPlayer].position.Y > worldSurface * 16.0 + (double)(screenHeight / 2))
11115 {
11116 newMusic = 76;
11117 }
11118 else
11119 {
11120 newMusic = 75;
11121 }
11122 }
11123 else if ((double)player[myPlayer].position.Y > worldSurface * 16.0 + (double)(screenHeight / 2))
11124 {
11125 newMusic = 74;
11126 }
11127 else
11128 {
11129 newMusic = 73;
11130 }
11131 }
11132 else if (player[myPlayer].ZoneCrimson)
11133 {
11134 if ((double)player[myPlayer].position.Y > worldSurface * 16.0 + (double)(screenHeight / 2))
11135 {
11136 newMusic = 76;
11137 }
11138 else
11139 {
11140 newMusic = 75;
11141 }
11142 }
11143 else if (player[myPlayer].ZoneMeteor)
11144 {
11145 newMusic = 79;
11146 }
11147 else if (player[myPlayer].ZoneGraveyard)
11148 {
11149 newMusic = 79;
11150 }
11151 else if (player[myPlayer].ZoneJungle)
11152 {
11153 if (remixWorld && (double)player[myPlayer].position.Y < worldSurface * 16.0 + (double)(screenHeight / 2))
11154 {
11155 newMusic = 70;
11156 }
11157 else
11158 {
11159 newMusic = 86;
11160 }
11161 }
11162 else if (player[myPlayer].ZoneSnow)
11163 {
11164 if (remixWorld)
11165 {
11166 if ((double)player[myPlayer].position.Y < rockLayer * 16.0 + (double)(screenHeight / 2))
11167 {
11168 if ((double)player[myPlayer].position.Y <= worldSurface * 16.0 + (double)(screenHeight / 2))
11169 {
11170 newMusic = 70;
11171 }
11172 else
11173 {
11174 newMusic = 77;
11175 }
11176 }
11177 else
11178 {
11179 newMusic = 72;
11180 }
11181 }
11182 else if ((double)player[myPlayer].position.Y > worldSurface * 16.0 + (double)(screenHeight / 2))
11183 {
11184 newMusic = 77;
11185 }
11186 else
11187 {
11188 newMusic = 72;
11189 }
11190 }
11191 else if ((double)player[myPlayer].position.Y >= worldSurface * 16.0 + (double)(screenHeight / 2) && !WorldGen.oceanDepths((int)(screenPosition.X + (float)(screenWidth / 2)) / 16, (int)(screenPosition.Y + (float)(screenHeight / 2)) / 16))
11192 {
11193 if (remixWorld && (double)player[myPlayer].position.Y >= rockLayer * 16.0 + (double)(screenHeight / 2))
11194 {
11195 if (player[myPlayer].ZoneUndergroundDesert)
11196 {
11197 newMusic = 66;
11198 }
11199 else if (cloudAlpha > 0f)
11200 {
11201 newMusic = 62;
11202 }
11203 else if (player[myPlayer].ZoneHallow)
11204 {
11205 newMusic = 88;
11206 }
11207 else if (player[myPlayer].ZoneDesert)
11208 {
11209 newMusic = 66;
11210 }
11211 else
11212 {
11213 newMusic = 62;
11214 }
11215 }
11216 else if (player[myPlayer].ZoneHallow)
11217 {
11218 newMusic = 78;
11219 }
11220 else if (player[myPlayer].ZoneUndergroundDesert)
11221 {
11222 newMusic = 66;
11223 }
11224 else
11225 {
11226 newMusic = 65;
11227 }
11228 }
11229 else if (dayTime && player[myPlayer].ZoneHallow)
11230 {
11231 if (cloudAlpha > 0f && !gameMenu)
11232 {
11233 newMusic = 62;
11234 }
11235 else
11236 {
11237 newMusic = 88;
11238 }
11239 }
11240 else if (_shouldUseStormMusic)
11241 {
11242 if (bloodMoon)
11243 {
11244 newMusic = 79;
11245 }
11246 else
11247 {
11248 newMusic = 62;
11249 }
11250 }
11251 else if (WorldGen.oceanDepths((int)(screenPosition.X + (float)(screenWidth / 2)) / 16, (int)(screenPosition.Y + (float)(screenHeight / 2)) / 16))
11252 {
11253 if (bloodMoon)
11254 {
11255 newMusic = 79;
11256 }
11257 else
11258 {
11259 newMusic = 67;
11260 }
11261 }
11262 else if (player[myPlayer].ZoneDesert)
11263 {
11264 newMusic = 66;
11265 }
11266 else if (remixWorld)
11267 {
11268 newMusic = 70;
11269 }
11270 else if (dayTime)
11271 {
11272 if (cloudAlpha > 0f && !gameMenu)
11273 {
11274 newMusic = 62;
11275 }
11276 else
11277 {
11278 newMusic = 63;
11279 }
11280 }
11281 else if (!dayTime)
11282 {
11283 if (bloodMoon)
11284 {
11285 newMusic = 79;
11286 }
11287 else if (cloudAlpha > 0f && !gameMenu)
11288 {
11289 newMusic = 64;
11290 }
11291 else
11292 {
11293 newMusic = 64;
11294 }
11295 }
11296 if (((double)(screenPosition.Y / 16f) < worldSurface + 10.0 || remixWorld) && pumpkinMoon)
11297 {
11298 newMusic = 82;
11299 }
11300 if (((double)(screenPosition.Y / 16f) < worldSurface + 10.0 || remixWorld) && snowMoon)
11301 {
11302 newMusic = 82;
11303 }
11304 }
static bool[] BelongsToInvasionOldOnesArmy
Definition NPCID.cs:4166
static SceneMetrics SceneMetrics
Definition Main.cs:1344
static float cloudAlpha
Definition Main.cs:1302
static double worldSurface
Definition Main.cs:1272
static int myPlayer
Definition Main.cs:1801
static double rockLayer
Definition Main.cs:1274
static bool dayTime
Definition Main.cs:1282
static bool _shouldUseStormMusic
Definition Main.cs:2301
static bool bloodMoon
Definition Main.cs:1296
static int screenHeight
Definition Main.cs:1721
static Vector2 screenPosition
Definition Main.cs:1715
static int undergroundBackground
Definition Main.cs:556
static int maxTilesX
Definition Main.cs:1114
static bool getGoodWorld
Definition Main.cs:341
static bool showSplash
Definition Main.cs:740
static Tile[,] tile
Definition Main.cs:1675
static bool eclipse
Definition Main.cs:1312
static NPC[] npc
Definition Main.cs:1685
static int newMusic
Definition Main.cs:1236
static int screenWidth
Definition Main.cs:1719
static int UnderworldLayer
Definition Main.cs:2825
static float musicVolume
Definition Main.cs:1421
static bool snowMoon
Definition Main.cs:1300
static bool pumpkinMoon
Definition Main.cs:1298
static bool gameMenu
Definition Main.cs:1926
static Player[] player
Definition Main.cs:1803
static int bgStyle
Definition Main.cs:808
static bool remixWorld
Definition Main.cs:349

References Terraria.Main._shouldUseStormMusic, Terraria.ID.NPCID.Sets.BelongsToInvasionOldOnesArmy, Terraria.Main.bgStyle, Terraria.Main.bloodMoon, Terraria.SceneMetrics.BloodTileCount, Terraria.Main.cloudAlpha, Terraria.Main.dayTime, Terraria.Main.eclipse, Terraria.SceneMetrics.EvilTileCount, Terraria.Main.gameMenu, Terraria.Main.getGoodWorld, System.Text.RegularExpressions.i, Terraria.GameContent.Events.CreditsRollEvent.IsEventOngoing, Terraria.Main.maxTilesX, Terraria.Main.musicVolume, Terraria.Main.myPlayer, Terraria.Main.newMusic, Terraria.Main.npc, Terraria.WorldGen.oceanDepths(), Terraria.Main.player, Terraria.Main.pumpkinMoon, Terraria.Main.remixWorld, Terraria.Main.rockLayer, Terraria.Main.screenHeight, Terraria.Main.screenPosition, Terraria.Main.screenWidth, Terraria.Main.showSplash, Terraria.Main.snowMoon, Terraria.Main.tile, System.type, Terraria.Main.undergroundBackground, Terraria.Main.UnderworldLayer, System.value, and Terraria.Main.worldSurface.

Referenced by Terraria.Main.UpdateAudio().