Module:Npcinfo/datagen

local trim = mw.text.trim local gametext = require('Module:GameText').getText

---A cached version of the current frame, the interface to the parser. local currentFrame

---Return a trimmed version of the value of the template parameter with the specified `key`. ---Return `nil` if the parameter is empty or unset. ---@param key string|number ---@return string|nil local function getArg(key) local value = currentFrame.args[key] if not value then return nil end value = trim(value) if value == '' then return nil end return value end

-- -- In the following sections, Terraria's C# code is reproduced in Lua. -- Terraria version: as below (Desktop version) --

local terrariaversion = '1.4.4.9'

-- Item

local Item = {} do Item.buyPrice = function(platinum, gold, silver, copper) return copper + silver * 100 + gold * 100 * 100 + platinum * 100 * 100 * 100 end Item.sellPrice = function(platinum, gold, silver, copper) return (copper + silver * 100 + gold * 100 * 100 + platinum * 100 * 100 * 100) * 5 end end

-- Debuff immunities

---from Terraria.ID.NPCID+Sets.DebuffImmunitySets. (1.4.4.9) ---Indices are NPC IDs, values are arrays of debuff IDs. local DebuffImmunity = {} local ImmuneToAll = {} local ImmuneToAllNotWhips = {} do DebuffImmunity[1] = { 20 } DebuffImmunity[4] = { 31 } DebuffImmunity[5] = { 31 } DebuffImmunity[6] = { 31 } DebuffImmunity[7] = { 31 } DebuffImmunity[8] = { 31 } DebuffImmunity[9] = { 31 } DebuffImmunity[10] = { 31 } DebuffImmunity[11] = { 31 } DebuffImmunity[12] = { 31 } DebuffImmunity[13] = { 31 } DebuffImmunity[14] = { 31 } DebuffImmunity[15] = { 31 } DebuffImmunity[16] = { 20 } DebuffImmunity[17] = { 31 } DebuffImmunity[18] = { 31 } DebuffImmunity[19] = { 31 } DebuffImmunity[20] = { 31 } DebuffImmunity[21] = { 20 } DebuffImmunity[22] = { 31 } DebuffImmunity[23] = { 20, 24, 31, 323 } DebuffImmunity[24] = { 24, 31, 323 } DebuffImmunity[25] = { 31 } DebuffImmunity[29] = { 31 } DebuffImmunity[30] = { 31 } DebuffImmunity[665] = { 31 } DebuffImmunity[31] = { 20 } DebuffImmunity[32] = { 20, 31 } DebuffImmunity[33] = { 31 } DebuffImmunity[34] = { 20, 31 } DebuffImmunity[35] = { 20, 31, 169, 337, 344 } DebuffImmunity[36] = { 20, 31 } DebuffImmunity[37] = { 31 } DebuffImmunity[38] = { 31 } DebuffImmunity[39] = { 20, 24, 31, 323 } DebuffImmunity[40] = { 20, 24, 31, 323 } DebuffImmunity[41] = { 20, 24, 31, 323 } DebuffImmunity[42] = { 20, 31 } DebuffImmunity[43] = { 20, 31 } DebuffImmunity[44] = { 20 } DebuffImmunity[45] = { 20, 31 } DebuffImmunity[46] = { 31 } DebuffImmunity[48] = { 31 } DebuffImmunity[50] = { 20, 31 } DebuffImmunity[54] = { 31 } DebuffImmunity[55] = { 31 } DebuffImmunity[56] = { 31 } DebuffImmunity[57] = { 31 } DebuffImmunity[58] = { 31 } DebuffImmunity[59] = { 20, 24, 323 } DebuffImmunity[60] = { 24, 323 } DebuffImmunity[61] = { 31 } DebuffImmunity[62] = { 24, 31, 153, 323 } DebuffImmunity[63] = { 31 } DebuffImmunity[64] = { 31 } DebuffImmunity[65] = { 31 } DebuffImmunity[66] = { 24, 31, 153, 323 } DebuffImmunity[67] = { 31 } ImmuneToAll[68] = true DebuffImmunity[69] = { 31 } DebuffImmunity[70] = { 20, 24, 31, 39, 70, 323 } DebuffImmunity[71] = { 20 } ImmuneToAll[72] = true DebuffImmunity[74] = { 31 } DebuffImmunity[76] = { 31 } DebuffImmunity[77] = { 20 } DebuffImmunity[81] = { 20 } ImmuneToAllNotWhips[82] = true DebuffImmunity[83] = { 20, 24, 31, 323 } DebuffImmunity[84] = { 20, 24, 31, 323 } DebuffImmunity[85] = { 20, 24, 31, 323 } DebuffImmunity[87] = { 31 } DebuffImmunity[88] = { 31 } DebuffImmunity[89] = { 31 } DebuffImmunity[90] = { 31 } DebuffImmunity[91] = { 31 } DebuffImmunity[92] = { 31 } DebuffImmunity[94] = { 31 } DebuffImmunity[95] = { 31 } DebuffImmunity[96] = { 31 } DebuffImmunity[97] = { 31 } DebuffImmunity[98] = { 31 } DebuffImmunity[99] = { 31 } DebuffImmunity[100] = { 31 } DebuffImmunity[101] = { 39, 31 } DebuffImmunity[102] = { 31 } DebuffImmunity[103] = { 31 } DebuffImmunity[105] = { 31 } DebuffImmunity[106] = { 31 } DebuffImmunity[107] = { 31 } DebuffImmunity[108] = { 31 } DebuffImmunity[109] = { 31 } DebuffImmunity[110] = { 20 } DebuffImmunity[112] = { 31 } DebuffImmunity[666] = { 31 } DebuffImmunity[113] = { 24, 31, 323 } DebuffImmunity[114] = { 24, 31, 323 } DebuffImmunity[115] = { 31 } DebuffImmunity[116] = { 31 } DebuffImmunity[117] = { 31 } DebuffImmunity[118] = { 31 } DebuffImmunity[119] = { 31 } DebuffImmunity[120] = { 20 } DebuffImmunity[121] = { 20 } DebuffImmunity[122] = { 20, 31 } DebuffImmunity[123] = { 31 } DebuffImmunity[124] = { 31 } DebuffImmunity[125] = { 20, 31 } DebuffImmunity[126] = { 20, 31 } DebuffImmunity[127] = { 20, 31, 169, 337, 344 } DebuffImmunity[128] = { 20, 31 } DebuffImmunity[129] = { 20, 31 } DebuffImmunity[130] = { 20, 31 } DebuffImmunity[131] = { 20, 31 } ImmuneToAllNotWhips[134] = true ImmuneToAllNotWhips[135] = true ImmuneToAllNotWhips[136] = true DebuffImmunity[137] = { 20 } DebuffImmunity[138] = { 20 } ImmuneToAllNotWhips[139] = true DebuffImmunity[140] = { 20, 24, 323 } DebuffImmunity[141] = { 20, 70 } DebuffImmunity[142] = { 31 } DebuffImmunity[143] = { 20, 44, 324 } DebuffImmunity[144] = { 20, 44, 324 } DebuffImmunity[145] = { 20, 44, 324 } DebuffImmunity[146] = { 31 } DebuffImmunity[147] = { 20, 44, 324 } DebuffImmunity[148] = { 31 } DebuffImmunity[149] = { 31 } DebuffImmunity[150] = { 44, 324 } DebuffImmunity[151] = { 24, 323 } DebuffImmunity[154] = { 44, 324 } DebuffImmunity[156] = { 24, 31, 153, 323 } DebuffImmunity[157] = { 31 } DebuffImmunity[160] = { 31 } DebuffImmunity[161] = { 44, 324 } DebuffImmunity[163] = { 20 } DebuffImmunity[164] = { 20 } DebuffImmunity[165] = { 20 } DebuffImmunity[166] = { 20 } DebuffImmunity[167] = { 20, 44, 324 } DebuffImmunity[169] = { 20, 31, 44, 324 } DebuffImmunity[172] = { 20, 31 } DebuffImmunity[173] = { 31 } DebuffImmunity[174] = { 31 } DebuffImmunity[175] = { 20, 31 } DebuffImmunity[176] = { 20, 31 } DebuffImmunity[177] = { 31 } DebuffImmunity[178] = { 31 } DebuffImmunity[179] = { 20, 24, 31, 323 } DebuffImmunity[181] = { 20 } DebuffImmunity[182] = { 20, 31 } DebuffImmunity[183] = { 20 } DebuffImmunity[184] = { 20, 44, 324 } DebuffImmunity[185] = { 44, 324 } DebuffImmunity[195] = { 31 } DebuffImmunity[197] = { 20, 44, 324 } DebuffImmunity[198] = { 20 } DebuffImmunity[199] = { 20 } DebuffImmunity[201] = { 20 } DebuffImmunity[202] = { 20 } DebuffImmunity[203] = { 20 } DebuffImmunity[204] = { 20 } DebuffImmunity[205] = { 20, 31 } DebuffImmunity[206] = { 44, 324 } DebuffImmunity[207] = { 31 } DebuffImmunity[208] = { 31 } DebuffImmunity[209] = { 31 } DebuffImmunity[210] = { 20, 31 } DebuffImmunity[211] = { 20, 31 } DebuffImmunity[216] = { 31 } DebuffImmunity[217] = { 31 } DebuffImmunity[218] = { 31 } DebuffImmunity[219] = { 31 } DebuffImmunity[220] = { 31 } DebuffImmunity[221] = { 31 } DebuffImmunity[222] = { 20, 31 } DebuffImmunity[225] = { 20 } DebuffImmunity[227] = { 31 } DebuffImmunity[228] = { 31 } DebuffImmunity[229] = { 31 } DebuffImmunity[230] = { 31 } DebuffImmunity[231] = { 20, 31 } DebuffImmunity[232] = { 20, 31 } DebuffImmunity[233] = { 20, 31 } DebuffImmunity[234] = { 20, 31 } DebuffImmunity[235] = { 20, 31 } DebuffImmunity[236] = { 20 } DebuffImmunity[237] = { 20 } DebuffImmunity[238] = { 20 } DebuffImmunity[239] = { 20 } DebuffImmunity[240] = { 20 } DebuffImmunity[241] = { 31 } DebuffImmunity[242] = { 31 } DebuffImmunity[243] = { 20, 31, 44, 324 } DebuffImmunity[244] = { 20 } DebuffImmunity[245] = { 20, 24, 31, 323 } DebuffImmunity[246] = { 20, 24, 31, 323 } DebuffImmunity[247] = { 20, 24, 31, 323 } DebuffImmunity[248] = { 20, 24, 31, 323 } DebuffImmunity[249] = { 20, 24, 31, 323 } DebuffImmunity[250] = { 20, 31 } ImmuneToAllNotWhips[253] = true DebuffImmunity[256] = { 31 } DebuffImmunity[259] = { 20, 31 } DebuffImmunity[260] = { 20, 31 } DebuffImmunity[261] = { 31 } DebuffImmunity[262] = { 20, 31 } DebuffImmunity[263] = { 20, 31 } DebuffImmunity[264] = { 20, 31 } DebuffImmunity[265] = { 31 } DebuffImmunity[266] = { 31 } DebuffImmunity[267] = { 31 } DebuffImmunity[268] = { 20, 69 } DebuffImmunity[269] = { 20 } DebuffImmunity[270] = { 20 } DebuffImmunity[271] = { 20 } DebuffImmunity[272] = { 20 } DebuffImmunity[273] = { 20 } DebuffImmunity[274] = { 20 } DebuffImmunity[275] = { 20 } DebuffImmunity[276] = { 20 } DebuffImmunity[277] = { 20, 24, 323 } DebuffImmunity[278] = { 20, 24, 323 } DebuffImmunity[279] = { 20, 24, 323 } DebuffImmunity[280] = { 20, 24, 323 } DebuffImmunity[281] = { 20, 31 } DebuffImmunity[282] = { 20, 31 } DebuffImmunity[283] = { 20, 31 } DebuffImmunity[284] = { 20, 31 } DebuffImmunity[285] = { 20, 31 } DebuffImmunity[286] = { 20, 31 } DebuffImmunity[287] = { 20 } ImmuneToAllNotWhips[288] = true DebuffImmunity[289] = { 20, 31 } DebuffImmunity[290] = { 20, 31, 69 } DebuffImmunity[291] = { 20 } DebuffImmunity[292] = { 20 } DebuffImmunity[293] = { 20 } DebuffImmunity[294] = { 20 } DebuffImmunity[295] = { 20 } DebuffImmunity[296] = { 20 } DebuffImmunity[297] = { 31 } DebuffImmunity[298] = { 31 } DebuffImmunity[671] = { 31 } DebuffImmunity[672] = { 31 } DebuffImmunity[673] = { 31 } DebuffImmunity[674] = { 31 } DebuffImmunity[675] = { 31 } DebuffImmunity[299] = { 31 } DebuffImmunity[300] = { 31 } DebuffImmunity[301] = { 31 } DebuffImmunity[302] = { 20 } DebuffImmunity[303] = { 31 } DebuffImmunity[304] = { 20 } DebuffImmunity[315] = { 20, 24, 31, 323 } DebuffImmunity[316] = { 20, 24, 31, 39, 44, 69, 70, 153, 189, 203, 204, 323, 324 } DebuffImmunity[322] = { 20 } DebuffImmunity[323] = { 20 } DebuffImmunity[324] = { 20 } DebuffImmunity[325] = { 20, 31 } DebuffImmunity[327] = { 20, 24, 31, 323 } DebuffImmunity[328] = { 20, 24, 31, 323 } DebuffImmunity[329] = { 20, 24, 323 } ImmuneToAllNotWhips[330] = true DebuffImmunity[333] = { 20 } DebuffImmunity[334] = { 20 } DebuffImmunity[335] = { 20 } DebuffImmunity[336] = { 20 } DebuffImmunity[337] = { 31 } DebuffImmunity[338] = { 44, 324 } DebuffImmunity[339] = { 44, 324 } DebuffImmunity[340] = { 44, 324 } DebuffImmunity[341] = { 20, 24, 31, 323 } DebuffImmunity[343] = { 44, 324 } DebuffImmunity[344] = { 20, 31, 44, 324 } DebuffImmunity[345] = { 20, 31, 44, 324 } DebuffImmunity[346] = { 20, 31, 44, 324 } DebuffImmunity[347] = { 31 } DebuffImmunity[351] = { 44, 324 } DebuffImmunity[352] = { 20, 31, 44, 324 } DebuffImmunity[353] = { 31 } DebuffImmunity[354] = { 31 } DebuffImmunity[355] = { 31 } DebuffImmunity[356] = { 31 } DebuffImmunity[357] = { 31 } DebuffImmunity[358] = { 31 } DebuffImmunity[359] = { 31 } DebuffImmunity[360] = { 31 } DebuffImmunity[361] = { 31 } DebuffImmunity[362] = { 31 } DebuffImmunity[363] = { 31 } DebuffImmunity[364] = { 31 } DebuffImmunity[365] = { 31 } DebuffImmunity[366] = { 31 } DebuffImmunity[367] = { 31 } DebuffImmunity[368] = { 31 } DebuffImmunity[369] = { 31 } DebuffImmunity[370] = { 31 } DebuffImmunity[371] = { 31 } DebuffImmunity[372] = { 31 } DebuffImmunity[373] = { 31 } DebuffImmunity[374] = { 31 } DebuffImmunity[375] = { 31 } DebuffImmunity[376] = { 31 } DebuffImmunity[377] = { 31 } DebuffImmunity[378] = { 31 } DebuffImmunity[379] = { 31 } DebuffImmunity[380] = { 31 } DebuffImmunity[381] = { 31 } ImmuneToAllNotWhips[384] = true DebuffImmunity[387] = { 20, 31 } DebuffImmunity[388] = { 20, 31 } ImmuneToAll[392] = true ImmuneToAllNotWhips[393] = true ImmuneToAllNotWhips[394] = true ImmuneToAllNotWhips[395] = true DebuffImmunity[396] = { 31 } DebuffImmunity[397] = { 31 } DebuffImmunity[398] = { 31 } DebuffImmunity[399] = { 20, 31 } DebuffImmunity[400] = { 31 } DebuffImmunity[401] = { 31 } DebuffImmunity[402] = { 31 } DebuffImmunity[403] = { 31 } DebuffImmunity[404] = { 31 } DebuffImmunity[405] = { 31 } DebuffImmunity[406] = { 31 } DebuffImmunity[407] = { 31 } DebuffImmunity[408] = { 31 } DebuffImmunity[412] = { 31 } DebuffImmunity[413] = { 31 } DebuffImmunity[414] = { 31 } DebuffImmunity[418] = { 20, 24, 31, 323 } DebuffImmunity[420] = { 31 } DebuffImmunity[421] = { 31 } ImmuneToAllNotWhips[422] = true DebuffImmunity[428] = { 31 } DebuffImmunity[431] = { 44, 324 } DebuffImmunity[437] = { 31 } DebuffImmunity[438] = { 31 } ImmuneToAllNotWhips[439] = true ImmuneToAll[440] = true DebuffImmunity[441] = { 31 } DebuffImmunity[442] = { 31 } DebuffImmunity[443] = { 31 } DebuffImmunity[444] = { 31 } DebuffImmunity[445] = { 31 } DebuffImmunity[446] = { 31 } DebuffImmunity[447] = { 31 } DebuffImmunity[448] = { 31 } DebuffImmunity[449] = { 20 } DebuffImmunity[450] = { 20 } DebuffImmunity[451] = { 20 } DebuffImmunity[452] = { 20 } DebuffImmunity[453] = { 31 } ImmuneToAllNotWhips[454] = true ImmuneToAllNotWhips[455] = true ImmuneToAllNotWhips[456] = true ImmuneToAllNotWhips[457] = true ImmuneToAllNotWhips[458] = true ImmuneToAllNotWhips[459] = true DebuffImmunity[461] = { 31 } DebuffImmunity[465] = { 31 } DebuffImmunity[467] = { 20, 24, 31, 323 } DebuffImmunity[471] = { 31, 153 } DebuffImmunity[472] = { 31, 153 } DebuffImmunity[473] = { 20, 24, 31, 323 } DebuffImmunity[474] = { 20, 24, 31, 323 } DebuffImmunity[475] = { 20, 24, 31, 323 } DebuffImmunity[476] = { 20, 24, 31, 323 } DebuffImmunity[477] = { 31 } DebuffImmunity[478] = { 31 } DebuffImmunity[479] = { 31 } DebuffImmunity[480] = { 31 } DebuffImmunity[481] = { 20 } DebuffImmunity[482] = { 20, 24, 31, 323 } DebuffImmunity[483] = { 20, 24, 31, 323 } DebuffImmunity[484] = { 31 } DebuffImmunity[485] = { 31 } DebuffImmunity[486] = { 31 } DebuffImmunity[487] = { 31 } DebuffImmunity[488] = { 31 } ImmuneToAll[491] = true ImmuneToAllNotWhips[492] = true ImmuneToAllNotWhips[493] = true DebuffImmunity[494] = { 31 } DebuffImmunity[495] = { 31 } DebuffImmunity[496] = { 31 } DebuffImmunity[497] = { 31 } ImmuneToAllNotWhips[507] = true DebuffImmunity[510] = { 31 } DebuffImmunity[511] = { 31 } DebuffImmunity[512] = { 31 } DebuffImmunity[513] = { 31 } DebuffImmunity[514] = { 31 } DebuffImmunity[515] = { 31 } DebuffImmunity[516] = { 31 } ImmuneToAllNotWhips[517] = true DebuffImmunity[518] = { 31 } DebuffImmunity[519] = { 31 } DebuffImmunity[520] = { 20, 24, 31, 323 } DebuffImmunity[521] = { 20, 24, 31, 39, 44, 69, 70, 153, 189, 203, 204, 323, 324 } DebuffImmunity[522] = { 31 } DebuffImmunity[523] = { 31 } DebuffImmunity[530] = { 20 } DebuffImmunity[531] = { 20 } DebuffImmunity[533] = { 20, 24, 31, 39, 44, 69, 70, 153, 189, 203, 204, 323, 324 } DebuffImmunity[535] = { 20 } DebuffImmunity[537] = { 20 } DebuffImmunity[538] = { 31 } DebuffImmunity[539] = { 31 } DebuffImmunity[540] = { 31 } DebuffImmunity[541] = { 20, 31 } DebuffImmunity[542] = { 31 } DebuffImmunity[543] = { 31 } DebuffImmunity[544] = { 31 } DebuffImmunity[545] = { 31 } DebuffImmunity[546] = { 31 } DebuffImmunity[547] = { 31 } DebuffImmunity[548] = { 31 } ImmuneToAll[549] = true DebuffImmunity[550] = { 31 } DebuffImmunity[551] = { 24, 31, 323 } DebuffImmunity[552] = { 31 } DebuffImmunity[553] = { 31 } DebuffImmunity[554] = { 31 } DebuffImmunity[555] = { 31 } DebuffImmunity[556] = { 31 } DebuffImmunity[557] = { 31 } DebuffImmunity[558] = { 31 } DebuffImmunity[559] = { 31 } DebuffImmunity[560] = { 31 } DebuffImmunity[561] = { 31 } DebuffImmunity[562] = { 31 } DebuffImmunity[563] = { 31 } DebuffImmunity[564] = { 31 } DebuffImmunity[565] = { 31 } DebuffImmunity[566] = { 20, 31 } DebuffImmunity[567] = { 20, 31 } DebuffImmunity[568] = { 31 } DebuffImmunity[569] = { 31 } DebuffImmunity[570] = { 31 } DebuffImmunity[571] = { 31 } DebuffImmunity[572] = { 31 } DebuffImmunity[573] = { 31 } DebuffImmunity[574] = { 31 } DebuffImmunity[575] = { 31 } DebuffImmunity[576] = { 31 } DebuffImmunity[577] = { 31 } DebuffImmunity[578] = { 31 } DebuffImmunity[579] = { 31 } ImmuneToAll[583] = true ImmuneToAll[584] = true ImmuneToAll[585] = true DebuffImmunity[588] = { 31 } DebuffImmunity[589] = { 31 } DebuffImmunity[592] = { 31 } DebuffImmunity[593] = { 31 } DebuffImmunity[594] = { 31 } DebuffImmunity[595] = { 31 } DebuffImmunity[596] = { 31 } DebuffImmunity[597] = { 31 } DebuffImmunity[598] = { 31 } DebuffImmunity[599] = { 31 } DebuffImmunity[600] = { 31 } DebuffImmunity[601] = { 31 } DebuffImmunity[602] = { 31 } DebuffImmunity[603] = { 31 } DebuffImmunity[604] = { 31 } DebuffImmunity[605] = { 31 } DebuffImmunity[606] = { 31 } DebuffImmunity[607] = { 31 } DebuffImmunity[608] = { 31 } DebuffImmunity[609] = { 31 } DebuffImmunity[610] = { 31 } DebuffImmunity[611] = { 31 } DebuffImmunity[612] = { 31 } DebuffImmunity[613] = { 31 } DebuffImmunity[614] = { 31 } DebuffImmunity[615] = { 31 } DebuffImmunity[616] = { 31 } DebuffImmunity[617] = { 31 } DebuffImmunity[618] = { 31 } DebuffImmunity[619] = { 31 } DebuffImmunity[620] = { 31 } DebuffImmunity[621] = { 31 } DebuffImmunity[622] = { 31 } DebuffImmunity[623] = { 31 } DebuffImmunity[624] = { 31 } DebuffImmunity[625] = { 31 } DebuffImmunity[626] = { 31 } DebuffImmunity[627] = { 31 } DebuffImmunity[628] = { 31 } DebuffImmunity[629] = { 20, 24, 31, 44, 323, 324 } DebuffImmunity[631] = { 20, 24, 31, 323 } DebuffImmunity[633] = { 31 } DebuffImmunity[635] = { 20 } DebuffImmunity[636] = { 31 } DebuffImmunity[637] = { 31 } DebuffImmunity[638] = { 31 } DebuffImmunity[639] = { 31 } DebuffImmunity[640] = { 31 } DebuffImmunity[641] = { 31 } DebuffImmunity[642] = { 31 } DebuffImmunity[643] = { 31 } DebuffImmunity[644] = { 31 } DebuffImmunity[645] = { 31 } DebuffImmunity[646] = { 31 } DebuffImmunity[647] = { 31 } DebuffImmunity[648] = { 31 } DebuffImmunity[649] = { 31 } DebuffImmunity[650] = { 31 } DebuffImmunity[651] = { 31 } DebuffImmunity[652] = { 31 } DebuffImmunity[653] = { 31 } DebuffImmunity[654] = { 31 } DebuffImmunity[655] = { 31 } DebuffImmunity[656] = { 31 } DebuffImmunity[657] = { 20, 31 } DebuffImmunity[658] = { 20, 31 } DebuffImmunity[659] = { 20, 31 } DebuffImmunity[660] = { 20, 31 } DebuffImmunity[661] = { 31 } ImmuneToAllNotWhips[662] = true DebuffImmunity[663] = { 31 } DebuffImmunity[668] = { 31 } DebuffImmunity[669] = { 31 } DebuffImmunity[670] = { 31 } DebuffImmunity[678] = { 31 } DebuffImmunity[679] = { 31 } DebuffImmunity[680] = { 31 } DebuffImmunity[681] = { 31 } DebuffImmunity[682] = { 31 } DebuffImmunity[683] = { 31 } DebuffImmunity[684] = { 31 } DebuffImmunity[677] = { 31 } DebuffImmunity[685] = { 31 } ImmuneToAll[686] = true ImmuneToAll[687] = true end

-- NPC IDs

local NPCID = {} NPCID.Sets = require('Module:Npcinfo/idSets').getValue

---from Terraria.ID.NPCID.NetIdMap NPCID.NetIdMap = { 81,	81,	1,	1,	1,	1,	1,	1,	1,	1,	6,	6,	31,	31,	77,	42,	42,	176,	176,	176,	176,	173,	173,	183,	183,	3,	3,	132,	132,	186,	186,	187,	187,	188,	188,	189,	189,	190,	191,	192,	193,	194,	2,	200,	200,	21,	21,	201,	201,	202,	202,	203,	203,	223,	223,	231,	231,	232,	232,	233,	233,	234,	234,	235,	235 }

---from Terraria.ID.NPCID.FromNetId NPCID.FromNetId = function(id) if (id < 0) then return NPCID.NetIdMap[-id] else return id	end end

---from Terraria.NPC.ExcludedFromDeathTally local function ExcludedFromDeathTally(netID) if netID < 0 then if netID ~= -5 then return netID == -1 end end if not NPCID.Sets('ProjectileNPC', netID) then return NPCID.Sets('PositiveNPCTypesExcludedFromDeathTally', netID) end return true end

-- Banners

---from Terraria.Item.BannerToItem local function BannerToItem(banner) if not banner then return end if banner <= 0 then return end if (banner == 289) then return 5352 end if (banner >= 276) then return 4965 + banner - 276 end if (banner >= 274) then return 4687 + banner - 274 end if (banner == 273) then return 4602 end if (banner >= 267) then return 4541 + banner - 267 end if (banner >= 257) then return 3837 + banner - 257 end if (banner >= 252) then return 3789 + banner - 252 end if (banner == 251) then return 3780 end if (banner >= 249) then return 3593 + banner - 249 end if (banner >= 186) then return 3390 + banner - 186 end if (banner >= 88) then return 2897 + banner - 88 end return 1615 + banner - 1 end

---from Terraria.Item.NPCtoBanner local function npcToBanner(npcid) if npcid == 102 then return 1 elseif npcid == 250 then return 2 elseif npcid == 257 then return 3 elseif npcid == 69 then return 4 elseif npcid == 157 then return 5 elseif npcid == 77 then return 6 elseif npcid == 49 then return 7 elseif npcid == 74 then return 8 elseif npcid == 163 or npcid == 238 then return 9 elseif npcid == 241 then return 10 elseif npcid == 242 then return 11 elseif npcid == 239 or npcid == 240 then return 12 elseif npcid == 39 or npcid == 40 or npcid == 41 then return 13 elseif npcid == 46 or npcid == 303 or npcid == 337 or npcid == 540 then return 14 elseif npcid == 120 then return 15 elseif npcid == 85 or npcid == 629 then return 16 elseif npcid == 109 or npcid == 378 then return 17 elseif npcid == 47 then return 18 elseif npcid == 57 then return 19 elseif npcid == 67 then return 20 elseif npcid == 173 then return 21 elseif npcid == 179 then return 22 elseif npcid == 83 then return 23 elseif npcid == 62 or npcid == 66 then return 24 elseif npcid == 2 or npcid == 190 or npcid == 191 or npcid == 192 or npcid == 193 or npcid == 194 or npcid == 317 or npcid == 318 then return 25 elseif npcid == 177 then return 26 elseif npcid == 6 then return 27 elseif npcid == 84 then return 28 elseif npcid == 161 or npcid == 431 then return 29 elseif npcid == 181 then return 30 elseif npcid == 182 then return 31 elseif npcid == 224 then return 32 elseif npcid == 226 then return 33 elseif npcid == 162 then return 34 elseif npcid == 259 or npcid == 260 or npcid == 261 then return 35 elseif npcid == 256 then return 36 elseif npcid == 122 then return 37 elseif npcid == 27 then return 38 elseif npcid == 29 or npcid == 30 then return 39 elseif npcid == 26 then return 40 elseif npcid == 73 then return 41 elseif npcid == 28 then return 42 elseif npcid == 55 or npcid == 230 then return 43 elseif npcid == 48 then return 44 elseif npcid == 60 then return 45 elseif npcid == 174 then return 46 elseif npcid == 42 or npcid == 231 or npcid == 232 or npcid == 233 or npcid == 234 or npcid == 235 then return 47 elseif npcid == 169 then return 48 elseif npcid == 206 then return 49 elseif npcid == 24 or npcid == 25 then return 50 elseif npcid == 63 then return 51 elseif npcid == 236 or npcid == 237 then return 52 elseif npcid == 198 or npcid == 199 then return 53 elseif npcid == 43 then return 54 elseif npcid == 23 then return 55 elseif npcid == 205 then return 56 elseif npcid == 78 then return 57 elseif npcid == 258 then return 58 elseif npcid == 252 then return 59 elseif npcid == 170 or npcid == 171 or npcid == 180 then return 60 elseif npcid == 58 then return 61 elseif npcid == 212 then return 62 elseif npcid == 75 then return 63 elseif npcid == 223 then return 64 elseif npcid == 253 then return 65 elseif npcid == 65 then return 66 elseif npcid == 21 or npcid == 201 or npcid == 202 or npcid == 203 or npcid == 322 or npcid == 323 or npcid == 324 or npcid == 449 or npcid == 450 or npcid == 451 or npcid == 452 then return 67 elseif npcid == 32 or npcid == 33 then return 68 elseif npcid == 1 or npcid == 302 or npcid == 333 or npcid == 334 or npcid == 335 or npcid == 336 then return 69 elseif npcid == 185 then return 70 elseif npcid == 164 or npcid == 165 then return 71 elseif npcid == 254 or npcid == 255 then return 72 elseif npcid == 166 then return 73 elseif npcid == 153 then return 74 elseif npcid == 141 then return 75 elseif npcid == 225 then return 76 elseif npcid == 86 then return 77 elseif npcid == 158 or npcid == 159 then return 78 elseif npcid == 61 then return 79 elseif npcid == 195 or npcid == 196 then return 80 elseif npcid == 104 then return 81 elseif npcid == 155 then return 82 elseif npcid == 98 or npcid == 99 or npcid == 100 then return 83 elseif npcid == 10 or npcid == 11 or npcid == 12 or npcid == 95 or npcid == 96 or npcid == 97 then return 84 elseif npcid == 82 then return 85 elseif npcid == 87 or npcid == 88 or npcid == 89 or npcid == 90 or npcid == 91 or npcid == 92 then return 86 elseif npcid == 3 or npcid == 132 or npcid == 186 or npcid == 187 or npcid == 188 or npcid == 189 or npcid == 200 or npcid == 319 or npcid == 320 or npcid == 321 or npcid == 331 or npcid == 332 or npcid == 430 or npcid == 432 or npcid == 433 or npcid == 434 or npcid == 435 or npcid == 436 or npcid == 590 or npcid == 591 or npcid == 632 then return 87 elseif npcid == 175 then return 88 elseif npcid == 197 then return 89 elseif npcid == 273 or npcid == 274 or npcid == 275 or npcid == 276 then return 91 elseif npcid == 379 then return 92 elseif npcid == 438 then return 93 elseif npcid == 287 then return 95 elseif npcid == 101 then return 96 elseif npcid == 217 then return 97 elseif npcid == 168 then return 98 elseif npcid == -1 or npcid == 81 then return 99 elseif npcid == 94 or npcid == 112 then return 100 elseif npcid == 183 then return 101 elseif npcid == 34 then return 102 elseif npcid == 218 then return 103 elseif npcid == 7 or npcid == 8 or npcid == 9 then return 104 elseif npcid == 285 or npcid == 286 then return 105 elseif npcid == 52 then return 106 elseif npcid == 71 then return 107 elseif npcid == 288 then return 108 elseif npcid == 350 then return 109 elseif npcid == 347 then return 110 elseif npcid == 251 then return 111 elseif npcid == 352 then return 112 elseif npcid == 316 then return 113 elseif npcid == 93 then return 114 elseif npcid == 289 then return 115 elseif npcid == 152 then return 116 elseif npcid == 342 then return 117 elseif npcid == 111 then return 118 elseif npcid == 315 then return 120 elseif npcid == 277 or npcid == 278 or npcid == 279 or npcid == 280 then return 121 elseif npcid == 329 then return 122 elseif npcid == 304 then return 123 elseif npcid == 150 then return 124 elseif npcid == 243 then return 125 elseif npcid == 147 then return 126 elseif npcid == 268 then return 127 elseif npcid == 137 then return 128 elseif npcid == 138 then return 129 elseif npcid == 51 then return 130 elseif npcid == 351 then return 132 elseif npcid == 219 then return 133 elseif npcid == 151 then return 134 elseif npcid == 59 then return 135 elseif npcid == 381 then return 136 elseif npcid == 388 then return 137 elseif npcid == 386 then return 138 elseif npcid == 389 then return 139 elseif npcid == 385 then return 140 elseif npcid == 383 or npcid == 384 then return 141 elseif npcid == 382 then return 142 elseif npcid == 390 then return 143 elseif npcid == 387 then return 144 elseif npcid == 144 then return 145 elseif npcid == -5 or npcid == 16 then return 146 elseif npcid == 283 or npcid == 284 then return 147 elseif npcid == 348 or npcid == 349 then return 148 elseif npcid == 290 then return 149 elseif npcid == 148 or npcid == 149 then return 150 elseif npcid == -4 then return 151 elseif npcid == 330 then return 152 elseif npcid == 140 then return 153 elseif npcid == 341 then return 154 elseif npcid == 281 or npcid == 282 then return 156 elseif npcid == 244 then return 157 elseif npcid == 301 then return 158 elseif npcid == 172 then return 160 elseif npcid == 269 or npcid == 270 or npcid == 271 or npcid == 272 then return 161 elseif npcid == 305 or npcid == 306 or npcid == 307 or npcid == 308 or npcid == 309 or npcid == 310 or npcid == 311 or npcid == 312 or npcid == 313 or npcid == 314 then return 162 elseif npcid == 391 then return 163 elseif npcid == 110 then return 164 elseif npcid == 293 then return 165 elseif npcid == 291 then return 166 elseif npcid == -2 or npcid == 121 then return 167 elseif npcid == 56 then return 168 elseif npcid == 145 then return 169 elseif npcid == 143 then return 170 elseif npcid == 184 then return 171 elseif npcid == 204 then return 172 elseif npcid == 326 then return 173 elseif npcid == 221 then return 174 elseif npcid == 292 then return 175 elseif npcid == 53 then return 176 elseif npcid == 45 or npcid == 665 then return 177 elseif npcid == 44 then return 178 elseif npcid == 167 then return 179 elseif npcid == 380 then return 180 elseif npcid == 343 then return 184 elseif npcid == 338 or npcid == 339 or npcid == 340 then return 185 elseif npcid == -6 then return 90 elseif npcid == -3 then return 119 elseif npcid == -10 then return 131 elseif npcid == -7 then return 155 elseif npcid == -8 then return 159 elseif npcid == -9 then return 183 elseif npcid == 471 or npcid == 472 then return 186 elseif npcid == 498 or npcid == 499 or npcid == 500 or npcid == 501 or npcid == 502 or npcid == 503 or npcid == 504 or npcid == 505 or npcid == 506 then return 187 elseif npcid == 496 or npcid == 497 then return 188 elseif npcid == 494 or npcid == 495 then return 189 elseif npcid == 462 then return 190 elseif npcid == 461 then return 191 elseif npcid == 468 then return 192 elseif npcid == 477 or npcid == 478 or npcid == 479 then return 193 elseif npcid == 469 then return 195 elseif npcid == 460 then return 196 elseif npcid == 466 then return 197 elseif npcid == 467 then return 198 elseif npcid == 463 then return 199 elseif npcid == 480 then return 201 elseif npcid == 481 then return 202 elseif npcid == 483 then return 203 elseif npcid == 482 then return 204 elseif npcid == 489 then return 205 elseif npcid == 490 then return 206 elseif npcid == 513 or npcid == 514 or npcid == 515 then return 207 elseif npcid == 510 or npcid == 511 or npcid == 512 then return 208 elseif npcid == 509 or npcid == 581 then return 209 elseif npcid == 508 or npcid == 580 then return 210 elseif npcid == 524 or npcid == 525 or npcid == 526 or npcid == 527 then return 211 elseif npcid == 528 or npcid == 529 then return 212 elseif npcid == 533 then return 213 elseif npcid == 532 then return 214 elseif npcid == 530 or npcid == 531 then return 215 elseif npcid == 411 then return 216 elseif npcid == 402 or npcid == 403 or npcid == 404 then return 217 elseif npcid == 407 or npcid == 408 then return 218 elseif npcid == 409 or npcid == 410 then return 219 elseif npcid == 406 then return 220 elseif npcid == 405 then return 221 elseif npcid == 418 then return 222 elseif npcid == 417 then return 223 elseif npcid == 412 or npcid == 413 or npcid == 414 then return 224 elseif npcid == 416 or npcid == 518 then return 225 elseif npcid == 415 or npcid == 516 then return 226 elseif npcid == 419 then return 227 elseif npcid == 424 then return 228 elseif npcid == 421 then return 229 elseif npcid == 420 then return 230 elseif npcid == 423 then return 231 elseif npcid == 428 then return 232 elseif npcid == 426 then return 233 elseif npcid == 427 then return 234 elseif npcid == 429 then return 235 elseif npcid == 425 then return 236 elseif npcid == 216 then return 237 elseif npcid == 214 then return 238 elseif npcid == 213 then return 239 elseif npcid == 215 then return 240 elseif npcid == 520 then return 241 elseif npcid == 156 then return 242 elseif npcid == 64 then return 243 elseif npcid == 103 then return 244 elseif npcid == 79 then return 245 elseif npcid == 80 then return 246 elseif npcid == 31 or npcid == 294 or npcid == 295 or npcid == 296 then return 247 elseif npcid == 154 then return 248 elseif npcid == 537 then return 249 elseif npcid == 220 then return 250 elseif npcid == 541 then return 251 elseif npcid == 542 then return 252 elseif npcid == 543 then return 253 elseif npcid == 544 then return 254 elseif npcid == 545 then return 255 elseif npcid == 546 then return 256 elseif npcid == 555 or npcid == 556 or npcid == 557 then return 257 elseif npcid == 552 or npcid == 553 or npcid == 554 then return 258 elseif npcid == 566 or npcid == 567 then return 259 elseif npcid == 570 or npcid == 571 then return 260 elseif npcid == 574 or npcid == 575 then return 261 elseif npcid == 572 or npcid == 573 then return 262 elseif npcid == 568 or npcid == 569 then return 263 elseif npcid == 558 or npcid == 559 or npcid == 560 then return 264 elseif npcid == 561 or npcid == 562 or npcid == 563 then return 265 elseif npcid == 578 then return 266 elseif npcid == 536 then return 267 elseif npcid == 586 then return 268 elseif npcid == 587 then return 269 elseif npcid == 619 then return 270 elseif npcid == 621 or npcid == 622 or npcid == 623 then return 271 elseif npcid == 620 then return 272 elseif npcid == 618 then return 273 elseif npcid == 628 then return 274 elseif npcid == 624 then return 275 elseif npcid == 631 then return 276 elseif npcid == 630 then return 277 elseif npcid == 635 then return 278 elseif npcid == 634 then return 279 elseif npcid == 582 then return 280 elseif npcid == 464 then return 281 elseif npcid == 465 then return 282 elseif npcid == 470 then return 283 elseif npcid == 473 then return 284 elseif npcid == 474 then return 285 elseif npcid == 475 then return 286 elseif npcid == 176 then return 287 elseif npcid == 133 then return 288 elseif npcid == 676 then return 289 else return 0 end end

-- Sound IDs

---from Terraria.ID.SoundID.CreateTrackable local function SoundID_CreateTrackable(name, variations) variations = variations or 1 local str if variations == 1 then str = name else for i = 0, variations - 1 do			if str then str = str .. ', ' .. name .. '_' .. i			else str = name .. '_' .. i			end end end return str end

---from Terraria.ID.SoundID local SoundID = {} do SoundID.AchievementComplete = SoundID_CreateTrackable("achievement_complete") SoundID.BlizzardInsideBuildingLoop = SoundID_CreateTrackable("blizzard_inside_building_loop") SoundID.BlizzardStrongLoop = SoundID_CreateTrackable("blizzard_strong_loop") SoundID.LiquidsHoneyWater = SoundID_CreateTrackable("liquids_honey_water", 3) SoundID.LiquidsHoneyLava = SoundID_CreateTrackable("liquids_honey_lava", 3) SoundID.LiquidsWaterLava = SoundID_CreateTrackable("liquids_water_lava", 3) SoundID.DD2_BallistaTowerShot = SoundID_CreateTrackable("dd2_ballista_tower_shot", 3) SoundID.DD2_ExplosiveTrapExplode = SoundID_CreateTrackable("dd2_explosive_trap_explode", 3) SoundID.DD2_FlameburstTowerShot = SoundID_CreateTrackable("dd2_flameburst_tower_shot", 3) SoundID.DD2_LightningAuraZap = SoundID_CreateTrackable("dd2_lightning_aura_zap", 4) SoundID.DD2_DefenseTowerSpawn = SoundID_CreateTrackable("dd2_defense_tower_spawn") SoundID.DD2_BetsyDeath = SoundID_CreateTrackable("dd2_betsy_death", 3) SoundID.DD2_BetsyFireballShot = SoundID_CreateTrackable("dd2_betsy_fireball_shot", 3) SoundID.DD2_BetsyFireballImpact = SoundID_CreateTrackable("dd2_betsy_fireball_impact", 3) SoundID.DD2_BetsyFlameBreath = SoundID_CreateTrackable("dd2_betsy_flame_breath") SoundID.DD2_BetsyFlyingCircleAttack = SoundID_CreateTrackable("dd2_betsy_flying_circle_attack") SoundID.DD2_BetsyHurt = SoundID_CreateTrackable("dd2_betsy_hurt", 3) SoundID.DD2_BetsyScream = SoundID_CreateTrackable("dd2_betsy_scream") SoundID.DD2_BetsySummon = SoundID_CreateTrackable("dd2_betsy_summon", 3) SoundID.DD2_BetsyWindAttack = SoundID_CreateTrackable("dd2_betsy_wind_attack", 3) SoundID.DD2_DarkMageAttack = SoundID_CreateTrackable("dd2_dark_mage_attack", 3) SoundID.DD2_DarkMageCastHeal = SoundID_CreateTrackable("dd2_dark_mage_cast_heal", 3) SoundID.DD2_DarkMageDeath = SoundID_CreateTrackable("dd2_dark_mage_death", 3) SoundID.DD2_DarkMageHealImpact = SoundID_CreateTrackable("dd2_dark_mage_heal_impact", 3) SoundID.DD2_DarkMageHurt = SoundID_CreateTrackable("dd2_dark_mage_hurt", 3) SoundID.DD2_DarkMageSummonSkeleton = SoundID_CreateTrackable("dd2_dark_mage_summon_skeleton", 3) SoundID.DD2_DrakinBreathIn = SoundID_CreateTrackable("dd2_drakin_breath_in", 3) SoundID.DD2_DrakinDeath = SoundID_CreateTrackable("dd2_drakin_death", 3) SoundID.DD2_DrakinHurt = SoundID_CreateTrackable("dd2_drakin_hurt", 3) SoundID.DD2_DrakinShot = SoundID_CreateTrackable("dd2_drakin_shot", 3) SoundID.DD2_GoblinDeath = SoundID_CreateTrackable("dd2_goblin_death", 3) SoundID.DD2_GoblinHurt = SoundID_CreateTrackable("dd2_goblin_hurt", 6) SoundID.DD2_GoblinScream = SoundID_CreateTrackable("dd2_goblin_scream", 3) SoundID.DD2_GoblinBomberDeath = SoundID_CreateTrackable("dd2_goblin_bomber_death", 3) SoundID.DD2_GoblinBomberHurt = SoundID_CreateTrackable("dd2_goblin_bomber_hurt", 3) SoundID.DD2_GoblinBomberScream = SoundID_CreateTrackable("dd2_goblin_bomber_scream", 3) SoundID.DD2_GoblinBomberThrow = SoundID_CreateTrackable("dd2_goblin_bomber_throw", 3) SoundID.DD2_JavelinThrowersAttack = SoundID_CreateTrackable("dd2_javelin_throwers_attack", 3) SoundID.DD2_JavelinThrowersDeath = SoundID_CreateTrackable("dd2_javelin_throwers_death", 3) SoundID.DD2_JavelinThrowersHurt = SoundID_CreateTrackable("dd2_javelin_throwers_hurt", 3) SoundID.DD2_JavelinThrowersTaunt = SoundID_CreateTrackable("dd2_javelin_throwers_taunt", 3) SoundID.DD2_KoboldDeath = SoundID_CreateTrackable("dd2_kobold_death", 3) SoundID.DD2_KoboldExplosion = SoundID_CreateTrackable("dd2_kobold_explosion", 3) SoundID.DD2_KoboldHurt = SoundID_CreateTrackable("dd2_kobold_hurt", 3) SoundID.DD2_KoboldIgnite = SoundID_CreateTrackable("dd2_kobold_ignite") SoundID.DD2_KoboldIgniteLoop = SoundID_CreateTrackable("dd2_kobold_ignite_loop") SoundID.DD2_KoboldScreamChargeLoop = SoundID_CreateTrackable("dd2_kobold_scream_charge_loop") SoundID.DD2_KoboldFlyerChargeScream = SoundID_CreateTrackable("dd2_kobold_flyer_charge_scream", 3) SoundID.DD2_KoboldFlyerDeath = SoundID_CreateTrackable("dd2_kobold_flyer_death", 3) SoundID.DD2_KoboldFlyerHurt = SoundID_CreateTrackable("dd2_kobold_flyer_hurt", 3) SoundID.DD2_LightningBugDeath = SoundID_CreateTrackable("dd2_lightning_bug_death", 3) SoundID.DD2_LightningBugHurt = SoundID_CreateTrackable("dd2_lightning_bug_hurt", 3) SoundID.DD2_LightningBugZap = SoundID_CreateTrackable("dd2_lightning_bug_zap", 3) SoundID.DD2_OgreAttack = SoundID_CreateTrackable("dd2_ogre_attack", 3) SoundID.DD2_OgreDeath = SoundID_CreateTrackable("dd2_ogre_death", 3) SoundID.DD2_OgreGroundPound = SoundID_CreateTrackable("dd2_ogre_ground_pound") SoundID.DD2_OgreHurt = SoundID_CreateTrackable("dd2_ogre_hurt", 3) SoundID.DD2_OgreRoar = SoundID_CreateTrackable("dd2_ogre_roar", 3) SoundID.DD2_OgreSpit = SoundID_CreateTrackable("dd2_ogre_spit") SoundID.DD2_SkeletonDeath = SoundID_CreateTrackable("dd2_skeleton_death", 3) SoundID.DD2_SkeletonHurt = SoundID_CreateTrackable("dd2_skeleton_hurt", 3) SoundID.DD2_SkeletonSummoned = SoundID_CreateTrackable("dd2_skeleton_summoned") SoundID.DD2_WitherBeastAuraPulse = SoundID_CreateTrackable("dd2_wither_beast_aura_pulse", 2) SoundID.DD2_WitherBeastCrystalImpact = SoundID_CreateTrackable("dd2_wither_beast_crystal_impact", 3) SoundID.DD2_WitherBeastDeath = SoundID_CreateTrackable("dd2_wither_beast_death", 3) SoundID.DD2_WitherBeastHurt = SoundID_CreateTrackable("dd2_wither_beast_hurt", 3) SoundID.DD2_WyvernDeath = SoundID_CreateTrackable("dd2_wyvern_death", 3) SoundID.DD2_WyvernHurt = SoundID_CreateTrackable("dd2_wyvern_hurt", 3) SoundID.DD2_WyvernScream = SoundID_CreateTrackable("dd2_wyvern_scream", 3) SoundID.DD2_WyvernDiveDown = SoundID_CreateTrackable("dd2_wyvern_dive_down", 3) SoundID.DD2_EtherianPortalDryadTouch = SoundID_CreateTrackable("dd2_etherian_portal_dryad_touch") SoundID.DD2_EtherianPortalIdleLoop = SoundID_CreateTrackable("dd2_etherian_portal_idle_loop") SoundID.DD2_EtherianPortalOpen = SoundID_CreateTrackable("dd2_etherian_portal_open") SoundID.DD2_EtherianPortalSpawnEnemy = SoundID_CreateTrackable("dd2_etherian_portal_spawn_enemy", 3) SoundID.DD2_CrystalCartImpact = SoundID_CreateTrackable("dd2_crystal_cart_impact", 3) SoundID.DD2_DefeatScene = SoundID_CreateTrackable("dd2_defeat_scene") SoundID.DD2_WinScene = SoundID_CreateTrackable("dd2_win_scene") SoundID.DD2_BookStaffCast = SoundID_CreateTrackable("dd2_book_staff_cast", 3) SoundID.DD2_BookStaffTwisterLoop = SoundID_CreateTrackable("dd2_book_staff_twister_loop") SoundID.DD2_GhastlyGlaiveImpactGhost = SoundID_CreateTrackable("dd2_ghastly_glaive_impact_ghost", 3) SoundID.DD2_GhastlyGlaivePierce = SoundID_CreateTrackable("dd2_ghastly_glaive_pierce", 3) SoundID.DD2_MonkStaffGroundImpact = SoundID_CreateTrackable("dd2_monk_staff_ground_impact", 3) SoundID.DD2_MonkStaffGroundMiss = SoundID_CreateTrackable("dd2_monk_staff_ground_miss", 3) SoundID.DD2_MonkStaffSwing = SoundID_CreateTrackable("dd2_monk_staff_swing", 4) SoundID.DD2_PhantomPhoenixShot = SoundID_CreateTrackable("dd2_phantom_phoenix_shot", 3) SoundID.DD2_SkyDragonsFuryCircle = SoundID_CreateTrackable("dd2_sky_dragons_fury_circle", 3) SoundID.DD2_SkyDragonsFuryShot = SoundID_CreateTrackable("dd2_sky_dragons_fury_shot", 3) SoundID.DD2_SkyDragonsFurySwing = SoundID_CreateTrackable("dd2_sky_dragons_fury_swing", 4) SoundID.DD2_BetsysWrathShot = SoundID.DD2_BetsyFireballShot SoundID.DD2_BetsysWrathImpact = SoundID.DD2_BetsyFireballImpact SoundID.LucyTheAxeTalk = SoundID_CreateTrackable("lucyaxe_talk", 5) SoundID.DeerclopsHit = SoundID_CreateTrackable("deerclops_hit", 3) SoundID.DeerclopsDeath = SoundID_CreateTrackable("deerclops_death") SoundID.DeerclopsScream = SoundID_CreateTrackable("deerclops_scream", 3) SoundID.DeerclopsIceAttack = SoundID_CreateTrackable("deerclops_ice_attack", 3) SoundID.DeerclopsRubbleAttack = SoundID_CreateTrackable("deerclops_rubble_attack") SoundID.DeerclopsStep = SoundID_CreateTrackable("deerclops_step") SoundID.ChesterOpen = SoundID_CreateTrackable("chester_open", 2) SoundID.ChesterClose = SoundID_CreateTrackable("chester_close", 2) SoundID.AbigailSummon = SoundID_CreateTrackable("abigail_summon") SoundID.AbigailCry = SoundID_CreateTrackable("abigail_cry", 3) SoundID.AbigailAttack = SoundID_CreateTrackable("abigail_attack") SoundID.AbigailUpgrade = SoundID_CreateTrackable("abigail_upgrade", 3) SoundID.GlommerBounce = SoundID_CreateTrackable("glommer_bounce", 2) SoundID.DSTMaleHurt = SoundID_CreateTrackable("dst_male_hit", 3) SoundID.DSTFemaleHurt = SoundID_CreateTrackable("dst_female_hit", 3) SoundID.JimsDrone = SoundID_CreateTrackable("Drone") end for i = 1, 57 do SoundID['NPCHit' .. i] = 'NPC_Hit_' .. i end for i = 1, 66 do SoundID['NPCDeath' .. i] = 'NPC_Killed_' .. i end

-- Main, NPC, GameModeData

local Main = {} Main.zenithWorld = false Main.getGoodWorld = false Main.tenthAnniversaryWorld = false Main.remixWorld = false Main.hardMode = false

local NPC = {} NPC.activeTime = 750 NPC.downedPlantBoss = false NPC.downedMechBossAny = false NPC.downedGolemBoss = false -- from Terraria.NPC.AnyNPCs NPC.AnyNPCs = function(type) return false end

---from Terraria.DataStructures.GameModeData local GameModeData = {} do GameModeData.NormalMode = { Id = 0, EnemyMaxLifeMultiplier = 1, EnemyDamageMultiplier = 1, DebuffTimeMultiplier = 1, KnockbackToEnemiesMultiplier = 1, TownNPCDamageMultiplier = 1, EnemyDefenseMultiplier = 1, EnemyMoneyDropMultiplier = 1 }	GameModeData.ExpertMode = { Id = 1, IsExpertMode = true, EnemyMaxLifeMultiplier = 2, EnemyDamageMultiplier = 2, DebuffTimeMultiplier = 2, KnockbackToEnemiesMultiplier = 0.9, TownNPCDamageMultiplier = 1.5, EnemyDefenseMultiplier = 1, EnemyMoneyDropMultiplier = 2.5 }	GameModeData.MasterMode = { Id = 2, IsExpertMode = true, IsMasterMode = true, EnemyMaxLifeMultiplier = 3, EnemyDamageMultiplier = 3, DebuffTimeMultiplier = 2.5, KnockbackToEnemiesMultiplier = 0.8, TownNPCDamageMultiplier = 1.75, EnemyDefenseMultiplier = 1, EnemyMoneyDropMultiplier = 2.5 }	GameModeData.CreativeMode = { Id = 3, IsJourneyMode = true, EnemyMaxLifeMultiplier = 1, EnemyDamageMultiplier = 1, DebuffTimeMultiplier = 1, KnockbackToEnemiesMultiplier = 1, TownNPCDamageMultiplier = 2, EnemyDefenseMultiplier = 1, EnemyMoneyDropMultiplier = 1 } end

-- NPC instance

local this = {}

---from Terraria.NPC.SpawnWithHigherTime local function SpawnWithHigherTime(timeMult) this.timeLeft = NPC.activeTime * timeMult end

---from Terraria.NPC.LazySetLiquidMovementDD2 local function LazySetLiquidMovementDD2 this.waterMovementSpeed = 1 this.lavaMovementSpeed = 1 this.honeyMovementSpeed = 1 end

---from Terraria.NPC.BannerID local function BannerID if (this.netID >= -10) then return this.netID end return this.type end

---from Terraria.NPC.GetStatScalingFactors local function GetStatScalingFactors(numPlayers) local balance = 1 local boost = 0.35 for i = 2, numPlayers do		balance = balance + boost boost = boost + (1 - boost) / 3 end if (balance > 8) then balance = (balance * 2 + 8) / 3 end if (balance > 1000) then balance = 1000 end return balance, boost end

---from Terraria.NPC.ScaleStats_ApplyExpertTweaks local function ScaleStats_ApplyExpertTweaks local flag if this.type < 0 then flag = false else flag = NPCID.Sets('ProjectileNPC', this.type) end local flag2 = not NPCID.Sets('DontDoHardmodeScaling', this.type) if (Main.getGoodWorld) then if ((this.type == 24 or this.type == 25) and NPC.AnyNPCs(113)) then flag2 = false; end if ((this.type == 32 or this.type == 33) and NPC.AnyNPCs(35)) then flag2 = false; end if (this.type == 6 and NPC.AnyNPCs(13)) then flag2 = false; end end if (flag2 and Main.hardMode and not this.boss and this.lifeMax < 1000) then local num = this.damage + this.defense + math.floor(this.lifeMax / 4) if (num == 0) then num = 1 end local num1 = 80 if (NPC.downedPlantBoss) then num1 = num1 + 20 end if (num < num1) then local single = math.floor(num1 / num) -- float single = (float)(num1 / num);  //int num1, num this.damage = math.floor((this.damage * single) * 0.9) if (not flag) then this.defense = math.floor(this.defense * single) this.lifeMax = math.floor((this.lifeMax * single) * 1.1) this.value = math.floor((this.value * single) * 0.8) end end end if (this.type == 210 or this.type == 211) then this.damage = math.floor(this.damage * 0.6) this.lifeMax = math.floor(this.lifeMax * 0.8) this.defense = math.floor(this.defense * 0.8) end end

---from Terraria.NPC.ScaleStats_ApplyGameMode local function ScaleStats_ApplyGameMode(gameModeData) local flag if this.type < 0 then flag = false else flag = NPCID.Sets('ProjectileNPC', this.type) end local num = 0 if ((not gameModeData.IsJourneyMode) and Main.getGoodWorld) then num = num + 1 end if not flag then this.value = (math.floor(this.value * (gameModeData.EnemyMoneyDropMultiplier + num))) this.lifeMax = math.floor(this.lifeMax * (gameModeData.EnemyMaxLifeMultiplier + num)) end this.damage = math.floor(this.damage * (gameModeData.EnemyDamageMultiplier + num)) this.knockBackResist = this.knockBackResist * gameModeData.KnockbackToEnemiesMultiplier end

---from Terraria.NPC.ScaleStats_ApplyMultiplayerStats local function ScaleStats_ApplyMultiplayerStats(numPlayers, balance, boost, bossAdjustment) if (this.type == 5) then this.lifeMax = math.floor(this.lifeMax * 0.75 * bossAdjustment) end if (this.type == 4) then this.lifeMax = math.floor(this.lifeMax * 0.65 * balance * bossAdjustment) end if (this.type >= 13 and this.type <= 15) then this.lifeMax = math.floor(this.lifeMax * 0.7 * balance * bossAdjustment) if (this.type == 13) then this.damage = math.floor(this.damage * 1.1) end if (this.type == 14) then this.damage = math.floor(this.damage * 0.8) end if (this.type == 15) then this.damage = math.floor(this.damage * 0.8) end this.scale = this.scale * 1.2 this.defense = this.defense + 2 end if (this.type == 266 or this.type == 267) then this.lifeMax = math.floor(this.lifeMax * 0.85 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.9) this.scale = this.scale * 1.05 local single = 1 while (single < balance) do			if (this.knockBackResist >= 0.1) then this.knockBackResist = this.knockBackResist * 0.8 single = single + 0.34 else this.knockBackResist = 0 break end end end if (this.type == 50) then this.lifeMax = math.floor(this.lifeMax * 0.7 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.8) end if (this.type == 471) then this.lifeMax = math.floor(this.lifeMax * 0.85 * (balance * 2 + 1) / 3) end if (this.type == 472) then this.lifeMax = math.floor(this.lifeMax * 0.85 * (balance + 1) / 2) this.damage = math.floor(this.damage * 0.8) end if (this.type == 222) then this.lifeMax = math.floor(this.lifeMax * 0.7 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.9) end if (this.type == 210 or this.type == 211) then this.lifeMax = math.floor(this.lifeMax * 0.75) end if (this.type == 35) then this.lifeMax = math.floor(this.lifeMax * balance * bossAdjustment) this.damage = math.floor(this.damage * 1.1) elseif (this.type == 36) then this.lifeMax = math.floor(this.lifeMax * 1.3 * balance * bossAdjustment) this.damage = math.floor(this.damage * 1.1) end if (this.type == 668) then this.lifeMax = math.floor(this.lifeMax * 0.85 * balance * bossAdjustment) end if (this.type == 113 or this.type == 114) then this.defense = this.defense + 6 this.lifeMax = math.floor(this.lifeMax * 0.7 * balance * bossAdjustment) this.damage = math.floor(this.damage * 1.5) elseif (this.type == 115) then this.lifeMax = math.floor(this.lifeMax * 0.7 * balance) if (numPlayers > 4) then this.knockBackResist = 0 elseif (numPlayers > 1) then this.knockBackResist = this.knockBackResist * (1 - boost) end this.defense = this.defense + 6 elseif (this.type == 116) then this.lifeMax = math.floor(this.lifeMax * 0.7 * balance) if (numPlayers > 4) then this.knockBackResist = 0 elseif (numPlayers > 1) then this.knockBackResist = this.knockBackResist * (1 - boost) end elseif (this.type == 117 or this.type == 118 or this.type == 119) then this.lifeMax = math.floor(this.lifeMax * 0.8) end if (this.type == 657) then this.lifeMax = math.floor(this.lifeMax * 0.8 * balance * bossAdjustment) end if (this.type >= 658 and this.type <= 660) then this.lifeMax = math.floor(this.lifeMax * 0.75 * balance * bossAdjustment) end if (this.type >= 134 and this.type <= 136) then this.lifeMax = math.floor(this.lifeMax * 0.75 * balance * bossAdjustment) if (this.type == 134) then this.damage = this.damage * 2 end if (this.type == 135) then this.damage = math.floor(this.damage * 0.85) end if (this.type == 136) then this.damage = math.floor(this.damage * 0.85) end this.scale = this.scale * 1.05 elseif (this.type == 139) then this.lifeMax = math.floor(this.lifeMax * 0.75 * (balance * 2 + 1) / 3) this.damage = math.floor(this.damage * 0.8) this.scale = this.scale * 1.05 end if (this.type >= 127 and this.type <= 131) then this.lifeMax = math.floor(this.lifeMax * 0.75 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.85) end if (this.type >= 125 and this.type <= 126) then this.lifeMax = math.floor(this.lifeMax * 0.75 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.85) end if (this.type == 262) then this.lifeMax = math.floor(this.lifeMax * 0.7 * balance * bossAdjustment) this.damage = math.floor(this.damage * 1.15) elseif (this.type == 264) then this.lifeMax = math.floor(this.lifeMax * balance * bossAdjustment) this.damage = math.floor(this.damage * 1.15) end if (this.type == 636) then this.lifeMax = math.floor(this.lifeMax * 0.7 * balance * bossAdjustment) this.damage = math.floor(this.damage * 1.15) end if (this.type >= 245 and this.type <= 249) then this.lifeMax = math.floor(this.lifeMax * 0.75 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.8) end if (this.type == 370) then this.lifeMax = math.floor(this.lifeMax * 0.65 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.7) elseif (this.type == 371 or this.type == 372 or this.type == 373) then if (this.type ~= 371) then this.lifeMax = math.floor(this.lifeMax * 0.75) end this.damage = math.floor(this.damage * 0.75) end if (this.type == 439 or this.type == 440 or this.type >= 454 and this.type <= 459 or this.type == 522 or this.type == 523) then if (this.type ~= 522) then this.lifeMax = math.floor(this.lifeMax * 0.75 * balance * bossAdjustment) end this.damage = math.floor(this.damage * 0.75) end if (this.type == 397 or this.type == 396 or this.type == 398) then this.lifeMax = math.floor(this.lifeMax * 0.75 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.75) end if (this.type == 551) then this.lifeMax = math.floor(this.lifeMax * 0.75 * balance * bossAdjustment) this.damage = math.floor(this.damage * 0.65) elseif NPCID.Sets('BelongsToInvasionOldOnesArmy',this.type) then local num = 7 local single1 = (balance * (num - 1) + 1) / num this.lifeMax = math.floor(this.lifeMax * single1 * bossAdjustment) end local num5 = 1 + (numPlayers - 1)*0.2 if (this.type >= 305 and this.type <= 314) or this.type == 326 or this.type == 329 or this.type == 330 then this.lifeMax = math.floor( this.lifeMax * 0.75 * num5) this.damage = math.floor( this.damage * 0.75) elseif this.type == 315 or this.type == 325 or this.type == 327 then this.lifeMax = math.floor(this.lifeMax * 0.65 * bossAdjustment) this.damage = math.floor(this.damage * 0.75) end if (this.type >= 338 and this.type <= 343) or (this.type >= 347 and this.type <= 352) then this.lifeMax = math.floor(this.lifeMax * 0.75 * num5) this.damage = math.floor(this.damage * 0.75) elseif (this.type >= 344 and this.type <= 346) then this.lifeMax = math.floor(this.lifeMax * 0.65 * bossAdjustment) this.damage = math.floor(this.damage * 0.75) end if (Main.getGoodWorld) then if (this.type == 6 and NPC.AnyNPCs(13)) then this.lifeMax = math.floor(this.lifeMax * 1.5 * bossAdjustment); this.defense = this.defense + 2; end if (this.type == 32 and NPC.AnyNPCs(35)) then this.lifeMax = math.floor(this.lifeMax * 1.5 * bossAdjustment); this.defense = this.defense + 6; end if (this.type == 24 and NPC.AnyNPCs(113)) then this.lifeMax = math.floor(this.lifeMax * 1.5 * bossAdjustment); this.defense = this.defense + 10; end end this.defDefense = this.defense this.defDamage = this.damage this.life = this.lifeMax end

local MathHelper={} MathHelper.Lerp = function(value1, value2, amount) return value1 + (value2 - value1) * amount; end local Utils={} Utils.GetLerpValue = function(from, to, t, clamped) if (clamped) then if (from >= to) then if (t < to) then return 1; end if (t > from) then return 0; end else if (t < from) then return 0; end if (t > to) then return 1; end end end return (t - from) / (to - from); end Utils.Remap = function(fromValue, fromMin, fromMax, toMin, toMax, clamped) return MathHelper.Lerp(toMin, toMax, Utils.GetLerpValue(fromMin, fromMax, fromValue, clamped)); end

---from Terraria.NPC.ScaleStats_UseStrengthMultiplier local function ScaleStats_UseStrengthMultiplier(strength) if(strength == 1) then return end local flag if(this.type < 0) then flag = false else flag = NPCID.Sets('ProjectileNPC', this.type) end if (not flag) then this.lifeMax = math.floor(this.lifeMax * strength) end this.damage = math.floor(this.damage * strength) local single = 1; local single1 = 2; local single2 = 3; local single3, single4; if (Main.getGoodWorld) then single = single + 1; single1 = single1 + 1; single2 = single2 + 1; end local enemyMoneyDropMultiplier, enemyMoneyDropMultiplier1 if (not flag) then enemyMoneyDropMultiplier = GameModeData.NormalMode.EnemyMoneyDropMultiplier; enemyMoneyDropMultiplier1 = GameModeData.ExpertMode.EnemyMoneyDropMultiplier; if (Main.getGoodWorld) then enemyMoneyDropMultiplier = enemyMoneyDropMultiplier + 1; enemyMoneyDropMultiplier1 = enemyMoneyDropMultiplier1 + 1; end single3 = Utils.Remap(strength, single, single1, enemyMoneyDropMultiplier, enemyMoneyDropMultiplier1, true); this.value = math.floor(this.value * single3); end knockbackToEnemiesMultiplier = GameModeData.NormalMode.KnockbackToEnemiesMultiplier; knockbackToEnemiesMultiplier1 = GameModeData.MasterMode.KnockbackToEnemiesMultiplier; single4 = Utils.Remap(strength, single, single2, knockbackToEnemiesMultiplier, knockbackToEnemiesMultiplier1, true); this.knockBackResist = this.knockBackResist * single4; end

local NPCStrengthHelper={} NPCStrengthHelper.new = function(data, strength, isGetGoodWorld) NPCStrengthHelper._strengthOverride = strength; NPCStrengthHelper._gameModeData = data; NPCStrengthHelper._gameModeDifficulty = 1; if (NPCStrengthHelper._gameModeData.IsExpertMode) then NPCStrengthHelper._gameModeDifficulty = NPCStrengthHelper._gameModeDifficulty + 1; end if (NPCStrengthHelper._gameModeData.IsMasterMode) then NPCStrengthHelper._gameModeDifficulty = NPCStrengthHelper._gameModeDifficulty + 1; end if (isGetGoodWorld) then NPCStrengthHelper._gameModeDifficulty = NPCStrengthHelper._gameModeDifficulty + 1; end end NPCStrengthHelper.IsExpertMode = function if (NPCStrengthHelper._strengthOverride >= 2) then return true; end return NPCStrengthHelper._gameModeDifficulty >= 2; end NPCStrengthHelper.IsMasterMode = function if (NPCStrengthHelper._strengthOverride >= 3) then return true; end return NPCStrengthHelper._gameModeDifficulty >= 3; end NPCStrengthHelper.ExtraDamageForGetGoodWorld = function if (NPCStrengthHelper._strengthOverride >= 4) then return true; end return NPCStrengthHelper._gameModeDifficulty >= 4; end

---from Terraria.NPC.ScaleStats local function ScaleStats(activePlayersCount, gameModeData, strengthOverride)

local single local single1 if (not NPCID.Sets('NeedsExpertScaling', this.type) and (this.lifeMax <= 5 or this.damage == 0 or this.friendly or this.townNPC)) then return end local value = 1 if (strengthOverride) then value = strengthOverride -- //just use strengthOverride --	elseif (gameModeData.IsJourneyMode) then --		CreativePowers.DifficultySliderPower power = CreativePowerManager.Instance.GetPower --		if (power ~= null and power.GetIsUnlocked) --		{ --			value = power.StrengthMultiplierToGiveNPCs --		}	end local single2 = value; if (gameModeData.IsJourneyMode and Main.getGoodWorld) then value = value + 1; end NPCStrengthHelper.new(gameModeData, value) if (NPCStrengthHelper.IsExpertMode) then ScaleStats_ApplyExpertTweaks end ScaleStats_ApplyGameMode(gameModeData) if (Main.getGoodWorld and NPCStrengthHelper.ExtraDamageForGetGoodWorld) then this.damage = this.damage + this.damage / 3; end if (NPCStrengthHelper.IsExpertMode) then local num = activePlayersCount or 1 this.statsAreScaledForThisManyPlayers = num single, single1 = GetStatScalingFactors(num) local single3 = 1 if (gameModeData.IsMasterMode) then single3 = 0.85 end ScaleStats_ApplyMultiplayerStats(num, single, single1, single3) end ScaleStats_UseStrengthMultiplier(value) this.strengthMultiplier = single2; if (((this.type < 0 ) and true or not NPCID.Sets('ProjectileNPC', this.type)) and this.lifeMax < 6) then this.lifeMax = 6 end this.life = this.lifeMax this.defDamage = this.damage this.defDefense = this.defense end

---from Terraria.NPCSpawnParams.WithScale local function WithScale(spawnparams, scaleOverride) -- before 1.4.0.5, this method actually did nothing. this is fixed in 1.4.0.5. spawnparams.sizeScaleOverride = scaleOverride return spawnparams end

local SetDefaultsFromNetId, SetDefaults, SetDefaults_ForNetId

---from Terraria.NPC.SetDefaults_ForNetId function SetDefaults_ForNetId(Type, spawnparams, scaleOverride) if (type(spawnparams) == 'table') then SetDefaults(Type, WithScale(spawnparams, scaleOverride)) else scaleOverride = spawnparams local nPCSpawnParam = { sizeScaleOverride = scaleOverride, }		SetDefaults(Type, nPCSpawnParam) end end

local function getZenithSeedAdjustmentsBeforeEverything local num = this.type; if (num - 125 <= 6 or num == 139) then this.lifeMax = math.floor(this.lifeMax * 0.8); end end

local function getGoodAdjustments local single = this.scale if (this.type == 13) then this.scale = this.scale * 1.35 this.defense = this.defense + 2 elseif (this.type == 14) then this.scale = this.scale * 1.4 this.defense = this.defense + 2 elseif (this.type == 15) then this.scale = this.scale * 1.4 this.defense = this.defense + 2 elseif (this.type == 35) then this.scale = this.scale * 1.25 elseif (this.type == 36) then this.scale = this.scale * 1.15 elseif (this.type == 113) then this.scale = this.scale * 0.65 this.lifeMax = math.floor(this.lifeMax * 1.5) this.defense = this.defense + 3 elseif (this.type == 114) then this.scale = this.scale * 0.65 this.lifeMax = math.floor(this.lifeMax * 1.5) this.defense = this.defense + 3 elseif (this.type == 115) then this.scale = this.scale * 1.4 elseif (this.type == 116) then this.scale = this.scale * 1.4 elseif (this.type == 222) then this.scale = this.scale * 1.2 elseif (this.type == 245) then this.canDisplayBuffs = false this.scale = this.scale * 0.5 elseif (this.type == 246) then this.canDisplayBuffs = false this.scale = this.scale * 0.5 elseif (this.type == 247 or this.type == 248) then this.canDisplayBuffs = false this.scale = this.scale * 0.5 elseif (this.type == 249) then this.scale = this.scale * 0.5 elseif (this.type == 262) then this.scale = this.scale * 1.3 elseif (this.type == 266) then this.defense = math.floor(this.defense * 1.5) this.damage = math.floor(this.damage * 1.2) this.scale = this.scale * 1.1 elseif (this.type == 125) then this.scale = this.scale * 0.8 elseif (this.type == 126) then this.scale = this.scale * 0.8 elseif (this.type == 127) then this.scale = this.scale * 1.1 elseif (this.type == 128) then this.scale = this.scale * 1.1 elseif (this.type == 129) then this.scale = this.scale * 1.1 elseif (this.type == 130) then this.scale = this.scale * 1.1 elseif (this.type == 131) then this.scale = this.scale * 1.1 elseif (this.type == 134) then this.scale = this.scale * 1.3 elseif (this.type == 135) then this.scale = this.scale * 1.3 elseif (this.type ~= 136) then if (this.type ~= 139) then return end this.scale = this.scale * 1.6 else this.scale = this.scale * 1.3 end if (this.IsABestiaryIconDummy) then this.scale = single return end this.width = math.floor(this.width * this.scale) this.height = math.floor(this.height * this.scale) end

local function getTenthAnniversaryAdjustments local num = this.scale local num2 = 0.5 if this.type == 4 then this.scale = this.scale * num2 elseif this.type == 13 or this.type == 14 or this.type == 15 then this.scale = this.scale * num2 elseif this.type == 266 or this.type == 267 then this.scale = this.scale * num2 elseif this.type == 35 or this.type == 36 then this.scale = this.scale * num2 elseif this.type == 222 then this.scale = this.scale * num2 elseif this.type == 113 or this.type == 114 or this.type == 115 or this.type == 116 then this.scale = this.scale * num2 elseif this.type == 134 or this.type == 135 or this.type == 136 or this.type == 139 then this.scale = this.scale * num2 elseif this.type == 125 or this.type == 126 then this.scale = this.scale * num2 elseif this.type == 127 or this.type == 128 or this.type == 129 or this.type == 130 or this.type == 131 then this.scale = this.scale * num2 elseif this.type == 370 then this.scale = this.scale * num2 elseif this.type == 636 then this.scale = this.scale * num2 elseif this.type == 422 or this.type == 493 or this.type == 507 or this.type == 517 then this.scale = this.scale * num2 end if (this.IsABestiaryIconDummy) then this.scale = num return end this.width = math.floor(this.width * this.scale) this.height = math.floor(this.height * this.scale) end

---from Terraria.NPC.SetDefaultsFromNetId function SetDefaultsFromNetId(id, spawnparams) local flag = false local num = NPCID.FromNetId(id) SetDefaults(0) if (id == -1) then SetDefaults_ForNetId(num, 0.6) flag = true this.damage = 45 this.defense = 10 this.life = 90 this.knockBackResist = this.knockBackResist * 1.2 this.value = 100 elseif (id == -2) then SetDefaults_ForNetId(num, 0.9) flag = true this.damage = 45 this.defense = 20 this.life = 90 this.knockBackResist = this.knockBackResist * 1.2 this.value = 100 elseif (id == -3) then SetDefaults_ForNetId(num, 0.9) flag = true this.damage = 6 this.defense = 0 this.life = 14 this.knockBackResist = this.knockBackResist * 1.2 -- this.color = new Color(0, 220, 40, 100) this.value = 3 elseif (id == -4) then SetDefaults_ForNetId(num, 0.6) flag = true this.damage = 5 this.defense = 5 this.life = 150 this.knockBackResist = this.knockBackResist * 1.4 -- this.color = new Color(250, 30, 90, 90) this.value = 10000 this.rarity = 2 elseif (id == -5) then SetDefaults_ForNetId(num, 0.9) flag = true this.damage = 13 this.defense = 4 this.life = 30 this.knockBackResist = this.knockBackResist * 0.95 this.alpha = 120 -- this.color = new Color(0, 0, 0, 50) this.value = 10 elseif (id == -6) then SetDefaults_ForNetId(num, 1.05) flag = true this.damage = 15 this.defense = 4 this.life = 45 -- this.color = new Color(0, 0, 0, 50) this.value = 20 elseif (id == -7) then SetDefaults_ForNetId(num, 1.2) flag = true this.damage = 12 this.defense = 6 this.life = 40 this.knockBackResist = this.knockBackResist * 0.9 -- this.color = new Color(200, 0, 255, 150) this.value = 10 elseif (id == -8) then SetDefaults_ForNetId(num, 1.025) flag = true this.damage = 12 this.defense = 4 this.life = 35 -- this.color = new Color(255, 30, 0, 100) this.value = 8 elseif (id == -9) then SetDefaults_ForNetId(num, 1.2) flag = true this.damage = 15 this.defense = 7 this.life = 45 -- this.color = new Color(255, 255, 0, 100) this.value = 10 elseif (id == -10) then SetDefaults_ForNetId(num, 1.1) flag = true this.damage = 18 this.defense = 6 this.life = 60 -- this.color = new Color(143, 215, 93, 100) this.value = 500 elseif (id == -11) then local single = 0.85 if (Main.remixWorld) then single = single * 1.3 end SetDefaults_ForNetId(num, spawnparams, single) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -12) then local single1 = 1.15; if (Main.remixWorld or Main.getGoodWorld) then single1 = single1 * 1.3; end SetDefaults_ForNetId(num, spawnparams, single1) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -13) then SetDefaults_ForNetId(num, spawnparams, 0.9) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) elseif (id == -14) then SetDefaults_ForNetId(num, spawnparams, 1.15) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor((this.damage * this.scale) * 1.1) this.life = math.floor((this.life * this.scale) * 1.1) this.value = (math.floor(this.value * this.scale)) this.npcSlots = 2 this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -15) then SetDefaults_ForNetId(num, spawnparams, 1.15) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor((this.damage * this.scale) * 1.1) this.life = 400 this.value = (math.floor(this.value * this.scale)) this.npcSlots = 2 this.knockBackResist = this.knockBackResist * (2 - this.scale) this.height = 44 elseif (id == -16) then SetDefaults_ForNetId(num, spawnparams, 0.85) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -17) then SetDefaults_ForNetId(num, spawnparams, 1.2) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -18) then SetDefaults_ForNetId(num, spawnparams, 0.8) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -19) then SetDefaults_ForNetId(num, spawnparams, 0.9) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -20) then SetDefaults_ForNetId(num, 1.1) this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -21) then SetDefaults_ForNetId(num, spawnparams, 1.2) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -22) then local single2 = 0.85; if (Main.remixWorld) then single2 = single2 * 1.3; end SetDefaults_ForNetId(num, spawnparams, single2) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -23) then local single3 = 1.15; if (Main.remixWorld) then single3 = single2 * 1.3; end SetDefaults_ForNetId(num, spawnparams, single3) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -24) then SetDefaults_ForNetId(num, spawnparams, 0.85) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -25) then SetDefaults_ForNetId(num, spawnparams, 1.15) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -26) then SetDefaults_ForNetId(num, spawnparams, 0.9) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -27) then SetDefaults_ForNetId(num, spawnparams, 1.1) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -28) then SetDefaults_ForNetId(num, spawnparams, 0.85) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -29) then SetDefaults_ForNetId(num, spawnparams, 1.15) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -30) then SetDefaults_ForNetId(num, spawnparams, 0.93) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -31) then SetDefaults_ForNetId(num, spawnparams, 1.13) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -32) then SetDefaults_ForNetId(num, spawnparams, 0.89) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -33) then SetDefaults_ForNetId(num, spawnparams, 1.11) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -34) then SetDefaults_ForNetId(num, spawnparams, 0.87) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -35) then SetDefaults_ForNetId(num, spawnparams, 1.13) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -36) then SetDefaults_ForNetId(num, spawnparams, 0.92) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -37) then SetDefaults_ForNetId(num, spawnparams, 1.08) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -38) then SetDefaults_ForNetId(num, spawnparams, 1.15) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -39) then SetDefaults_ForNetId(num, spawnparams, 1.1) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -40) then SetDefaults_ForNetId(num, spawnparams, 0.9) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -41) then SetDefaults_ForNetId(num, spawnparams, 0.85) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -42) then SetDefaults_ForNetId(num, spawnparams, 1.1) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -43) then SetDefaults_ForNetId(num, spawnparams, 1.15) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -44) then SetDefaults_ForNetId(num, spawnparams, 0.87) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -45) then SetDefaults_ForNetId(num, spawnparams, 1.05) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -46) then SetDefaults_ForNetId(num, spawnparams, 0.9) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -47) then SetDefaults_ForNetId(num, spawnparams, 1.1) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -48) then SetDefaults_ForNetId(num, spawnparams, 0.93) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -49) then SetDefaults_ForNetId(num, spawnparams, 1.07) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -50) then SetDefaults_ForNetId(num, spawnparams, 0.87) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -51) then SetDefaults_ForNetId(num, spawnparams, 1.13) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -52) then SetDefaults_ForNetId(num, spawnparams, 0.85) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -53) then SetDefaults_ForNetId(num, spawnparams, 1.15) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -54) then SetDefaults_ForNetId(num, spawnparams, 0.9) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -55) then SetDefaults_ForNetId(num, spawnparams, 1.1) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -56) then SetDefaults_ForNetId(num, spawnparams, 0.85) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -57) then SetDefaults_ForNetId(num, spawnparams, 1.25) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -58) then SetDefaults_ForNetId(num, spawnparams, 0.8) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -59) then SetDefaults_ForNetId(num, spawnparams, 1.15) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -60) then SetDefaults_ForNetId(num, spawnparams, 0.92) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -61) then SetDefaults_ForNetId(num, spawnparams, 1.1) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -62) then SetDefaults_ForNetId(num, spawnparams, 0.78) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id == -63) then SetDefaults_ForNetId(num, spawnparams, 1.16) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) elseif (id ~= -64) then if (id ~= -65) then return end SetDefaults_ForNetId(num, spawnparams, 1.21) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) else SetDefaults_ForNetId(num, spawnparams, 0.87) flag = false this.defense = math.floor(this.defense * this.scale) this.damage = math.floor(this.damage * this.scale) this.life = math.floor(this.life * this.scale) this.value = (math.floor(this.value * this.scale)) this.npcSlots = this.npcSlots * this.scale this.knockBackResist = this.knockBackResist * (2 - this.scale) end this.netID = id	this.lifeMax = this.life this.defDamage = this.damage this.defDefense = this.defense if (flag) then ScaleStats(spawnparams.playerCountForMultiplayerDifficultyOverride, spawnparams.gameModeData, spawnparams.strengthMultiplierOverride) this.life = this.lifeMax end end

---from Terraria.NPC.SetDefaults function SetDefaults(Type, spawnparams)

spawnparams = spawnparams or {}

spawnparams.sizeScaleOverride = spawnparams.sizeScaleOverride or 1 spawnparams.playerCountForMultiplayerDifficultyOverride = spawnparams.playerCountForMultiplayerDifficultyOverride or 1 spawnparams.gameModeData = spawnparams.gameModeData or GameModeData.NormalMode spawnparams.strengthMultiplierOverride = spawnparams.strengthMultiplierOverride or 1

local single local flag local nullable local nullable1 local nullable2

if (Main.getGoodWorld and spawnparams.sizeScaleOverride) then spawnparams.sizeScaleOverride = (spawnparams.sizeScaleOverride + spawnparams.sizeScaleOverride * spawnparams.sizeScaleOverride) / 2 end

if Type < 0 then SetDefaultsFromNetId(Type, spawnparams) return end this = {} -- reset -- resetStat local single1 = 0.5 single = single1 this.lavaMovementSpeed = single1 this.waterMovementSpeed = single this.honeyMovementSpeed = 0.25 this.altTexture = 0 this.townNpcVariationIndex = 0 this.nameOver = 0 this.takenDamageMultiplier = 1 this.extraValue = 0 this.rarity = 0 this.dontCountMe = false this.releaseOwner = 255 this.catchItem = 0 this.needsUniqueInfoUpdate = true this.netStream = 32 this.buffImmuneAll = false this.buffImmuneAllNotWhips = false this.netID = 0 this.netAlways = false this.netSpam = 0 this.SpawnedFromStatue = false this.CanBeReplacedByOtherNPCs = false; -- this.shimmerTransparency = 0; -- if (this.netShimmer) -- {   --     this.shimmerTransparency = 1f; --    this.netShimmer = false; -- }	this.statsAreScaledForThisManyPlayers = 0 this.strengthMultiplier = 1 this.buffImmune = {} this.setFrameSize = false; this.netSkip = -2; this.realLife = -1; this.lifeRegen = 0; this.lifeRegenExpectedLossPerSecond = -1; this.lifeRegenCount = 0; this.markedByScytheWhip = false; this.poisoned = false; this.soulDrain = false; this.venom = false; this.shadowFlame = false; this.canDisplayBuffs = true; this.onFire = false; this.midas = false; this.ichor = false; this.onFrostBurn = false; this.onFrostBurn2 = false; this.shimmering = false; this.confused = false; this.loveStruck = false; this.dontTakeDamageFromHostiles = false; this.stinky = false; this.dryadWard = false; this.onFire2 = false; this.onFire3 = false; this.justHit = false; this.dontTakeDamage = false; this.catchableNPCTempImmunityCounter = 0; this.npcSlots = 1 this.lavaImmune = false this.lavaWet = false this.wetCount = 0 this.wet = false this.townNPC = false this.homeless = false this.homeTileX = -1 this.homeTileY = -1 this.housingCategory = 0 this.friendly = false this.behindTiles = false this.boss = false this.noTileCollide = false this.rotation = 0 this.active = true this.alpha = 0 -- this.color = new Color this.collideX = false this.collideY = false this.direction = 0 this.oldDirection = this.direction this.frameCounter = 0 this.netUpdate = true this.netUpdate2 = false this.knockBackResist = 1 this.GivenName = "" this.noGravity = false this.scale = 1 this.HitSound = '' this.DeathSound = '' this.spriteDirection = -1 this.timeLeft = NPC.activeTime this.type = Type this.value = 0 this.coldDamage = false this.trapImmune = false this.hide = false this.immortal = false this.chaseable = true this.breath = 200 this.breathCounter = 0 this.reflectsProjectiles = false; this.canGhostHeal = true; this.javelined = false; this.tentacleSpiked = false; this.bloodButchered = false; this.daybreak = false; this.celled = false; this.dryadBane = false; this.betsysCurse = false; this.oiled = false; this.despawnEncouraged = false; this.width = 0 this.height = 0 this.lifeMax = 0 this.damage = 0 this.defense = 0

-- ==================

if (this.type == 1) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 7 this.defense = 2 this.lifeMax = 25 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 175 -- this.color = new Color(0, 80, 255, 100) this.value = 25 elseif (this.type == 2) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 18 this.defense = 2 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.value = 75 elseif (this.type == 3) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 6 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 60 elseif (this.type == 430) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 6 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 60 elseif (this.type == 431) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 16 this.defense = 8 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.45 this.value = 80 elseif (this.type == 432) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 16 this.defense = 8 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.45 this.value = 65 elseif (this.type == 433) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 13 this.defense = 6 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.55 this.value = 55 elseif (this.type == 434) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 13 this.defense = 8 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.45 this.value = 80 elseif (this.type == 435) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 16 this.defense = 4 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.55 this.value = 70 elseif (this.type == 436) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 12 this.defense = 4 this.lifeMax = 38 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.6 this.value = 65 elseif (this.type == 4) then this.width = 100 this.height = 110 this.aiStyle = 4 this.damage = 15 this.defense = 12 this.lifeMax = 2800 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true SpawnWithHigherTime(30) this.boss = true this.value = 30000 this.npcSlots = 5 elseif (this.type == 5) then this.width = 20 this.height = 20 this.aiStyle = 5 this.damage = 12 this.defense = 0 this.lifeMax = 8 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true elseif (this.type == 6) then this.npcSlots = 1 this.width = 30 this.height = 30 this.aiStyle = 5 this.damage = 22 this.defense = 8 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.knockBackResist = 0.5 this.value = 90 if (Main.remixWorld) then this.scale = this.scale * 1.3 this.damage = math.floor(this.damage * this.scale) this.defense = math.floor(this.defense * this.scale) this.lifeMax = math.floor(this.lifeMax * this.scale) this.value = (math.floor(this.value * this.scale)) elseif (Main.getGoodWorld) then this.scale = this.scale * 1.3 end elseif (this.type == 7) then this.npcSlots = 3.5 this.width = 22 this.height = 22 this.aiStyle = 6 this.damage = 31 this.defense = 2 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 140 this.netAlways = true if (Main.remixWorld) then this.scale = this.scale * 1.3 this.damage = math.floor(this.damage * this.scale) this.defense = math.floor(this.defense * this.scale) this.lifeMax = math.floor(this.lifeMax * this.scale) this.value = (math.floor(this.value * this.scale)) end elseif (this.type == 8) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 16 this.defense = 6 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 140 this.dontCountMe = true if (Main.remixWorld) then this.scale = this.scale * 1.3 this.damage = math.floor(this.damage * this.scale) this.defense = math.floor(this.defense * this.scale) this.lifeMax = math.floor(this.lifeMax * this.scale) this.value = (math.floor(this.value * this.scale)) end elseif (this.type == 9) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 13 this.defense = 10 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 140 this.dontCountMe = true if (Main.remixWorld) then this.scale = this.scale * 1.3 this.damage = math.floor(this.damage * this.scale) this.defense = math.floor(this.defense * this.scale) this.lifeMax = math.floor(this.lifeMax * this.scale) this.value = (math.floor(this.value * this.scale)) end elseif (this.type == 10) then this.width = 14 this.height = 14 this.aiStyle = 6 this.netAlways = true this.damage = 8 this.defense = 0 this.lifeMax = 30 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 40 elseif (this.type == 11) then this.width = 14 this.height = 14 this.aiStyle = 6 this.netAlways = true this.damage = 4 this.defense = 4 this.lifeMax = 30 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 40 this.dontCountMe = true elseif (this.type == 12) then this.width = 14 this.height = 14 this.aiStyle = 6 this.netAlways = true this.damage = 4 this.defense = 6 this.lifeMax = 30 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 40 this.dontCountMe = true elseif (this.type == 13) then this.npcSlots = 5 this.width = 38 this.height = 38 this.aiStyle = 6 this.netAlways = true this.damage = 22 this.defense = 2 this.lifeMax = 150 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 800 this.scale = 1 this.alpha = 255 elseif (this.type == 14) then this.width = 38 this.height = 38 this.aiStyle = 6 this.netAlways = true this.damage = 13 this.defense = 4 this.lifeMax = 150 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 800 this.scale = 1 this.dontCountMe = true this.alpha = 255 elseif (this.type == 15) then this.width = 38 this.height = 38 this.aiStyle = 6 this.netAlways = true this.damage = 11 this.defense = 8 this.lifeMax = 150 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 800 this.scale = 1 this.dontCountMe = true this.alpha = 255 elseif (this.type == 16) then this.npcSlots = 2 this.width = 36 this.height = 24 this.aiStyle = 1 this.damage = 20 this.defense = 7 this.lifeMax = 90 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 120 -- this.color = new Color(0, 0, 0, 50) this.value = 75 this.scale = 1.25 this.knockBackResist = 0.6 elseif (this.type == 17) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 18) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 19) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 20) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 21) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 8 this.lifeMax = 60 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 100 elseif (this.type == 22) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 23) then this.width = 22 this.height = 22 this.aiStyle = 5 this.damage = 40 this.defense = 6 this.lifeMax = 26 this.HitSound = SoundID.NPCHit3 this.DeathSound = SoundID.NPCDeath3 this.noGravity = true this.noTileCollide = true this.value = 80 this.knockBackResist = 0.4 elseif (this.type == 24) then this.npcSlots = 3 this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 30 this.defense = 16 this.lifeMax = 70 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.lavaImmune = true this.value = 350 elseif (this.type == 25) then this.width = 16 this.height = 16 this.aiStyle = 9 this.damage = 30 this.defense = 0 this.lifeMax = 1 this.HitSound = SoundID.NPCHit3 this.DeathSound = SoundID.NPCDeath3 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.alpha = 100 elseif (this.type == 31) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 26 this.defense = 8 this.lifeMax = 80 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.8 this.value = 130 elseif (this.type == 32) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 20 this.defense = 2 this.lifeMax = 50 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.6 this.value = 140 this.npcSlots = 2 elseif (this.type == 33) then this.width = 16 this.height = 16 this.aiStyle = 9 this.damage = 20 this.defense = 0 this.lifeMax = 1 this.HitSound = SoundID.NPCHit3 this.DeathSound = SoundID.NPCDeath3 this.noGravity = true this.noTileCollide = true this.alpha = 255 this.knockBackResist = 0 elseif (this.type == 34) then this.width = 26 this.height = 28 this.aiStyle = 10 this.damage = 35 this.defense = 6 this.lifeMax = 40 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.noGravity = true this.noTileCollide = true this.value = 150 this.knockBackResist = 0.2 this.npcSlots = 0.75 elseif (this.type == 35) then this.width = 80 this.height = 102 this.aiStyle = 11 this.damage = 32 this.defense = 10 this.lifeMax = 4400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.noGravity = true this.noTileCollide = true this.value = 50000 this.knockBackResist = 0 this.boss = true this.npcSlots = 6 elseif (this.type == 36) then this.width = 52 this.height = 52 this.aiStyle = 12 this.damage = 20 this.defense = 14 this.lifeMax = 600 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 elseif (this.type == 37) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 38) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 39) then this.npcSlots = 6 this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 36 this.defense = 12 this.lifeMax = 300 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath5 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 1200 if (Main.getGoodWorld) then this.lifeMax = this.lifeMax + 100 this.defense = this.defense + 2 this.damage = this.damage + 4 this.scale = 1.1 if (Main.remixWorld) then this.lifeMax = this.lifeMax + 50 this.scale = this.scale * 1.2 this.defense = this.defense + 4 end end elseif (this.type == 40) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 20 this.defense = 18 this.lifeMax = 300 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath5 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 1200 this.dontCountMe = true if (Main.getGoodWorld) then this.lifeMax = this.lifeMax + 100 this.defense = this.defense + 2 this.damage = this.damage + 4 this.scale = 1.1 if (Main.remixWorld) then this.lifeMax = this.lifeMax + 50 this.scale = this.scale * 1.2 this.defense = this.defense + 4 end end elseif (this.type == 41) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 16 this.defense = 18 this.lifeMax = 300 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath5 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 1200 this.dontCountMe = true if (Main.getGoodWorld) then this.lifeMax = this.lifeMax + 100 this.defense = this.defense + 2 this.damage = this.damage + 4 this.scale = 1.1 if (Main.remixWorld) then this.lifeMax = this.lifeMax + 50 this.scale = this.scale * 1.2 this.defense = this.defense + 4 end end elseif (this.type == 42) then this.width = 34 this.height = 32 this.aiStyle = 5 this.damage = 26 this.defense = 12 this.lifeMax = 48 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.5 this.DeathSound = SoundID.NPCDeath1 this.value = 200 this.noGravity = true elseif (this.type == 43) then this.noGravity = true this.noTileCollide = true this.width = 30 this.height = 30 this.aiStyle = 13 this.damage = 34 this.defense = 10 this.lifeMax = 110 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0 this.DeathSound = SoundID.NPCDeath1 this.value = 350 elseif (this.type == 44) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 22 this.defense = 9 this.lifeMax = 70 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 250 this.rarity = 1 elseif (this.type == 45) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 20 this.defense = 4 this.lifeMax = 200 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.6 this.value = 5000 this.rarity = 4 elseif (this.type == 46 or this.type == 303 or this.type == 337 or this.type == 540) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2019 elseif (this.type == 47) then this.width = 18 this.height = 20 this.aiStyle = 3 this.damage = 20 this.defense = 4 this.lifeMax = 70 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 48) then this.width = 24 this.height = 34 this.aiStyle = 14 this.damage = 25 this.defense = 8 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.6 this.DeathSound = SoundID.NPCDeath1 this.value = 300 elseif (this.type == 49) then this.npcSlots = 0.5 this.width = 22 this.height = 18 this.aiStyle = 14 this.damage = 13 this.defense = 2 this.lifeMax = 16 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath4 this.value = 90 elseif (this.type == 50) then this.boss = true this.width = 98 this.height = 92 this.aiStyle = 15 this.damage = 40 this.defense = 10 this.lifeMax = 2000 this.knockBackResist = 0 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 30 this.value = 10000 this.scale = 1.25 SpawnWithHigherTime(30) this.npcSlots = 5 elseif (this.type == 51) then this.npcSlots = 0.5 this.width = 22 this.height = 18 this.aiStyle = 14 this.damage = 20 this.defense = 4 this.lifeMax = 34 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath4 this.value = 80 elseif (this.type == 52) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 10 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 1000 this.rarity = 2 elseif (this.type == 53) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 8 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 1000 this.rarity = 2 elseif (this.type == 54) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 55) then this.noGravity = true this.width = 20 this.height = 18 this.aiStyle = 16 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.catchItem = 261 elseif (this.type == 56) then this.noTileCollide = true this.noGravity = true this.width = 30 this.height = 30 this.aiStyle = 13 this.damage = 25 this.defense = 10 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0 this.DeathSound = SoundID.NPCDeath1 this.value = 90 elseif (this.type == 57) then this.noGravity = true this.width = 18 this.height = 20 this.aiStyle = 16 this.damage = 30 this.defense = 6 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 58) then this.npcSlots = 0.5 this.noGravity = true this.width = 18 this.height = 20 this.aiStyle = 16 this.damage = 25 this.defense = 2 this.lifeMax = 30 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 50 elseif (this.type == 59) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 15 this.defense = 10 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.scale = 1.1 this.alpha = 50 this.lavaImmune = true this.value = 120 if (Main.remixWorld) then this.damage = 7 this.defense = 2 this.lifeMax = 25 this.value = 25 end elseif (this.type == 60) then this.npcSlots = 0.5 this.width = 22 this.height = 18 this.aiStyle = 14 this.damage = 35 this.defense = 8 this.lifeMax = 46 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath4 this.value = 120 this.scale = 1.1 this.lavaImmune = true elseif (this.type == 61) then this.width = 36 this.height = 36 this.aiStyle = 17 this.damage = 15 this.defense = 4 this.lifeMax = 40 this.knockBackResist = 0.8 this.HitSound = SoundID.NPCHit28 this.DeathSound = SoundID.NPCDeath31 this.value = 60 elseif (this.type == 62) then this.npcSlots = 2 this.width = 28 this.height = 48 this.aiStyle = 14 this.damage = 32 this.defense = 8 this.lifeMax = 120 this.HitSound = SoundID.NPCHit21 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath24 this.value = 300 this.lavaImmune = true elseif (this.type == 63) then this.noGravity = true this.width = 26 this.height = 26 this.aiStyle = 18 this.damage = 25 this.defense = 4 this.lifeMax = 34 this.HitSound = SoundID.NPCHit25 this.DeathSound = SoundID.NPCDeath28 this.value = 100 this.alpha = 20 elseif (this.type == 64) then this.noGravity = true this.width = 26 this.height = 26 this.aiStyle = 18 this.damage = 30 this.defense = 6 this.lifeMax = 70 this.HitSound = SoundID.NPCHit25 this.DeathSound = SoundID.NPCDeath28 this.value = 100 this.alpha = 20 elseif (this.type == 65) then this.noGravity = true this.width = 100 this.height = 24 this.aiStyle = 16 this.damage = 40 this.defense = 2 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 400 this.knockBackResist = 0.7 elseif (this.type == 66) then this.npcSlots = 2 this.width = 28 this.height = 48 this.aiStyle = 14 this.damage = 32 this.defense = 8 this.lifeMax = 140 this.HitSound = SoundID.NPCHit21 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath24 this.value = 1000 this.lavaImmune = true this.rarity = 1 elseif (this.type == 67) then this.width = 28 this.height = 20 this.aiStyle = 3 this.damage = 20 this.defense = 10 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 60 elseif (this.type == 68) then this.width = 80 this.height = 102 this.aiStyle = 11 this.damage = 1000 this.defense = 9999 this.lifeMax = 9999 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 elseif (this.type == 69) then this.width = 24 this.height = 24 this.aiStyle = 19 this.damage = 10 this.defense = 6 this.lifeMax = 45 this.HitSound = SoundID.NPCHit31 this.DeathSound = SoundID.NPCDeath34 this.knockBackResist = 0 this.value = 60 this.behindTiles = true elseif (this.type == 70) then this.npcSlots = 0.3 this.width = 34 this.height = 34 this.aiStyle = 20 this.damage = 32 this.defense = 100 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.dontTakeDamage = true this.scale = 1.5 elseif (this.type == 71) then this.npcSlots = 2 this.width = 36 this.height = 24 this.aiStyle = 1 this.damage = 30 this.defense = 7 this.lifeMax = 150 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 60 this.value = 150 this.scale = 1.25 this.knockBackResist = 0.6 this.rarity = 1 elseif (this.type == 72) then this.npcSlots = 0.3 this.width = 34 this.height = 34 this.aiStyle = 21 this.damage = 24 this.defense = 100 this.lifeMax = 100 this.alpha = 100 this.behindTiles = true this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.noGravity = true this.dontTakeDamage = true this.scale = 1.2 elseif (this.type == 73) then this.scale = 0.95 this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 6 this.lifeMax = 80 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.7 this.value = 200 this.rarity = 1 elseif (this.type == 74 or this.type == 297 or this.type == 298) then this.width = 14 this.height = 14 this.aiStyle = 24 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 if (this.type == 74) then this.catchItem = 2015 end if (this.type == 297) then this.catchItem = 2016 end if (this.type == 298) then this.catchItem = 2017 end this.npcSlots = 0.4 elseif (this.type == 75) then this.noGravity = true this.width = 20 this.height = 20 this.aiStyle = 22 this.damage = 55 this.defense = 20 this.lifeMax = 150 this.HitSound = SoundID.NPCHit5 this.knockBackResist = 0.6 this.DeathSound = SoundID.NPCDeath7 this.value = 350 elseif (this.type == 77) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 40 this.defense = 28 this.lifeMax = 260 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 400 elseif (this.type == 78) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 50 this.defense = 16 this.lifeMax = 130 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.6 this.value = 600 elseif (this.type == 79) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 60 this.defense = 18 this.lifeMax = 180 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.value = 700 elseif (this.type == 80) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 55 this.defense = 18 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.55 this.value = 700 elseif (this.type == 81) then this.width = 40 this.height = 30 this.aiStyle = 1 this.damage = 55 this.defense = 20 this.lifeMax = 170 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 55 this.value = 400 this.scale = 1.1 elseif (this.type == 82) then this.noGravity = true this.noTileCollide = true this.width = 24 this.height = 44 this.aiStyle = 22 this.damage = 65 this.defense = 16 this.lifeMax = 160 this.HitSound = SoundID.NPCHit54 this.DeathSound = SoundID.NPCDeath52 this.alpha = 100 this.value = 500 this.knockBackResist = 0.7 if (Main.remixWorld) then this.scale = this.scale * 1.2 this.damage = math.floor(this.damage * this.scale) this.defense = math.floor(this.defense * this.scale) this.lifeMax = math.floor(this.lifeMax * this.scale) this.value = (math.floor(this.value * this.scale)) end elseif (this.type == 83) then this.width = 40 this.height = 40 this.aiStyle = 23 this.damage = 80 this.defense = 18 this.lifeMax = 200 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.value = 1000 this.knockBackResist = 0.4 elseif (this.type == 84) then this.width = 40 this.height = 40 this.aiStyle = 23 this.damage = 80 this.defense = 18 this.lifeMax = 200 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.value = 1000 this.knockBackResist = 0.4 elseif (this.type == 85) then this.width = 24 this.height = 24 this.aiStyle = 25 this.damage = 80 this.defense = 30 this.lifeMax = 500 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.value = 100000 this.knockBackResist = 0.3 this.rarity = 4 if (Main.remixWorld and not Main.hardMode) then this.damage = 30 this.defense = 12 this.lifeMax = 300 this.value = Item.buyPrice(0, 2, 0, 0) end elseif (this.type == 86) then this.width = 46 this.height = 42 this.aiStyle = 26 this.damage = 65 this.defense = 30 this.lifeMax = 400 this.HitSound = SoundID.NPCHit12 this.DeathSound = SoundID.NPCDeath18 this.knockBackResist = 0.3 this.value = 1000 elseif (this.type == 87) then this.noTileCollide = true this.npcSlots = 5 this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 80 this.defense = 10 this.lifeMax = 4000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath8 this.noGravity = true this.knockBackResist = 0 this.value = 10000 this.scale = 1 elseif (this.type == 88) then this.noTileCollide = true this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 40 this.defense = 20 this.lifeMax = 4000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath8 this.noGravity = true this.knockBackResist = 0 this.value = 10000 this.scale = 1 this.dontCountMe = true elseif (this.type == 89) then this.noTileCollide = true this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 40 this.defense = 20 this.lifeMax = 4000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath8 this.noGravity = true this.knockBackResist = 0 this.value = 2000 this.scale = 1 this.dontCountMe = true elseif (this.type == 90) then this.noTileCollide = true this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 40 this.defense = 20 this.lifeMax = 4000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath8 this.noGravity = true this.knockBackResist = 0 this.value = 10000 this.scale = 1 this.dontCountMe = true elseif (this.type == 91) then this.noTileCollide = true this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 40 this.defense = 20 this.lifeMax = 4000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath8 this.noGravity = true this.knockBackResist = 0 this.value = 10000 this.scale = 1 this.dontCountMe = true elseif (this.type == 92) then this.noTileCollide = true this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 40 this.defense = 20 this.lifeMax = 4000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath8 this.noGravity = true this.knockBackResist = 0 this.value = 10000 this.scale = 1 this.dontCountMe = true elseif (this.type == 93) then this.npcSlots = 0.5 this.width = 26 this.height = 20 this.aiStyle = 14 this.damage = 45 this.defense = 16 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.75 this.DeathSound = SoundID.NPCDeath4 this.value = 400 elseif (this.type == 94) then this.npcSlots = 1 this.width = 44 this.height = 44 this.aiStyle = 5 this.damage = 60 this.defense = 32 this.lifeMax = 230 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.knockBackResist = 0.55 this.value = 500 elseif (this.type == 95) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 45 this.defense = 10 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.scale = 0.9 this.value = 300 elseif (this.type == 96) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 28 this.defense = 20 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.scale = 0.9 this.value = 300 this.dontCountMe = true elseif (this.type == 97) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 26 this.defense = 30 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.scale = 0.9 this.value = 300 this.dontCountMe = true elseif (this.type == 98) then this.npcSlots = 3.5 this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 70 this.defense = 36 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 700 elseif (this.type == 99) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 55 this.defense = 40 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 700 this.dontCountMe = true elseif (this.type == 100) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 40 this.defense = 44 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 700 this.dontCountMe = true elseif (this.type == 101) then this.noGravity = true this.noTileCollide = true this.behindTiles = true this.width = 30 this.height = 30 this.aiStyle = 13 this.damage = 70 this.defense = 30 this.lifeMax = 320 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.2 this.DeathSound = SoundID.NPCDeath1 this.value = 600 elseif (this.type == 102) then this.npcSlots = 0.5 this.noGravity = true this.width = 18 this.height = 20 this.aiStyle = 16 this.damage = 80 this.defense = 22 this.lifeMax = 90 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 103) then this.noGravity = true this.width = 26 this.height = 26 this.aiStyle = 18 this.damage = 80 this.defense = 30 this.lifeMax = 120 this.HitSound = SoundID.NPCHit25 this.DeathSound = SoundID.NPCDeath28 this.value = 800 this.alpha = 20 elseif (this.type == 104) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 38 this.lifeMax = 350 this.HitSound = SoundID.NPCHit6 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.4 this.value = 1000 elseif (this.type == 105) then this.friendly = true this.width = 18 this.height = 34 this.aiStyle = 0 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.rarity = 1 elseif (this.type == 106) then this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 0 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.rarity = 1 elseif (this.type == 107) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 108) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 109) then this.width = 34 this.height = 78 this.aiStyle = 3 this.damage = 60 this.defense = 25 this.lifeMax = 800 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.2 this.value = 10000 this.rarity = 1 elseif (this.type == 110) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 45 this.defense = 14 this.lifeMax = 210 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.55 this.value = 400 elseif (this.type == 112) then this.width = 16 this.height = 16 this.aiStyle = 9 this.damage = 65 this.defense = 0 this.lifeMax = 1 this.HitSound = null this.DeathSound = SoundID.NPCDeath9 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.scale = 0.9 this.alpha = 80 elseif (this.type == 113) then this.npcSlots = 10 this.width = 100 this.height = 100 this.aiStyle = 27 this.damage = 50 this.defense = 12 this.lifeMax = 8000 this.HitSound = SoundID.NPCHit8 this.DeathSound = SoundID.NPCDeath10 this.noGravity = true this.noTileCollide = true this.behindTiles = true this.knockBackResist = 0 this.scale = 1.2 this.boss = true this.value = 80000 elseif (this.type == 114) then this.width = 100 this.height = 100 this.aiStyle = 28 this.damage = 50 this.defense = 0 this.lifeMax = 8000 this.HitSound = SoundID.NPCHit8 this.DeathSound = SoundID.NPCDeath10 this.noGravity = true this.noTileCollide = true this.behindTiles = true this.knockBackResist = 0 this.scale = 1.2 this.value = 80000 elseif (this.type == 115) then this.width = 30 this.height = 30 this.aiStyle = 29 this.damage = 30 this.defense = 10 this.lifeMax = 240 this.HitSound = SoundID.NPCHit9 this.DeathSound = SoundID.NPCDeath11 this.noGravity = true this.behindTiles = true this.noTileCollide = true this.knockBackResist = 1.1 elseif (this.type == 116) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 30 this.defense = 6 this.lifeMax = 80 this.HitSound = SoundID.NPCHit9 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath12 elseif (this.type == 117) then this.width = 14 this.height = 14 this.aiStyle = 6 this.netAlways = true this.damage = 26 this.defense = 2 this.lifeMax = 60 this.HitSound = SoundID.NPCHit9 this.DeathSound = SoundID.NPCDeath12 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true elseif (this.type == 118) then this.width = 14 this.height = 14 this.aiStyle = 6 this.netAlways = true this.damage = 22 this.defense = 6 this.lifeMax = 60 if (Main.getGoodWorld) then this.damage = this.damage + 10 this.defense = this.defense + 14 this.lifeMax = this.lifeMax * 3 end this.HitSound = SoundID.NPCHit9 this.DeathSound = SoundID.NPCDeath12 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true elseif (this.type == 119) then this.width = 14 this.height = 14 this.aiStyle = 6 this.netAlways = true this.damage = 18 this.defense = 10 this.lifeMax = 60 this.HitSound = SoundID.NPCHit9 this.DeathSound = SoundID.NPCDeath12 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true elseif (this.type == 120) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 40 this.defense = 30 this.lifeMax = 370 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.4 this.value = 600 elseif (this.type == 121) then this.width = 40 this.height = 30 this.aiStyle = 14 this.damage = 45 this.defense = 20 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.alpha = 55 this.knockBackResist = 0.8 this.scale = 1.1 elseif (this.type == 122) then this.noGravity = true this.width = 20 this.height = 20 this.aiStyle = 22 this.damage = 60 this.defense = 22 this.lifeMax = 220 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.value = 600 elseif (this.type == 123) then this.friendly = true this.width = 18 this.height = 34 this.aiStyle = 0 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.scale = 0.9 this.rarity = 1 elseif (this.type == 124) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 125) then this.width = 100 this.height = 110 this.aiStyle = 30 this.defense = 10 this.damage = 45 this.lifeMax = 20000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath14 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true SpawnWithHigherTime(30) this.boss = true this.value = 120000 this.npcSlots = 5 elseif (this.type == 126) then this.width = 100 this.height = 110 this.aiStyle = 31 this.defense = 10 this.damage = 50 this.lifeMax = 23000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath14 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true SpawnWithHigherTime(30) this.boss = true this.value = 120000 this.npcSlots = 5 elseif (this.type == 127) then this.width = 80 this.height = 102 this.aiStyle = 32 this.damage = 47 this.defense = 24 this.lifeMax = 28000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.noTileCollide = true this.value = 120000 this.knockBackResist = 0 this.boss = true this.npcSlots = 6 elseif (this.type == 128) then this.width = 52 this.height = 52 this.aiStyle = 35 this.damage = 30 this.defense = 23 this.lifeMax = 7000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.netAlways = true elseif (this.type == 129) then this.width = 52 this.height = 52 this.aiStyle = 33 this.damage = 56 this.defense = 38 this.lifeMax = 9000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.netAlways = true elseif (this.type == 130) then this.width = 52 this.height = 52 this.aiStyle = 34 this.damage = 52 this.defense = 34 this.lifeMax = 9000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.netAlways = true elseif (this.type == 131) then this.width = 52 this.height = 52 this.aiStyle = 36 this.damage = 29 this.defense = 20 this.lifeMax = 6000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.netAlways = true elseif (this.type == 132) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 15 this.defense = 5 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 65 elseif (this.type == 133) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 40 this.defense = 20 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 134) then this.npcSlots = 5 this.width = 38 this.height = 38 this.aiStyle = 37 this.defense = 0 this.damage = 70 this.lifeMax = 80000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 120000 this.scale = 1.25 this.boss = true this.netAlways = true this.alpha = 255 elseif (this.type == 135) then this.npcSlots = 5 this.width = 38 this.height = 38 this.aiStyle = 37 this.damage = 55 this.defense = 30 this.lifeMax = 80000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.netAlways = true this.scale = 1.25 this.dontCountMe = true this.alpha = 255 elseif (this.type == 136) then this.npcSlots = 5 this.width = 38 this.height = 38 this.aiStyle = 37 this.damage = 40 this.defense = 35 this.lifeMax = 80000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.scale = 1.25 this.netAlways = true this.dontCountMe = true this.alpha = 255 elseif (this.type == 139) then this.npcSlots = 1 this.width = 30 this.height = 30 this.aiStyle = 5 this.damage = 50 this.defense = 20 this.lifeMax = 200 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.noGravity = true this.knockBackResist = 0.8 this.noTileCollide = true elseif (this.type == 137) then this.width = 26 this.height = 20 this.aiStyle = 14 this.damage = 75 this.defense = 30 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.75 this.DeathSound = SoundID.NPCDeath6 this.value = 500 elseif (this.type == 138) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 70 this.defense = 30 this.lifeMax = 180 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.alpha = 100 this.value = 400 this.knockBackResist = 0.85 this.scale = 1.05 elseif (this.type == 140) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 55 this.defense = 28 this.lifeMax = 260 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.4 this.value = 400 elseif (this.type == 141) then this.width = 34 this.height = 28 this.aiStyle = 1 this.damage = 50 this.defense = 18 this.lifeMax = 150 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 55 this.value = 400 this.scale = 1.1 this.knockBackResist = 0.8 elseif (this.type == 142) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 143) then this.width = 26 this.height = 40 this.aiStyle = 38 this.damage = 50 this.defense = 20 this.lifeMax = 200 this.HitSound = SoundID.NPCHit11 this.DeathSound = SoundID.NPCDeath15 this.knockBackResist = 0.6 this.value = 400 this.coldDamage = true elseif (this.type == 144) then this.width = 26 this.height = 40 this.aiStyle = 38 this.damage = 65 this.defense = 26 this.lifeMax = 240 this.HitSound = SoundID.NPCHit11 this.DeathSound = SoundID.NPCDeath15 this.knockBackResist = 0.6 this.value = 400 this.coldDamage = true elseif (this.type == 145) then this.width = 26 this.height = 40 this.aiStyle = 38 this.damage = 55 this.defense = 22 this.lifeMax = 220 this.HitSound = SoundID.NPCHit11 this.DeathSound = SoundID.NPCDeath15 this.knockBackResist = 0.6 this.value = 400 this.coldDamage = true elseif (this.type == 147) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 8 this.defense = 4 this.lifeMax = 30 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 50 this.value = 50 this.coldDamage = true elseif (this.type == 148) then this.width = 16 this.height = 34 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2205 elseif (this.type == 149) then this.width = 16 this.height = 34 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2205 elseif (this.type == 150) then this.npcSlots = 0.5 this.width = 22 this.height = 22 this.aiStyle = 14 this.damage = 18 this.defense = 6 this.lifeMax = 30 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath4 this.value = 250 this.coldDamage = true elseif (this.type == 151) then this.npcSlots = 0.5 this.width = 22 this.height = 22 this.aiStyle = 14 this.damage = 50 this.defense = 16 this.lifeMax = 160 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.6 this.DeathSound = SoundID.NPCDeath4 this.value = 400 this.scale = 1.15 this.lavaImmune = true elseif (this.type == 152) then this.npcSlots = 0.5 this.width = 38 this.height = 34 this.aiStyle = 14 this.damage = 80 this.defense = 24 this.lifeMax = 220 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.65 this.DeathSound = SoundID.NPCDeath4 this.value = 400 elseif (this.type == 153) then this.npcSlots = 2 this.width = 46 this.height = 32 this.aiStyle = 39 this.damage = 80 this.defense = 30 this.lifeMax = 470 this.HitSound = SoundID.NPCHit24 this.knockBackResist = 0.3 this.DeathSound = SoundID.NPCDeath27 this.value = 500 this.noGravity = false elseif (this.type == 154) then this.npcSlots = 1.5 this.width = 46 this.height = 32 this.aiStyle = 39 this.damage = 55 this.defense = 28 this.lifeMax = 400 this.HitSound = SoundID.NPCHit24 this.knockBackResist = 0.3 this.DeathSound = SoundID.NPCDeath27 this.value = 450 this.noGravity = false this.coldDamage = true elseif (this.type == 155) then this.width = 46 this.height = 30 this.aiStyle = 26 this.damage = 65 this.defense = 30 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.3 this.value = 1000 elseif (this.type == 156) then this.npcSlots = 2 this.width = 28 this.height = 48 this.aiStyle = 14 this.damage = 50 this.defense = 40 this.lifeMax = 600 this.HitSound = SoundID.NPCHit21 this.knockBackResist = 0.5 this.DeathSound = SoundID.NPCDeath24 this.value = 1200 this.lavaImmune = true elseif (this.type == 157) then this.npcSlots = 0.5 this.noGravity = true this.width = 74 this.height = 20 this.aiStyle = 16 this.damage = 75 this.defense = 30 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 160) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 161) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 16 this.defense = 8 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.45 this.value = 80 elseif (this.type == 163) then this.width = 50 this.height = 20 this.aiStyle = 3 this.damage = 90 this.defense = 40 this.lifeMax = 350 this.HitSound = SoundID.NPCHit29 this.DeathSound = SoundID.NPCDeath32 this.knockBackResist = 0.25 this.value = 500 this.npcSlots = 0.5 SpawnWithHigherTime(2) elseif (this.type == 238) then this.noGravity = true this.width = 36 this.height = 36 this.aiStyle = 40 this.damage = 100 this.defense = 40 this.lifeMax = 350 this.HitSound = SoundID.NPCHit29 this.DeathSound = SoundID.NPCDeath32 this.knockBackResist = 0.25 this.value = 500 SpawnWithHigherTime(2) this.npcSlots = 0.5 elseif (this.type == 164) then this.width = 50 this.height = 20 this.aiStyle = 3 this.damage = 30 this.defense = 10 this.lifeMax = 80 this.HitSound = SoundID.NPCHit29 this.DeathSound = SoundID.NPCDeath32 this.knockBackResist = 0.25 this.value = 100 SpawnWithHigherTime(2) this.npcSlots = 0.5 elseif (this.type == 165) then this.noGravity = true this.width = 36 this.height = 36 this.aiStyle = 40 this.damage = 30 this.defense = 10 this.lifeMax = 80 this.HitSound = SoundID.NPCHit29 this.DeathSound = SoundID.NPCDeath32 this.knockBackResist = 0.25 this.value = 100 SpawnWithHigherTime(2) this.npcSlots = 0.5 elseif (this.type == 167) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 24 this.defense = 10 this.lifeMax = 70 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 200 elseif (this.type == 168) then this.width = 16 this.height = 34 this.aiStyle = 3 this.damage = 20 this.defense = 4 this.lifeMax = 70 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 169) then this.noGravity = true this.width = 18 this.height = 40 this.aiStyle = 22 this.damage = 55 this.defense = 20 this.lifeMax = 200 this.HitSound = SoundID.NPCHit5 this.knockBackResist = 0.6 this.DeathSound = SoundID.NPCDeath7 this.value = 1500 this.coldDamage = true elseif (this.type == 170) then this.width = 44 this.height = 36 this.aiStyle = 2 this.damage = 70 this.defense = 16 this.lifeMax = 210 this.HitSound = SoundID.NPCHit27 this.DeathSound = SoundID.NPCDeath30 this.knockBackResist = 0.5 this.value = 2000 elseif (this.type == 171) then this.width = 44 this.height = 36 this.aiStyle = 2 this.damage = 70 this.defense = 16 this.lifeMax = 210 this.HitSound = SoundID.NPCHit27 this.DeathSound = SoundID.NPCDeath30 this.knockBackResist = 0.5 this.value = 2000 elseif (this.type == 172) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 200 this.defense = 30 this.lifeMax = 600 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.3 this.value = 5000 this.rarity = 4 elseif (this.type == 173) then this.npcSlots = 1 this.width = 30 this.height = 30 this.aiStyle = 5 this.damage = 22 this.defense = 8 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.knockBackResist = 0.5 this.value = 90 if (Main.remixWorld) then this.scale = this.scale * 1.3 this.damage = math.floor(this.damage * this.scale) this.defense = math.floor(this.defense * this.scale) this.lifeMax = math.floor(this.lifeMax * this.scale) this.value = (math.floor(this.value * this.scale)) end elseif (this.type == 174) then this.npcSlots = 1 this.width = 52 this.height = 26 this.aiStyle = 41 this.damage = 65 this.defense = 26 this.lifeMax = 220 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.3 this.value = 450 elseif (this.type == 175) then this.noGravity = true this.noTileCollide = true this.width = 30 this.height = 30 this.aiStyle = 13 this.damage = 100 this.defense = 30 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.25 this.DeathSound = SoundID.NPCDeath1 this.value = 650 elseif (this.type == 176) then this.width = 34 this.height = 32 this.aiStyle = 5 this.damage = 70 this.defense = 22 this.lifeMax = 220 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.5 this.DeathSound = SoundID.NPCDeath1 this.value = 600 this.noGravity = true this.npcSlots = 1.5 elseif (this.type == 177) then this.npcSlots = 1 this.width = 58 this.height = 44 this.aiStyle = 41 this.damage = 80 this.defense = 26 this.lifeMax = 300 this.HitSound = SoundID.NPCHit22 this.DeathSound = SoundID.NPCDeath25 this.knockBackResist = 0.5 this.value = 500 elseif (this.type == 178) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 179) then this.width = 40 this.height = 40 this.aiStyle = 23 this.damage = 80 this.defense = 18 this.lifeMax = 200 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.value = 1000 this.knockBackResist = 0.4 elseif (this.type == 180) then this.width = 44 this.height = 36 this.aiStyle = 2 this.damage = 70 this.defense = 16 this.lifeMax = 210 this.HitSound = SoundID.NPCHit27 this.DeathSound = SoundID.NPCDeath30 this.knockBackResist = 0.5 this.value = 2000 elseif (this.type == 181) then this.width = 18 this.height = 44 this.aiStyle = 3 this.damage = 25 this.defense = 10 this.lifeMax = 70 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 200 if (Main.remixWorld) then this.scale = this.scale * 1.1 this.damage = math.floor((double)(this.damage * this.scale) * 1.2) this.defense = math.floor((double)(this.defense * this.scale) * 1.2) this.lifeMax = math.floor((double)(this.lifeMax * this.scale) * 1.2) this.value = (math.floor((double)(this.value * this.scale) * 1.2)) end elseif (this.type == 182) then this.noGravity = true this.noTileCollide = true this.width = 24 this.height = 62 this.aiStyle = 22 this.damage = 65 this.defense = 18 this.lifeMax = 240 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.alpha = 100 this.value = 500 this.knockBackResist = 0.7 elseif (this.type == 183) then this.width = 40 this.height = 30 this.aiStyle = 1 this.damage = 60 this.defense = 26 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 55 this.value = 400 this.scale = 1.1 elseif (this.type == 184) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 12 this.defense = 8 this.lifeMax = 60 this.scale = 1.1 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 50 this.value = 200 this.coldDamage = true elseif (this.type == 185) then this.width = 28 this.height = 28 this.aiStyle = 3 this.damage = 26 this.defense = 12 this.lifeMax = 70 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 1.1 this.value = 200 this.coldDamage = true elseif (this.type == 186) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 16 this.defense = 8 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.45 this.value = 65 elseif (this.type == 187) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 13 this.defense = 6 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.55 this.value = 55 elseif (this.type == 188) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 13 this.defense = 8 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.45 this.value = 80 elseif (this.type == 189) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 16 this.defense = 4 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.55 this.value = 70 elseif (this.type == 190) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 18 this.defense = 4 this.lifeMax = 65 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.7 this.DeathSound = SoundID.NPCDeath1 this.value = 75 elseif (this.type == 191) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 16 this.defense = 2 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.85 this.DeathSound = SoundID.NPCDeath1 this.value = 75 elseif (this.type == 192) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 18 this.defense = 2 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.value = 75 elseif (this.type == 193) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 20 this.defense = 0 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.value = 75 elseif (this.type == 194) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 14 this.defense = 4 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.value = 75 elseif (this.type == 195) then this.width = 18 this.height = 40 this.aiStyle = 42 this.damage = 10 this.defense = 30 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.rarity = 2 this.value = Item.buyPrice(0, 2, 0, 0) elseif (this.type == 196) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 35 this.defense = 16 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = Item.buyPrice(0, 2, 0, 0) this.rarity = 2 elseif (this.type == 197) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 50 this.defense = 28 this.lifeMax = 280 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.45 this.value = 500 elseif (this.type == 198) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 38 this.defense = 20 this.lifeMax = 400 this.HitSound = SoundID.NPCHit26 this.DeathSound = SoundID.NPCDeath29 this.knockBackResist = 0.4 this.value = 650 elseif (this.type == 199) then this.width = 42 this.height = 30 this.aiStyle = 3 this.damage = 60 this.defense = 30 this.lifeMax = 400 this.HitSound = SoundID.NPCHit26 this.DeathSound = SoundID.NPCDeath29 this.knockBackResist = 0 this.value = 650 elseif (this.type == 200) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 12 this.defense = 4 this.lifeMax = 38 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.6 this.value = 65 elseif (this.type == 201) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 12 this.lifeMax = 55 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 130 elseif (this.type == 202) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 18 this.defense = 8 this.lifeMax = 65 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 120 elseif (this.type == 203) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 22 this.defense = 8 this.lifeMax = 60 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 110 elseif (this.type == 204) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 28 this.defense = 8 this.lifeMax = 65 this.scale = 1.15 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 50 this.value = 300 elseif (this.type == 205) then this.width = 40 this.height = 40 this.aiStyle = 5 this.damage = 70 this.defense = 28 this.lifeMax = 1000 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.4 this.DeathSound = SoundID.NPCDeath1 this.value = 600 this.noGravity = true this.rarity = 2 elseif (this.type == 206) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 60 this.defense = 30 this.lifeMax = 280 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.value = 500 this.coldDamage = true elseif (this.type == 207) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 208) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 209) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 210) then this.width = 12 this.height = 12 this.aiStyle = 5 this.damage = 20 this.defense = 5 this.lifeMax = 20 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.5 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true elseif (this.type == 211) then this.width = 8 this.height = 8 this.aiStyle = 5 this.damage = 15 this.defense = 2 this.lifeMax = 10 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.5 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true elseif (this.type == 212) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 35 this.defense = 17 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.4 this.value = 700 elseif (this.type == 213) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 50 this.defense = 22 this.lifeMax = 450 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.2 this.value = 1000 elseif (this.type == 214) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 30 this.defense = 14 this.lifeMax = 225 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.3 this.value = 1000 elseif (this.type == 215) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 35 this.defense = 20 this.lifeMax = 350 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.35 this.value = 1500 elseif (this.type == 216) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 30 this.lifeMax = 3000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.value = 50000 this.rarity = 1 elseif (this.type == 217) then this.width = 28 this.height = 20 this.aiStyle = 3 this.damage = 20 this.defense = 10 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath16 this.value = 60 this.rarity = 1 elseif (this.type == 218) then this.width = 28 this.height = 20 this.aiStyle = 3 this.damage = 20 this.defense = 10 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath16 this.value = 60 this.rarity = 1 elseif (this.type == 219) then this.width = 28 this.height = 20 this.aiStyle = 3 this.damage = 20 this.defense = 10 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath16 this.value = 60 this.rarity = 1 elseif (this.type == 220) then this.width = 28 this.height = 20 this.aiStyle = 3 this.damage = 20 this.defense = 10 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 60 this.rarity = 2 elseif (this.type == 221) then this.noGravity = true this.width = 26 this.height = 26 this.aiStyle = 18 this.damage = 20 this.defense = 2 this.lifeMax = 30 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 100 this.alpha = 20 this.rarity = 1 elseif (this.type == 222) then this.width = 66 this.height = 66 this.aiStyle = 43 this.damage = 30 this.defense = 8 this.lifeMax = 3400 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath66 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true SpawnWithHigherTime(30) this.boss = true this.value = 50000 this.npcSlots = 7 elseif (this.type == 223) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 16 this.defense = 8 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.45 this.value = 70 elseif (this.type == 224) then this.width = 32 this.height = 18 this.aiStyle = 44 this.damage = 9 this.defense = 4 this.lifeMax = 20 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.value = 300 end if (this.type == 225) then this.width = 38 this.height = 26 this.aiStyle = 1 this.damage = 10 this.defense = 5 this.lifeMax = 35 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.75 this.value = 200 elseif (this.type == 226) then this.npcSlots = 0.5 this.width = 34 this.height = 50 this.aiStyle = 14 this.damage = 85 this.defense = 28 this.lifeMax = 260 this.HitSound = SoundID.NPCHit23 this.knockBackResist = 0.65 this.DeathSound = SoundID.NPCDeath26 this.value = 400 elseif (this.type == 227) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 228) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 229) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 230) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 261 elseif (this.type == 231) then this.width = 34 this.height = 32 this.aiStyle = 5 this.damage = 22 this.defense = 16 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.3 this.DeathSound = SoundID.NPCDeath1 this.value = 200 this.noGravity = true elseif (this.type == 232) then this.width = 34 this.height = 32 this.aiStyle = 5 this.damage = 28 this.defense = 12 this.lifeMax = 42 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.6 this.DeathSound = SoundID.NPCDeath1 this.value = 200 this.noGravity = true elseif (this.type == 233) then this.width = 34 this.height = 32 this.aiStyle = 5 this.damage = 30 this.defense = 14 this.lifeMax = 38 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.45 this.DeathSound = SoundID.NPCDeath1 this.value = 200 this.noGravity = true elseif (this.type == 234) then this.width = 34 this.height = 32 this.aiStyle = 5 this.damage = 32 this.defense = 6 this.lifeMax = 42 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.55 this.DeathSound = SoundID.NPCDeath1 this.value = 200 this.noGravity = true elseif (this.type == 235) then this.width = 34 this.height = 32 this.aiStyle = 5 this.damage = 34 this.defense = 4 this.lifeMax = 38 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.6 this.DeathSound = SoundID.NPCDeath1 this.value = 200 this.noGravity = true elseif (this.type == 236) then this.width = 50 this.height = 20 this.aiStyle = 3 this.damage = 100 this.defense = 28 this.lifeMax = 400 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.25 this.value = 1000 SpawnWithHigherTime(2) this.npcSlots = 0.75 elseif (this.type == 237) then this.noGravity = true this.width = 36 this.height = 36 this.aiStyle = 40 this.damage = 100 this.defense = 28 this.lifeMax = 400 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.25 this.value = 1000 SpawnWithHigherTime(2) this.npcSlots = 0.75 elseif (this.type == 239) then this.width = 50 this.height = 20 this.aiStyle = 3 this.damage = 30 this.defense = 8 this.lifeMax = 60 this.HitSound = SoundID.NPCHit20 this.DeathSound = SoundID.NPCDeath23 this.knockBackResist = 0.5 this.value = 130 SpawnWithHigherTime(2) elseif (this.type == 240) then this.noGravity = true this.width = 36 this.height = 36 this.aiStyle = 40 this.damage = 30 this.defense = 8 this.lifeMax = 60 this.HitSound = SoundID.NPCHit20 this.DeathSound = SoundID.NPCDeath23 this.knockBackResist = 0.5 this.value = 130 SpawnWithHigherTime(2) elseif (this.type == 241) then this.npcSlots = 0.5 this.noGravity = true this.width = 18 this.height = 20 this.aiStyle = 16 this.damage = 50 this.defense = 20 this.lifeMax = 150 this.HitSound = SoundID.NPCHit13 this.DeathSound = SoundID.NPCDeath19 this.value = 500 elseif (this.type == 242) then this.noGravity = true this.width = 26 this.height = 26 this.aiStyle = 18 this.damage = 75 this.defense = 20 this.lifeMax = 150 this.HitSound = SoundID.NPCHit13 this.DeathSound = SoundID.NPCDeath19 this.value = 800 this.alpha = 20 elseif (this.type == 243) then this.width = 30 this.height = 114 this.aiStyle = 3 this.damage = 60 this.defense = 32 this.lifeMax = 4000 this.HitSound = SoundID.NPCHit5 this.DeathSound = SoundID.NPCDeath7 this.knockBackResist = 0.05 this.value = Item.buyPrice(0, 1, 50, 0) this.coldDamage = true this.rarity = 2 elseif (this.type == 244) then this.width = 60 this.height = 42 this.aiStyle = 1 this.damage = 85 this.defense = 26 this.lifeMax = 400 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 175 this.value = Item.buyPrice(0, 0, 20, 0) this.knockBackResist = 0.3 this.rarity = 1 elseif (this.type == 245) then this.width = 140 this.height = 140 this.aiStyle = 45 this.damage = 72 this.defense = 26 this.lifeMax = 15000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.knockBackResist = 0 this.value = Item.buyPrice(0, 15, 0, 0) this.alpha = 255 this.boss = true this.npcSlots = 5 elseif (this.type == 246) then this.noGravity = true this.width = 70 this.height = 70 this.aiStyle = 46 this.damage = 64 this.defense = 20 this.lifeMax = 25000 this.HitSound = SoundID.NPCHit4 this.DeathSound = null this.knockBackResist = 0 this.alpha = 255 elseif (this.type == 247 or this.type == 248) then this.noGravity = true this.width = 40 this.height = 30 this.aiStyle = 47 this.damage = 59 this.defense = 28 this.lifeMax = 10000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.alpha = 255 this.knockBackResist = 0 elseif (this.type == 249) then this.noGravity = true this.width = 70 this.height = 70 this.aiStyle = 48 this.damage = 80 this.defense = 32 this.lifeMax = 16000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.knockBackResist = 0 this.dontTakeDamage = true elseif (this.type == 250) then this.width = 34 this.height = 26 this.aiStyle = 49 this.damage = 50 this.defense = 24 this.lifeMax = 300 this.HitSound = SoundID.NPCHit30 this.DeathSound = SoundID.NPCDeath33 this.knockBackResist = 0.3 this.value = 300 elseif (this.type == 251) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 50 this.defense = 30 this.lifeMax = 1000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.3 this.value = Item.buyPrice(0, 0, 50, 0) this.rarity = 2 elseif (this.type == 252) then this.noGravity = true this.npcSlots = 0.5 this.width = 32 this.height = 32 this.aiStyle = 5 this.damage = 80 this.defense = 12 this.lifeMax = 100 this.HitSound = SoundID.NPCHit46 this.knockBackResist = 0.7 this.DeathSound = SoundID.NPCDeath48 this.value = 500 elseif (this.type == 254) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 40 this.defense = 10 this.lifeMax = 180 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.4 this.value = 1000 elseif (this.type == 255) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 38 this.defense = 16 this.lifeMax = 220 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.3 this.value = 1200 elseif (this.type == 256) then this.noGravity = true this.width = 26 this.height = 26 this.aiStyle = 18 this.damage = 90 this.defense = 20 this.lifeMax = 140 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.value = 1200 this.alpha = 20 this.npcSlots = 0.3 elseif (this.type == 257) then this.width = 44 this.height = 34 this.aiStyle = 3 this.damage = 38 this.defense = 24 this.lifeMax = 230 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.3 this.value = 1300 this.npcSlots = 0.3 elseif (this.type == 258) then this.width = 30 this.height = 24 this.aiStyle = 3 this.damage = 60 this.defense = 16 this.lifeMax = 220 this.HitSound = SoundID.NPCHit45 this.DeathSound = SoundID.NPCDeath47 this.knockBackResist = 0.3 this.value = 1500 this.npcSlots = 0.3 elseif (this.type == 259) then this.noGravity = true this.noTileCollide = true this.width = 20 this.height = 20 this.aiStyle = 13 this.damage = 24 this.defense = 4 this.lifeMax = 90 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0 this.DeathSound = SoundID.NPCDeath1 this.value = 350 this.npcSlots = 0.3 elseif (this.type == 260) then this.noGravity = true this.noTileCollide = true this.width = 36 this.height = 36 this.aiStyle = 13 this.damage = 70 this.defense = 20 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0 this.DeathSound = SoundID.NPCDeath1 this.value = 1250 this.npcSlots = 0.3 elseif (this.type == 261) then this.width = 12 this.height = 12 this.aiStyle = 50 this.damage = 80 this.defense = 0 this.lifeMax = 1 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.npcSlots = 0 elseif (this.type == 262) then this.noTileCollide = true this.width = 86 this.height = 86 this.aiStyle = 51 this.damage = 50 this.defense = 14 this.lifeMax = 30000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.value = Item.buyPrice(0, 15, 0, 0) this.noGravity = true this.boss = true this.npcSlots = 16 elseif (this.type == 263) then this.noTileCollide = true this.noGravity = true this.width = 40 this.height = 40 this.aiStyle = 52 this.damage = 60 this.defense = 24 this.lifeMax = 4000 this.dontTakeDamage = true this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 elseif (this.type == 264) then this.width = 24 this.height = 24 this.aiStyle = 53 this.damage = 60 this.defense = 20 this.lifeMax = 1000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true elseif (this.type == 265) then this.width = 18 this.height = 18 this.aiStyle = 50 this.damage = 70 this.defense = 0 this.lifeMax = 1 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.npcSlots = 0 elseif (this.type == 266) then this.dontTakeDamage = true this.width = 160 this.height = 110 this.aiStyle = 54 this.damage = 30 this.defense = 14 this.lifeMax = 1250 this.HitSound = SoundID.NPCHit9 this.DeathSound = SoundID.NPCDeath11 this.knockBackResist = 0.45 this.noGravity = true this.noTileCollide = true SpawnWithHigherTime(30) this.boss = true this.value = 50000 this.npcSlots = 6 elseif (this.type == 267) then this.width = 30 this.height = 30 this.aiStyle = 55 this.damage = 20 this.defense = 10 this.lifeMax = 100 this.HitSound = SoundID.NPCHit9 this.DeathSound = SoundID.NPCDeath11 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0.8 elseif (this.type == 268) then this.noGravity = true this.width = 28 this.height = 56 this.aiStyle = 22 this.damage = 55 this.defense = 20 this.lifeMax = 340 this.HitSound = SoundID.NPCHit13 this.DeathSound = SoundID.NPCDeath19 this.knockBackResist = 0.6 this.value = 450 elseif (this.type == 269) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 34 this.lifeMax = 550 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.3 this.value = 1000 elseif (this.type == 270) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 55 this.defense = 50 this.lifeMax = 400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.2 this.value = 1000 elseif (this.type == 271) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 40 this.lifeMax = 450 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.25 this.value = 1000 elseif (this.type == 272) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 75 this.defense = 28 this.lifeMax = 400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.35 this.value = 1000 elseif (this.type == 273) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 45 this.defense = 50 this.lifeMax = 500 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.15 this.value = 1000 elseif (this.type == 274) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 65 this.defense = 34 this.lifeMax = 350 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 1000 elseif (this.type == 275) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 45 this.defense = 50 this.lifeMax = 550 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.15 this.value = 1000 elseif (this.type == 276) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 85 this.defense = 54 this.lifeMax = 500 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.2 this.value = 1000 elseif (this.type == 277) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 32 this.lifeMax = 400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 1000 elseif (this.type == 278) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 65 this.defense = 48 this.lifeMax = 450 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.3 this.value = 1000 elseif (this.type == 279) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 40 this.defense = 54 this.lifeMax = 500 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.2 this.value = 1000 elseif (this.type == 280) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 75 this.defense = 34 this.lifeMax = 500 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 1000 elseif (this.type == 281) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 40 this.defense = 20 this.lifeMax = 400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.6 this.value = 1500 this.npcSlots = 2 elseif (this.type == 282) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 35 this.defense = 28 this.lifeMax = 450 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 1500 this.npcSlots = 2 elseif (this.type == 283) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 50 this.defense = 18 this.lifeMax = 300 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.55 this.value = 1500 this.npcSlots = 2 elseif (this.type == 284) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 35 this.defense = 24 this.lifeMax = 450 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 1500 this.npcSlots = 2 elseif (this.type == 285) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 50 this.defense = 12 this.lifeMax = 200 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.7 this.value = 1500 this.npcSlots = 2 elseif (this.type == 286) then this.width = 18 this.height = 40 this.aiStyle = 8 this.damage = 60 this.defense = 10 this.lifeMax = 250 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.65 this.value = 1500 this.npcSlots = 2 elseif (this.type == 287) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 90 this.defense = 42 this.lifeMax = 1000 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.3 this.value = 2000 this.rarity = 1 elseif (this.type == 288) then this.width = 20 this.height = 20 this.aiStyle = 56 this.damage = 70 this.defense = 30 this.lifeMax = 200 this.knockBackResist = 0.2 this.HitSound = SoundID.NPCHit36 this.DeathSound = SoundID.NPCDeath39 this.value = 500 this.noTileCollide = true this.noGravity = true elseif (this.type == 289) then this.width = 44 this.height = 44 this.aiStyle = 10 this.damage = 60 this.defense = 20 this.lifeMax = 400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.noGravity = true this.noTileCollide = true this.value = 150 this.knockBackResist = 0.2 this.npcSlots = 0.75 elseif (this.type == 290) then this.width = 34 this.height = 62 this.aiStyle = 3 this.damage = 100 this.defense = 50 this.lifeMax = 5000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0 this.value = 50000 this.rarity = 2 elseif (this.type == 291) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 60 this.defense = 28 this.lifeMax = 400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 1000 this.rarity = 1 elseif (this.type == 292) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 60 this.defense = 28 this.lifeMax = 400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 1000 this.rarity = 1 elseif (this.type == 293) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 60 this.defense = 28 this.lifeMax = 400 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 1000 this.rarity = 1 elseif (this.type == 294) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 34 this.defense = 6 this.lifeMax = 70 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.9 this.value = 130 elseif (this.type == 295) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 28 this.defense = 12 this.lifeMax = 70 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.7 this.value = 130 elseif (this.type == 296) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 24 this.defense = 14 this.lifeMax = 120 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.6 this.value = 130 elseif (this.type == 299) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2018 elseif (this.type == 300) then this.width = 14 this.height = 12 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath4 this.npcSlots = 0.25 this.catchItem = 2003 elseif (this.type == 301) then this.width = 36 this.height = 26 this.aiStyle = 17 this.damage = 12 this.defense = 2 this.lifeMax = 35 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.85 this.DeathSound = SoundID.NPCDeath1 this.value = 50 end if (this.type == 302) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 7 this.defense = 2 this.lifeMax = 25 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 25 elseif (this.type == 304) then this.width = 34 this.height = 28 this.aiStyle = 1 this.damage = 80 this.defense = 20 this.lifeMax = 175 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 this.scale = 1.1 this.knockBackResist = 0.5 this.npcSlots = 0.3 elseif (this.type >= 305 and this.type <= 314) then this.width = 18 this.height = 40 this.aiStyle = 3 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.value = 1200 this.npcSlots = 0.5 if (this.type == 305 or this.type == 310) then this.damage = 60 this.defense = 18 this.lifeMax = 500 this.knockBackResist = 0.4 elseif (this.type == 306 or this.type == 311) then this.damage = 52 this.defense = 14 this.lifeMax = 400 this.knockBackResist = 0.2 this.scale = 1.05 elseif (this.type == 307 or this.type == 312) then this.damage = 78 this.defense = 16 this.lifeMax = 600 this.knockBackResist = 0.25 this.scale = 0.9 elseif (this.type == 308 or this.type == 313) then this.damage = 66 this.defense = 14 this.lifeMax = 650 this.knockBackResist = 0.35 this.scale = 0.95 elseif (this.type == 309 or this.type == 314) then this.damage = 52 this.defense = 26 this.lifeMax = 450 this.knockBackResist = 0.5 this.scale = 1.1 end elseif (this.type == 315) then this.width = 74 this.height = 70 this.aiStyle = 26 this.damage = 130 this.defense = 40 this.lifeMax = 5000 this.HitSound = SoundID.NPCHit12 this.DeathSound = SoundID.NPCDeath18 this.knockBackResist = 0 this.value = 10000 elseif (this.type == 316) then this.noGravity = true this.noTileCollide = true this.width = 24 this.height = 44 this.aiStyle = 22 this.damage = 15 this.defense = 4 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.alpha = 100 this.value = 90 this.knockBackResist = 0.5 elseif (this.type == 317) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 16 this.defense = 6 this.lifeMax = 75 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.7 this.DeathSound = SoundID.NPCDeath1 this.value = 100 elseif (this.type == 318) then this.width = 30 this.height = 32 this.aiStyle = 2 this.damage = 20 this.defense = 4 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.65 this.DeathSound = SoundID.NPCDeath1 this.value = 100 elseif (this.type == 319) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 6 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.6 this.value = 85 this.scale = 0.9 elseif (this.type == 320) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 15 this.defense = 8 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 105 this.scale = 1.05 elseif (this.type == 321) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 14 this.lifeMax = 34 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.3 this.value = 120 this.scale = 1.1 elseif (this.type == 322) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 23 this.defense = 0 this.lifeMax = 115 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.65 this.value = 130 elseif (this.type == 323) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 18 this.defense = 10 this.lifeMax = 65 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 120 elseif (this.type == 324) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 22 this.defense = 10 this.lifeMax = 70 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 130 this.scale = 1.05 elseif (this.type == 325) then this.width = 164 this.height = 154 this.aiStyle = 57 this.damage = 120 this.defense = 34 this.lifeMax = 14000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath5 this.knockBackResist = 0 this.value = 10000 this.npcSlots = 3 elseif (this.type == 326) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 100 this.defense = 32 this.lifeMax = 1200 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.2 this.value = 2000 elseif (this.type == 327) then this.width = 100 this.height = 100 this.aiStyle = 58 this.damage = 50 this.defense = 40 this.lifeMax = 26000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.value = 50000 this.knockBackResist = 0 this.npcSlots = 5 elseif (this.type == 328) then this.width = 80 this.height = 80 this.aiStyle = 59 this.damage = 65 this.defense = 14 this.lifeMax = 5000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.dontTakeDamage = true this.npcSlots = 0 this.dontCountMe = true elseif (this.type == 329) then this.width = 46 this.height = 30 this.aiStyle = 26 this.damage = 80 this.defense = 38 this.lifeMax = 1800 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath5 this.knockBackResist = 0.3 this.value = 3000 elseif (this.type == 330) then this.noGravity = true this.noTileCollide = true this.width = 24 this.height = 44 this.aiStyle = 22 this.damage = 90 this.defense = 44 this.lifeMax = 1250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.alpha = 100 this.value = 4500 this.knockBackResist = 0.4 elseif (this.type == 331) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 6 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 60 elseif (this.type == 332) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 6 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 60 end if (this.type == 333) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 7 this.defense = 2 this.lifeMax = 25 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 25 end if (this.type == 334) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 6 this.defense = 2 this.lifeMax = 23 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.scale = 0.9 this.value = 25 end if (this.type == 335) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 8 this.defense = 3 this.lifeMax = 29 this.scale = 1.05 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 25 end if (this.type == 336) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 5 this.defense = 1 this.lifeMax = 22 this.scale = 0.85 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 25 elseif (this.type >= 338 and this.type <= 340) then this.width = 18 this.height = 40 this.aiStyle = 3 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 1200 this.npcSlots = 0.5 if (this.type == 338) then this.damage = 65 this.defense = 18 this.lifeMax = 600 this.knockBackResist = 0.4 elseif (this.type == 339) then this.damage = 52 this.defense = 24 this.lifeMax = 700 this.knockBackResist = 0.2 this.scale = 1.05 elseif (this.type == 340) then this.damage = 78 this.defense = 14 this.lifeMax = 500 this.knockBackResist = 0.25 this.scale = 0.9 end elseif (this.type == 341) then this.width = 24 this.height = 24 this.aiStyle = 25 this.damage = 100 this.defense = 32 this.lifeMax = 900 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.value = Item.buyPrice(0, 0, 20, 0) this.knockBackResist = 0.25 elseif (this.type == 342) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 90 this.defense = 26 this.lifeMax = 750 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.2 this.value = 1800 elseif (this.type == 343) then this.width = 38 this.height = 78 this.aiStyle = 3 this.damage = 140 this.defense = 50 this.lifeMax = 3500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.value = 3000 this.npcSlots = 2 this.coldDamage = true elseif (this.type == 344) then this.width = 172 this.height = 130 this.aiStyle = 57 this.damage = 110 this.defense = 38 this.lifeMax = 13000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath5 this.knockBackResist = 0 this.value = 10000 this.npcSlots = 3 elseif (this.type == 345) then this.width = 130 this.height = 140 this.aiStyle = 60 this.damage = 120 this.defense = 38 this.lifeMax = 34000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath5 this.knockBackResist = 0 this.value = 50000 this.noTileCollide = true this.noGravity = true this.npcSlots = 5 this.coldDamage = true elseif (this.type == 346) then this.width = 112 this.height = 140 this.aiStyle = 61 this.damage = 120 this.defense = 56 this.lifeMax = 18000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.knockBackResist = 0 this.value = 10000 this.npcSlots = 4 elseif (this.type == 347) then this.width = 50 this.height = 50 this.aiStyle = 62 this.damage = 60 this.defense = 28 this.lifeMax = 1200 this.HitSound = SoundID.NPCHit4 this.knockBackResist = 0.4 this.DeathSound = SoundID.NPCDeath14 this.value = 1000 this.noTileCollide = true this.noGravity = true this.npcSlots = 1.5 elseif (this.type == 348) then this.width = 28 this.height = 76 this.aiStyle = 3 this.damage = 80 this.defense = 26 this.lifeMax = 1800 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.4 this.value = 1500 this.npcSlots = 1.5 elseif (this.type == 349) then this.width = 28 this.height = 76 this.aiStyle = 3 this.damage = 100 this.defense = 42 this.lifeMax = 1800 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.1 this.value = 1500 this.npcSlots = 1.5 elseif (this.type == 350) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 30 this.lifeMax = 900 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.45 this.value = 900 elseif (this.type == 351) then this.width = 18 this.height = 90 this.aiStyle = 3 this.damage = 100 this.defense = 40 this.lifeMax = 2500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.1 this.value = 3000 this.npcSlots = 1.75 elseif (this.type == 352) then this.width = 54 this.height = 54 this.aiStyle = 63 this.damage = 75 this.defense = 8 this.lifeMax = 450 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.value = 500 this.knockBackResist = 0.4 this.noGravity = true this.noTileCollide = true this.npcSlots = 2 this.coldDamage = true elseif (this.type == 353) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 354) then this.friendly = true this.width = 18 this.height = 34 this.aiStyle = 0 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.scale = 0.9 this.rarity = 1 elseif (this.type == 355) then this.width = 10 this.height = 10 this.aiStyle = 64 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.2 this.noGravity = true this.catchItem = 1992 elseif (this.type == 356) then this.width = 10 this.height = 10 this.aiStyle = 65 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.25 this.noGravity = true this.catchItem = 1994 elseif (this.type == 357) then this.width = 10 this.height = 4 this.aiStyle = 66 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.1 this.catchItem = 2002 this.friendly = true elseif (this.type == 358) then this.width = 12 this.height = 12 this.aiStyle = 64 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.2 this.noGravity = true this.catchItem = 2004 elseif (this.type == 359) then this.width = 12 this.height = 12 this.aiStyle = 67 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.5 this.noGravity = true this.catchItem = 2006 elseif (this.type == 360) then this.width = 14 this.height = 14 this.aiStyle = 67 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.5 this.noGravity = true this.catchItem = 2007 elseif (this.type == 361) then this.width = 12 this.height = 10 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2121 elseif (this.type == 362) then this.width = 22 this.height = 26 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2122 elseif (this.type == 363) then this.width = 28 this.height = 22 this.aiStyle = 68 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2122 elseif (this.type == 364) then this.width = 22 this.height = 26 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2123 elseif (this.type == 365) then this.width = 28 this.height = 22 this.aiStyle = 68 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2123 elseif (this.type == 366 or this.type == 367) then this.width = 26 this.height = 18 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = (2156 + this.type - 366) elseif (this.type == 368) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 369) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 elseif (this.type == 370) then this.width = 150 this.height = 100 this.aiStyle = 69 this.damage = 100 this.defense = 50 this.lifeMax = 60000 this.knockBackResist = 0 this.noTileCollide = true this.noGravity = true this.npcSlots = 10 this.HitSound = SoundID.NPCHit14 this.DeathSound = SoundID.NPCDeath20 this.value = 250000 this.boss = true this.netAlways = true SpawnWithHigherTime(30) elseif (this.type == 371) then this.width = 36 this.height = 36 this.aiStyle = 70 this.damage = 100 this.defense = 0 this.lifeMax = 1 this.HitSound = SoundID.NPCHit3 this.DeathSound = SoundID.NPCDeath3 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.alpha = 255 elseif (this.type == 372) then this.noGravity = true this.width = 120 this.height = 24 this.aiStyle = 71 this.damage = 100 this.defense = 100 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.alpha = 255 elseif (this.type == 373) then this.noGravity = true this.width = 100 this.height = 24 this.aiStyle = 71 this.damage = 120 this.defense = 100 this.lifeMax = 100 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.alpha = 255 elseif (this.type == 374) then this.width = 20 this.height = 10 this.aiStyle = 66 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.15 this.catchItem = 2673 this.rarity = 4 this.dontTakeDamageFromHostiles = true elseif (this.type == 375) then this.width = 10 this.height = 10 this.aiStyle = 6 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.npcSlots = 0.15 this.catchItem = 2673 this.rarity = 4 this.dontTakeDamageFromHostiles = true elseif (this.type == 376) then this.friendly = true this.width = 34 this.height = 8 this.aiStyle = 0 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.scale = 0.9 this.rarity = 1 elseif (this.type == 377) then this.width = 14 this.height = 10 this.aiStyle = 1 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.friendly = true this.catchItem = 2740 this.npcSlots = 0.1 elseif (this.type == 378) then this.npcSlots = 1 this.width = 20 this.height = 26 this.aiStyle = 41 this.damage = 120 this.defense = 30 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.value = 450 elseif (this.type >= 379 and this.type <= 380) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 45 this.defense = 14 this.lifeMax = 210 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.55 this.value = 1000 this.npcSlots = 0 this.lavaImmune = true this.netAlways = true this.chaseable = false elseif (this.type >= 381 and this.type <= 382) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 50 this.defense = 25 this.lifeMax = 350 this.HitSound = SoundID.NPCHit39 this.DeathSound = SoundID.NPCDeath57 this.knockBackResist = 0.35 this.value = 1000 elseif (this.type == 383) then this.lifeMax = 300 this.defense = 50 this.damage = 75 this.width = 18 this.height = 40 this.aiStyle = 3 this.HitSound = SoundID.NPCHit39 this.DeathSound = SoundID.NPCDeath57 this.value = 1200 this.knockBackResist = 0.25 elseif (this.type == 384) then this.lifeMax = 1000 this.width = 18 this.defense = 20 this.height = 40 this.aiStyle = 72 this.HitSound = SoundID.NPCHit43 this.DeathSound = SoundID.NPCDeath45 this.npcSlots = 0 this.noTileCollide = true this.canGhostHeal = false elseif (this.type == 385) then this.lifeMax = 750 this.defense = 30 this.damage = 80 this.width = 18 this.height = 40 this.aiStyle = 3 this.HitSound = SoundID.NPCHit39 this.DeathSound = SoundID.NPCDeath57 this.value = 600 this.knockBackResist = 0 this.npcSlots = 0.75 elseif (this.type == 386) then this.lifeMax = 400 this.defense = 34 this.damage = 40 this.width = 18 this.height = 40 this.aiStyle = 3 this.HitSound = SoundID.NPCHit39 this.DeathSound = SoundID.NPCDeath57 this.value = 1200 this.knockBackResist = 0.4 elseif (this.type == 387) then this.width = 20 this.height = 50 this.aiStyle = 73 this.damage = 10 this.defense = 40 this.lifeMax = 200 this.HitSound = SoundID.NPCHit53 this.DeathSound = SoundID.NPCDeath56 this.knockBackResist = 0 this.canGhostHeal = false elseif (this.type == 388) then this.width = 40 this.height = 30 this.aiStyle = 74 this.damage = 60 this.defense = 16 this.lifeMax = 300 this.HitSound = SoundID.NPCHit42 this.knockBackResist = 0.4 this.DeathSound = SoundID.NPCDeath44 this.value = 1000 this.noTileCollide = true this.noGravity = true this.npcSlots = 1.5 this.canGhostHeal = false elseif (this.type == 389) then this.lifeMax = 600 this.defense = 38 this.damage = 75 this.width = 18 this.height = 40 this.aiStyle = 3 this.HitSound = SoundID.NPCHit39 this.DeathSound = SoundID.NPCDeath57 this.value = 1200 this.npcSlots = 0.5 this.knockBackResist = 0.3 elseif (this.type == 390) then this.damage = 65 this.defense = 30 this.lifeMax = 350 this.width = 18 this.height = 40 this.aiStyle = 75 this.HitSound = SoundID.NPCHit39 this.DeathSound = SoundID.NPCDeath57 this.value = 1200 this.npcSlots = 0.5 elseif (this.type == 391) then this.lifeMax = 600 this.defense = 30 this.damage = 85 this.width = 60 this.height = 40 this.aiStyle = 3 this.HitSound = SoundID.NPCHit51 this.DeathSound = SoundID.NPCDeath54 this.value = 1200 this.npcSlots = 0.5 this.knockBackResist = 0.1 elseif (this.type == 392) then this.lifeMax = 100 this.defense = 100 this.damage = 50 this.width = 150 this.height = 80 this.aiStyle = 75 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.value = 0 this.npcSlots = 0 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.dontTakeDamage = true this.netAlways = true elseif (this.type == 393) then this.lifeMax = 5000 this.defense = 20 this.damage = 60 this.width = 40 this.height = 16 this.aiStyle = 75 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.value = 0 this.npcSlots = 1 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.netAlways = true elseif (this.type == 394) then this.lifeMax = 3500 this.defense = 20 this.damage = 60 this.width = 46 this.height = 36 this.aiStyle = 75 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.value = 0 this.npcSlots = 1 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.netAlways = true elseif (this.type == 395) then this.lifeMax = 10000 this.defense = 0 this.damage = 80 this.width = 120 this.height = 90 this.aiStyle = 76 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.value = 0 this.npcSlots = 6 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.dontTakeDamage = true this.boss = true this.netAlways = true elseif (this.type == 399) then this.defense = 5 this.damage = 5 this.lifeMax = 500 this.aiStyle = 80 this.width = 42 this.height = 72 this.value = 0 this.knockBackResist = 0 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.npcSlots = 0 this.noGravity = true SpawnWithHigherTime(30) this.chaseable = false this.netAlways = true this.rarity = 1 elseif (this.type == 396) then this.lifeMax = 45000 this.defense = 50 this.damage = 0 this.width = 38 this.height = 56 this.aiStyle = 79 this.HitSound = SoundID.NPCHit57 this.DeathSound = SoundID.NPCDeath62 this.value = 0 this.npcSlots = 6 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.boss = true this.hide = true this.netAlways = true elseif (this.type == 397) then this.lifeMax = 25000 this.defense = 40 this.damage = 0 this.width = 46 this.height = 66 this.aiStyle = 78 this.HitSound = SoundID.NPCHit57 this.DeathSound = SoundID.NPCDeath62 this.value = 0 this.npcSlots = 6 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.boss = true this.hide = true this.netAlways = true elseif (this.type == 398) then this.lifeMax = 50000 this.defense = 70 this.damage = 0 this.width = 46 this.height = 66 this.aiStyle = 77 this.HitSound = SoundID.NPCHit57 this.DeathSound = null this.value = 1000000 this.npcSlots = 6 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.dontTakeDamage = true this.boss = true this.behindTiles = true this.hide = true this.netAlways = true elseif (this.type == 400) then this.defense = 0 this.damage = 60 this.lifeMax = 100 this.aiStyle = 81 this.width = 60 this.height = 60 this.value = 0 this.knockBackResist = 0 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0 this.noGravity = true this.dontTakeDamage = true this.noTileCollide = true this.netAlways = true elseif (this.type == 401) then this.lifeMax = 400 this.defense = 0 this.damage = 0 this.width = 30 this.height = 30 this.aiStyle = 82 this.HitSound = SoundID.NPCHit57 this.DeathSound = SoundID.NPCDeath62 this.value = 0 this.npcSlots = 0 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.hide = true elseif (this.type == 437) then this.lifeMax = 400 this.defense = 0 this.damage = 0 this.width = 54 this.height = 54 this.aiStyle = 83 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.value = 0 this.npcSlots = 0 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.dontTakeDamage = true this.netAlways = true this.chaseable = false elseif (this.type == 438) then this.lifeMax = 400 this.defense = 0 this.damage = 0 this.width = 22 this.height = 40 this.aiStyle = 83 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 0 this.npcSlots = 0 this.knockBackResist = 0 this.lavaImmune = true this.netAlways = true this.chaseable = false elseif (this.type == 439) then this.width = 24 this.height = 50 this.aiStyle = 84 this.damage = 50 this.defense = 42 this.lifeMax = 32000 this.knockBackResist = 0 this.noTileCollide = true this.noGravity = true this.npcSlots = 10 this.HitSound = SoundID.NPCHit55 this.DeathSound = SoundID.NPCDeath59 this.value = 100000 this.boss = true this.netAlways = true SpawnWithHigherTime(30) elseif (this.type == 440) then this.width = 24 this.height = 50 this.aiStyle = 84 this.damage = 0 this.defense = 35 this.lifeMax = 10000 this.knockBackResist = 0 this.noTileCollide = true this.noGravity = true this.npcSlots = 0 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.netAlways = true SpawnWithHigherTime(30) this.chaseable = false elseif (this.type == 442) then this.width = 14 this.height = 14 this.aiStyle = 24 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2889 this.npcSlots = 0.4 this.rarity = 3 elseif (this.type == 443) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2890 this.rarity = 3 elseif (this.type == 444) then this.width = 10 this.height = 10 this.aiStyle = 65 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.25 this.noGravity = true this.catchItem = 2891 this.rarity = 3 elseif (this.type == 445) then this.width = 12 this.height = 10 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 2892 this.rarity = 3 elseif (this.type == 446) then this.width = 14 this.height = 10 this.aiStyle = 1 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.friendly = true this.catchItem = 2893 this.npcSlots = 0.1 this.rarity = 3 elseif (this.type == 447) then this.width = 14 this.height = 12 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath4 this.npcSlots = 0.25 this.catchItem = 2894 this.rarity = 3 elseif (this.type == 448) then this.width = 10 this.height = 4 this.aiStyle = 66 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.1 this.catchItem = 2895 this.friendly = true this.rarity = 3 elseif (this.type == 449) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 8 this.lifeMax = 60 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 100 elseif (this.type == 450) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 12 this.lifeMax = 55 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 130 elseif (this.type == 451) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 18 this.defense = 8 this.lifeMax = 65 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 120 elseif (this.type == 452) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 22 this.defense = 8 this.lifeMax = 60 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 110 elseif (this.type == 453) then this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 30 this.lifeMax = 250 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.npcSlots = 7 this.rarity = 1 elseif (this.type == 454) then this.noTileCollide = true this.npcSlots = 5 this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 100 this.defense = 15 this.lifeMax = 10000 this.HitSound = SoundID.NPCHit56 this.DeathSound = SoundID.NPCDeath60 this.noGravity = true this.knockBackResist = 0 this.value = 0 this.scale = 1 this.alpha = 255 elseif (this.type == 459) then this.noTileCollide = true this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 50 this.defense = 30 this.lifeMax = 10000 this.HitSound = SoundID.NPCHit56 this.DeathSound = SoundID.NPCDeath60 this.noGravity = true this.knockBackResist = 0 this.value = 0 this.scale = 1 this.alpha = 255 this.dontCountMe = true elseif (this.type == 455 or this.type == 456 or this.type == 457 or this.type == 458) then this.noTileCollide = true this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 50 this.defense = 30 this.lifeMax = 10000 this.HitSound = SoundID.NPCHit56 this.DeathSound = SoundID.NPCDeath60 this.noGravity = true this.knockBackResist = 0 this.value = 0 this.scale = 1 this.alpha = 255 this.dontCountMe = true elseif (this.type == 464) then this.width = 18 this.height = 20 this.aiStyle = 3 this.damage = 21 this.defense = 5 this.lifeMax = 75 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 465) then this.noGravity = true this.width = 18 this.height = 20 this.aiStyle = 16 this.damage = 31 this.defense = 7 this.lifeMax = 110 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 470) then this.width = 16 this.height = 34 this.aiStyle = 3 this.damage = 21 this.defense = 5 this.lifeMax = 75 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 500 elseif (this.type == 473 or this.type == 474 or this.type == 475 or this.type == 476) then this.width = 28 this.height = 44 this.aiStyle = 87 this.damage = 90 this.defense = 34 this.lifeMax = 3500 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.value = 30000 this.knockBackResist = 0.1 this.rarity = 5 elseif (this.type == 480) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 30 this.defense = 20 this.lifeMax = 400 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.15 this.value = 1000 this.rarity = 1 elseif (this.type == 481) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 22 this.defense = 10 this.lifeMax = 70 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.4 this.value = 300 elseif (this.type == 482) then this.width = 28 this.height = 48 this.aiStyle = 3 this.damage = 30 this.defense = 18 this.lifeMax = 110 this.HitSound = SoundID.NPCHit41 this.DeathSound = SoundID.NPCDeath43 this.knockBackResist = 0.35 this.value = 500 elseif (this.type == 483) then this.npcSlots = 0.5 this.width = 20 this.height = 30 this.aiStyle = 91 this.damage = 24 this.defense = 8 this.lifeMax = 40 this.HitSound = SoundID.NPCHit7 this.knockBackResist = 0.6 this.DeathSound = SoundID.NPCDeath6 this.value = 1000 elseif (this.type >= 484 and this.type <= 487) then this.width = 10 this.height = 4 this.aiStyle = 66 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.1 this.catchItem = (3191 + this.type - 484) this.friendly = true elseif (this.type == 488) then this.width = 18 this.height = 40 this.aiStyle = 92 this.damage = 0 this.defense = 0 this.lifeMax = 1000 this.HitSound = SoundID.NPCHit15 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0 this.value = 0 this.immortal = true this.netAlways = true elseif (this.type == 489) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 8 this.lifeMax = 75 this.HitSound = SoundID.NPCHit18 this.DeathSound = SoundID.NPCDeath21 this.knockBackResist = 0.4 this.value = 150 elseif (this.type == 490) then this.noGravity = true this.width = 28 this.height = 30 this.aiStyle = 22 this.damage = 28 this.defense = 14 this.lifeMax = 50 this.HitSound = SoundID.NPCHit19 this.knockBackResist = 0.6 this.DeathSound = SoundID.NPCDeath22 this.value = 150 elseif (this.type == 491) then this.noGravity = true this.width = 350 this.height = 120 this.aiStyle = 93 this.damage = 0 this.defense = 100 this.lifeMax = 50 this.HitSound = SoundID.NPCHit19 this.knockBackResist = 0 this.DeathSound = SoundID.NPCDeath22 this.value = 0 this.dontTakeDamage = true this.netAlways = true elseif (this.type == 492) then this.lifeMax = 2000 this.defense = 20 this.damage = 30 this.width = 30 this.height = 30 this.aiStyle = 75 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.value = 0 this.npcSlots = 1 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.hide = true this.netAlways = true elseif (this.type >= 494 and this.type <= 495) then this.width = 28 this.height = 22 this.aiStyle = 3 this.damage = 28 this.defense = 6 this.lifeMax = 50 this.HitSound = SoundID.NPCHit33 this.DeathSound = SoundID.NPCDeath36 this.value = 120 elseif (this.type >= 496 and this.type <= 497) then this.width = 28 this.height = 22 this.aiStyle = 39 this.damage = 16 this.defense = 12 this.lifeMax = 50 this.HitSound = SoundID.NPCHit38 this.DeathSound = SoundID.NPCDeath41 this.knockBackResist = 0.75 this.value = 120 elseif (this.type >= 498 and this.type <= 506) then this.width = 24 this.height = 44 this.aiStyle = 3 this.damage = 18 this.defense = 10 this.lifeMax = 65 this.HitSound = SoundID.NPCHit50 this.DeathSound = SoundID.NPCDeath53 this.knockBackResist = 0.45 this.value = 120 elseif (this.type == 441) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 513) then this.npcSlots = 4 this.width = 22 this.height = 22 this.aiStyle = 6 this.damage = 18 this.defense = 0 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 130 elseif (this.type == 514) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 7 this.defense = 12 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 130 this.dontCountMe = true this.npcSlots = 0 elseif (this.type == 515) then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 7 this.defense = 14 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 130 this.dontCountMe = true this.npcSlots = 0 elseif (this.type == 510) then this.npcSlots = 5 this.width = 34 this.height = 34 this.aiStyle = 6 this.damage = 58 this.defense = 18 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 700 elseif (this.type == 511) then this.width = 34 this.height = 34 this.aiStyle = 6 this.netAlways = true this.damage = 54 this.defense = 28 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 700 this.dontCountMe = true this.npcSlots = 0 elseif (this.type == 512) then this.width = 34 this.height = 34 this.aiStyle = 6 this.netAlways = true this.damage = 50 this.defense = 34 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 700 this.dontCountMe = true this.npcSlots = 0 elseif (this.type == 508) then this.width = 50 this.height = 31 this.aiStyle = 3 this.damage = 38 this.defense = 16 this.lifeMax = 110 this.HitSound = SoundID.NPCHit31 this.DeathSound = SoundID.NPCDeath34 this.knockBackResist = 0.4 this.value = 175 elseif (this.type == 509) then this.width = 40 this.height = 31 this.aiStyle = 44 this.damage = 34 this.defense = 12 this.lifeMax = 90 this.knockBackResist = 0.3 this.HitSound = SoundID.NPCHit32 this.DeathSound = SoundID.NPCDeath35 this.value = 195 elseif (this.type == 580) then this.width = 26 this.height = 26 this.aiStyle = 3 this.damage = 25 this.defense = 10 this.lifeMax = 80 this.HitSound = SoundID.NPCHit31 this.DeathSound = SoundID.NPCDeath34 this.knockBackResist = 0.5 this.value = 80 this.npcSlots = 0.8 elseif (this.type == 581) then this.width = 30 this.height = 22 this.aiStyle = 44 this.damage = 29 this.defense = 8 this.lifeMax = 60 this.knockBackResist = 0.5 this.HitSound = SoundID.NPCHit32 this.DeathSound = SoundID.NPCDeath35 this.value = 90 this.npcSlots = 0.8 elseif (this.type >= 524 and this.type <= 527) then this.width = 24 this.height = 44 this.aiStyle = 3 this.damage = 50 this.defense = 26 this.lifeMax = 180 this.HitSound = SoundID.NPCHit37 this.DeathSound = SoundID.NPCDeath40 this.knockBackResist = 0.6 this.value = 500 this.npcSlots = 0.5 if (this.type - 524 == 1) then this.lifeMax = this.lifeMax + 70 this.defense = this.defense + 4 this.damage = this.damage + 10 this.knockBackResist = this.knockBackResist - 0.1 this.value = this.value + 150 elseif(this.type - 524 == 2) then this.lifeMax = this.lifeMax + 40 this.defense = this.defense + 6 this.damage = this.damage + 14 this.knockBackResist = this.knockBackResist - 0.1 this.value = this.value + 150 elseif(this.type - 524 == 3) then this.lifeMax = this.lifeMax + 120 this.defense = this.defense + 6 this.damage = this.damage + 4 this.knockBackResist = this.knockBackResist - 0.2 this.value = this.value + 250 end elseif (this.type >= 528 and this.type <= 529) then this.width = 24 this.height = 44 this.aiStyle = 3 this.damage = 52 this.defense = 28 this.lifeMax = 350 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.35 this.value = 600 elseif (this.type == 530) then this.width = 50 this.height = 20 this.aiStyle = 3 this.damage = 66 this.defense = 24 this.lifeMax = 320 this.HitSound = SoundID.NPCHit13 this.DeathSound = SoundID.NPCDeath19 this.knockBackResist = 0.5 this.value = 600 SpawnWithHigherTime(2) elseif (this.type == 531) then this.noGravity = true this.width = 36 this.height = 36 this.aiStyle = 40 this.damage = 66 this.defense = 24 this.lifeMax = 320 this.HitSound = SoundID.NPCHit13 this.DeathSound = SoundID.NPCDeath19 this.knockBackResist = 0.5 this.value = 600 SpawnWithHigherTime(2) elseif (this.type == 532) then this.width = 32 this.height = 31 this.aiStyle = 3 this.damage = 65 this.defense = 34 this.lifeMax = 270 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.3 this.value = 800 this.npcSlots = 0.75 elseif (this.type == 533) then this.width = 28 this.height = 62 this.aiStyle = 8 this.damage = 40 this.defense = 20 this.lifeMax = 220 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0 this.value = 1200 this.npcSlots = 2 elseif (this.type == 493) then this.lifeMax = 20000 this.defense = 20 this.damage = 0 this.width = 130 this.height = 270 this.aiStyle = 94 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 0 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.npcSlots = 0 elseif (this.type == 402) then this.noTileCollide = true this.npcSlots = 1 this.width = 32 this.height = 32 this.aiStyle = 6 this.netAlways = true this.damage = 80 this.defense = 10 this.lifeMax = 1200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.knockBackResist = 0 this.value = 0 this.scale = 1 elseif (this.type == 405) then this.width = 44 this.height = 44 this.aiStyle = 85 this.damage = 120 this.defense = 50 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.3 this.noGravity = true this.npcSlots = 2 elseif (this.type == 406) then this.width = 22 this.height = 22 this.aiStyle = 95 this.damage = 70 this.defense = 0 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.4 this.noGravity = true elseif (this.type == 411) then this.width = 22 this.height = 56 this.aiStyle = 3 this.damage = 80 this.defense = 34 this.lifeMax = 700 this.HitSound = SoundID.NPCHit6 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.4 elseif (this.type == 409) then this.width = 34 this.height = 42 this.aiStyle = 3 this.damage = 70 this.defense = 40 this.lifeMax = 800 this.HitSound = SoundID.NPCHit6 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.4 this.npcSlots = 3 elseif (this.type == 410) then this.width = 22 this.height = 22 this.aiStyle = 26 this.damage = 80 this.defense = 10 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath5 this.knockBackResist = 0.3 this.npcSlots = 0.5 elseif (this.type == 407) then this.width = 40 this.height = 60 this.aiStyle = 96 this.damage = 70 this.defense = 38 this.lifeMax = 1500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.knockBackResist = 0.03 this.npcSlots = 3 elseif (this.type == 507) then this.lifeMax = 20000 this.defense = 20 this.damage = 0 this.width = 130 this.height = 270 this.aiStyle = 94 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 0 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.npcSlots = 0 elseif (this.type == 423) then this.width = 50 this.height = 44 this.aiStyle = 26 this.damage = 90 this.defense = 46 this.lifeMax = 850 this.HitSound = SoundID.NPCHit6 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.2 this.npcSlots = 1 elseif (this.type == 421) then this.width = 44 this.height = 44 this.aiStyle = 85 this.damage = 70 this.defense = 34 this.lifeMax = 330 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.noGravity = true this.npcSlots = 1 elseif (this.type == 424) then this.width = 22 this.height = 56 this.aiStyle = 3 this.damage = 80 this.defense = 30 this.lifeMax = 700 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath5 this.knockBackResist = 0.6 this.npcSlots = 2 elseif (this.type == 420) then this.width = 40 this.height = 40 this.aiStyle = 97 this.damage = 75 this.defense = 20 this.lifeMax = 1300 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.noTileCollide = true this.noGravity = true this.npcSlots = 3 elseif (this.type == 422) then this.lifeMax = 20000 this.defense = 20 this.damage = 0 this.width = 130 this.height = 270 this.aiStyle = 94 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 0 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.npcSlots = 0 elseif (this.type == 425) then this.width = 30 this.height = 56 this.aiStyle = 3 this.damage = 100 this.defense = 40 this.lifeMax = 800 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.4 elseif (this.type == 429) then this.width = 22 this.height = 56 this.aiStyle = 3 this.damage = 90 this.defense = 34 this.lifeMax = 700 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath5 this.knockBackResist = 0.6 this.npcSlots = 2 elseif (this.type == 428) then this.width = 24 this.height = 26 this.aiStyle = 3 this.damage = 50 this.defense = 6 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 elseif (this.type == 427) then this.width = 40 this.height = 28 this.aiStyle = 3 this.damage = 75 this.defense = 20 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.npcSlots = 0.5 elseif (this.type == 426) then this.width = 50 this.height = 62 this.aiStyle = 3 this.damage = 100 this.defense = 44 this.lifeMax = 1000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.3 elseif (this.type == 517) then this.lifeMax = 20000 this.defense = 20 this.damage = 0 this.width = 130 this.height = 270 this.aiStyle = 94 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 0 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.npcSlots = 0 elseif (this.type == 412) then this.width = 20 this.height = 20 this.aiStyle = 6 this.netAlways = true this.damage = 120 this.defense = 1000 this.lifeMax = 10000 this.HitSound = SoundID.NPCHit11 this.DeathSound = SoundID.NPCDeath22 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.dontTakeDamage = true this.npcSlots = 2 elseif (this.type == 413) then this.width = 20 this.height = 20 this.aiStyle = 6 this.netAlways = true this.damage = 80 this.defense = 1000 this.lifeMax = 10000 this.HitSound = SoundID.NPCHit11 this.DeathSound = SoundID.NPCDeath22 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.dontCountMe = true this.dontTakeDamage = true this.npcSlots = 0 elseif (this.type == 414) then this.width = 20 this.height = 20 this.aiStyle = 6 this.netAlways = true this.damage = 50 this.defense = 0 this.lifeMax = 10000 this.HitSound = SoundID.NPCHit8 this.DeathSound = SoundID.NPCDeath22 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.dontCountMe = true this.takenDamageMultiplier = 10 this.npcSlots = 0 elseif (this.type == 415) then this.lifeMax = 800 this.defense = 32 this.damage = 55 this.width = 60 this.height = 40 this.aiStyle = 3 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.2 elseif (this.type == 416) then this.damage = 80 this.defense = 28 this.lifeMax = 800 this.width = 18 this.height = 40 this.aiStyle = 75 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.2 elseif (this.type == 518) then this.lifeMax = 1000 this.defense = 28 this.damage = 80 this.width = 22 this.height = 56 this.aiStyle = 3 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.4 elseif (this.type == 417) then this.npcSlots = 2 this.width = 46 this.height = 52 this.aiStyle = 39 this.damage = 80 this.defense = 34 this.lifeMax = 700 this.HitSound = SoundID.NPCHit7 this.knockBackResist = 0 this.DeathSound = SoundID.NPCDeath5 elseif (this.type == 418) then this.width = 38 this.height = 38 this.aiStyle = 74 this.damage = 70 this.defense = 26 this.lifeMax = 600 this.HitSound = SoundID.NPCHit3 this.DeathSound = SoundID.NPCDeath3 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0.2 elseif (this.type == 419) then this.lifeMax = 800 this.defense = 30 this.damage = 90 this.width = 22 this.height = 56 this.aiStyle = 3 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.4 elseif (this.type == 516) then this.width = 26 this.height = 26 this.aiStyle = 9 this.damage = 100 this.defense = 0 this.lifeMax = 1 this.HitSound = null this.DeathSound = null this.noGravity = true this.noTileCollide = false this.alpha = 0 this.knockBackResist = 0 elseif (this.type == 519) then this.width = 26 this.height = 26 this.aiStyle = 99 this.damage = 120 this.defense = 0 this.lifeMax = 1 this.HitSound = null this.DeathSound = null this.noGravity = true this.noTileCollide = false this.alpha = 0 this.knockBackResist = 0 elseif (this.type == 162) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 65 this.defense = 18 this.lifeMax = 350 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.3 this.value = 600 elseif (this.type == 166) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 26 this.lifeMax = 450 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.2 this.value = 1000 elseif (this.type == 253) then this.noGravity = true this.noTileCollide = true this.width = 24 this.height = 44 this.aiStyle = 22 this.damage = 80 this.defense = 22 this.lifeMax = 700 this.HitSound = SoundID.NPCHit49 this.DeathSound = SoundID.NPCDeath51 this.alpha = 100 this.value = 1500 this.knockBackResist = 0.6 elseif (this.type == 158) then this.npcSlots = 2 this.width = 22 this.height = 22 this.aiStyle = 14 this.damage = 60 this.defense = 32 this.lifeMax = 750 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.75 this.DeathSound = SoundID.NPCDeath6 this.value = 5000 elseif (this.type == 159) then this.npcSlots = 2 this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 80 this.defense = 24 this.lifeMax = 750 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.4 this.value = 5000 elseif (this.type == 460) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 30 this.lifeMax = 700 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath17 this.knockBackResist = 0.25 this.value = 1000 elseif (this.type == 461) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 60 this.defense = 22 this.lifeMax = 400 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.3 this.value = 1000 elseif (this.type == 462) then this.width = 20 this.height = 24 this.aiStyle = 3 this.damage = 70 this.defense = 14 this.lifeMax = 270 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.7 this.value = 600 this.npcSlots = 0.5 elseif (this.type == 463) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 100 this.defense = 34 this.lifeMax = 4000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.1 this.value = 3000 elseif (this.type == 466) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 70 this.defense = 40 this.lifeMax = 550 this.HitSound = SoundID.NPCHit48 this.DeathSound = SoundID.NPCDeath50 this.knockBackResist = 0.5 this.value = 1500 elseif (this.type == 467) then this.width = 22 this.height = 22 this.aiStyle = 85 this.damage = 100 this.defense = 80 this.lifeMax = 350 this.HitSound = SoundID.NPCHit34 this.DeathSound = SoundID.NPCDeath37 this.value = 900 this.knockBackResist = 0.7 this.noGravity = true elseif (this.type == 469) then this.width = 38 this.height = 26 this.aiStyle = 3 this.damage = 68 this.defense = 28 this.lifeMax = 600 this.HitSound = SoundID.NPCHit47 this.DeathSound = SoundID.NPCDeath49 this.knockBackResist = 0.35 this.value = 1300 elseif (this.type == 468) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 65 this.defense = 24 this.lifeMax = 500 this.HitSound = SoundID.NPCHit35 this.DeathSound = SoundID.NPCDeath38 this.knockBackResist = 0.6 this.value = 1300 elseif (this.type == 477) then this.noGravity = true this.netAlways = true this.width = 80 this.height = 50 this.aiStyle = 88 this.damage = 80 this.defense = 30 this.lifeMax = 6000 this.HitSound = SoundID.NPCHit44 this.DeathSound = SoundID.NPCDeath46 this.value = 50000 this.knockBackResist = 0.2 this.rarity = 1 elseif (this.type == 478) then this.width = 34 this.height = 34 this.aiStyle = 89 this.damage = 0 this.defense = 30 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 0 this.knockBackResist = 0.7 this.npcSlots = 0 elseif (this.type == 479) then this.width = 46 this.height = 30 this.aiStyle = 90 this.damage = 50 this.defense = 14 this.lifeMax = 700 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.3 this.value = 0 this.npcSlots = 0.1 elseif (this.type == 26) then this.scale = 0.9 this.width = 18 this.height = 38 this.aiStyle = 3 this.damage = 12 this.defense = 4 this.lifeMax = 60 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.8 this.value = 100 elseif (this.type == 27) then this.scale = 0.95 this.width = 18 this.height = 38 this.aiStyle = 3 this.damage = 20 this.defense = 6 this.lifeMax = 80 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.7 this.value = 200 elseif (this.type == 28) then this.scale = 1.1 this.width = 18 this.height = 38 this.aiStyle = 3 this.damage = 25 this.defense = 8 this.lifeMax = 110 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.value = 150 elseif (this.type == 29) then this.width = 18 this.height = 38 this.aiStyle = 8 this.damage = 20 this.defense = 2 this.lifeMax = 40 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.6 this.value = 200 elseif (this.type == 30) then this.width = 16 this.height = 16 this.aiStyle = 9 this.damage = 20 this.defense = 0 this.lifeMax = 1 this.HitSound = SoundID.NPCHit3 this.DeathSound = SoundID.NPCDeath3 this.noGravity = true this.noTileCollide = true this.alpha = 100 this.knockBackResist = 0 elseif (this.type == 111) then this.scale = 0.95 this.width = 18 this.height = 38 this.aiStyle = 3 this.damage = 20 this.defense = 6 this.lifeMax = 80 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.7 this.value = 200 elseif (this.type == 471) then this.width = 18 this.height = 38 this.aiStyle = 3 this.damage = 80 this.defense = 26 this.lifeMax = 2000 this.HitSound = SoundID.NPCHit40 this.DeathSound = SoundID.NPCDeath42 this.knockBackResist = 0.15 this.value = 5000 this.rarity = 1 elseif (this.type == 472) then this.width = 40 this.height = 24 this.aiStyle = 86 this.damage = 50 this.defense = 18 this.lifeMax = 180 this.HitSound = SoundID.NPCHit52 this.DeathSound = SoundID.NPCDeath55 this.knockBackResist = 0 this.value = 0 this.npcSlots = 0.1 elseif (this.type == 520) then this.width = 34 this.height = 110 this.aiStyle = 3 this.damage = 60 this.defense = 40 this.lifeMax = 2000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.knockBackResist = 0 elseif (this.type == 521) then this.width = 60 this.height = 60 this.aiStyle = 86 this.damage = 90 this.defense = 30 this.lifeMax = 2000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0 elseif (this.type == 522) then this.width = 26 this.height = 26 this.aiStyle = 100 this.damage = 120 this.defense = 0 this.lifeMax = 400 this.HitSound = null this.DeathSound = null this.noGravity = true this.noTileCollide = true this.alpha = 0 this.knockBackResist = 0 elseif (this.type == 523) then this.width = 42 this.height = 42 this.aiStyle = 101 this.damage = 30 this.defense = 0 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.noGravity = true this.noTileCollide = true this.alpha = 0 this.knockBackResist = 0 this.chaseable = false this.alpha = 255 this.canGhostHeal = false elseif (this.type == 534) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 20 this.lifeMax = 400 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.3 this.value = 0 this.lavaImmune = true this.netAlways = true this.rarity = 2 elseif (this.type == 535) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 14 this.defense = 5 this.lifeMax = 50 this.scale = 1.1 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 0 this.value = 40 elseif (this.type == 536) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 8 this.lifeMax = 200 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 1000 this.rarity = 2 elseif (this.type == 537) then this.npcSlots = 2 this.width = 30 this.height = 24 this.aiStyle = 1 this.damage = 15 this.defense = 5 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.alpha = 50 -- this.color = new Color(255, 250, 0, 0) * 0.2 this.value = 75 this.knockBackResist = 0.7 elseif (this.type == 538) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 3563 elseif (this.type == 539) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 3564 this.rarity = 3 elseif (this.type == 541) then this.width = 30 this.height = 76 this.aiStyle = 102 this.damage = 40 this.defense = 30 this.lifeMax = 5000 this.HitSound = SoundID.NPCHit23 this.DeathSound = SoundID.NPCDeath39 this.knockBackResist = 0.05 this.value = Item.buyPrice(0, 1, 50, 0) this.rarity = 2 elseif (this.type == 542) then this.noGravity = true this.width = 100 this.height = 24 this.aiStyle = 103 this.damage = 50 this.defense = 20 this.lifeMax = 360 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 400 this.knockBackResist = 0.9 this.behindTiles = true elseif (this.type == 543) then this.noGravity = true this.width = 100 this.height = 24 this.aiStyle = 103 this.damage = 60 this.defense = 24 this.lifeMax = 380 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 400 this.knockBackResist = 0.8 this.behindTiles = true elseif (this.type == 544) then this.noGravity = true this.width = 100 this.height = 24 this.aiStyle = 103 this.damage = 64 this.defense = 22 this.lifeMax = 400 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 400 this.knockBackResist = 0.8 this.behindTiles = true elseif (this.type == 545) then this.noGravity = true this.width = 100 this.height = 24 this.aiStyle = 103 this.damage = 54 this.defense = 26 this.lifeMax = 450 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 400 this.knockBackResist = 0.7 this.behindTiles = true elseif (this.type == 546) then this.width = 30 this.height = 30 this.aiStyle = 26 this.damage = 30 this.defense = 6 this.lifeMax = 50 this.HitSound = SoundID.NPCHit11 this.DeathSound = SoundID.NPCDeath15 this.knockBackResist = 0.8 this.value = 100 elseif (this.type == 547) then this.width = 16 this.height = 16 this.aiStyle = 104 this.defense = 10 this.lifeMax = 10 this.HitSound = SoundID.NPCHit11 this.DeathSound = SoundID.NPCDeath15 this.knockBackResist = 1 this.noGravity = true this.noTileCollide = true elseif (this.type == 548) then this.width = 40 this.height = 40 this.aiStyle = 105 this.defense = 14 this.lifeMax = 1000 this.HitSound = SoundID.DD2_CrystalCartImpact this.DeathSound = SoundID.NPCDeath15 this.knockBackResist = 0 this.friendly = true this.npcSlots = 0 this.hide = true if (Main.hardMode and NPC.downedMechBossAny) then this.defense = 18 this.lifeMax = 3000 end if (NPC.downedGolemBoss and Main.hardMode) then this.defense = 20 this.lifeMax = 5000 end if (Main.masterMode) then this.lifeMax = this.lifeMax * 3 elseif (Main.expertMode) then this.lifeMax = this.lifeMax * 2 end this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 549) then this.lifeMax = 5 this.defense = 20 this.damage = 0 this.width = 78 this.height = 130 this.aiStyle = 106 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.value = 0 this.knockBackResist = 0 this.noGravity = true this.noTileCollide = true this.npcSlots = 0 this.behindTiles = true this.dontTakeDamage = true this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 552) then this.lifeMax = 30 this.defense = 14 this.damage = 18 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_GoblinHurt this.DeathSound = SoundID.DD2_GoblinDeath this.knockBackResist = 0.2 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 553) then this.lifeMax = 170 this.defense = 20 this.damage = 46 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_GoblinHurt this.DeathSound = SoundID.DD2_GoblinDeath this.knockBackResist = 0.2 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 554) then this.lifeMax = 560 this.defense = 28 this.damage = 70 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_GoblinHurt this.DeathSound = SoundID.DD2_GoblinDeath this.knockBackResist = 0.15 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 561) then this.lifeMax = 60 this.defense = 18 this.damage = 30 this.width = 26 this.height = 52 this.aiStyle = 107 this.HitSound = SoundID.DD2_JavelinThrowersHurt this.DeathSound = SoundID.DD2_JavelinThrowersDeath this.knockBackResist = 0.1 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 562) then this.lifeMax = 300 this.defense = 28 this.damage = 60 this.width = 26 this.height = 52 this.aiStyle = 107 this.HitSound = SoundID.DD2_JavelinThrowersHurt this.DeathSound = SoundID.DD2_JavelinThrowersDeath this.knockBackResist = 0.1 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 563) then this.lifeMax = 1000 this.defense = 38 this.damage = 80 this.width = 26 this.height = 52 this.aiStyle = 107 this.HitSound = SoundID.DD2_JavelinThrowersHurt this.DeathSound = SoundID.DD2_JavelinThrowersDeath this.knockBackResist = 0.05 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 555) then this.lifeMax = 50 this.defense = 16 this.damage = 26 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_GoblinBomberHurt this.DeathSound = SoundID.DD2_GoblinBomberDeath this.knockBackResist = 0.2 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 556) then this.lifeMax = 200 this.defense = 26 this.damage = 55 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_GoblinBomberHurt this.DeathSound = SoundID.DD2_GoblinBomberDeath this.knockBackResist = 0.2 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 557) then this.lifeMax = 700 this.defense = 34 this.damage = 75 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_GoblinBomberHurt this.DeathSound = SoundID.DD2_GoblinBomberDeath this.knockBackResist = 0.15 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 558) then this.width = 38 this.height = 38 this.aiStyle = 108 this.damage = 30 this.defense = 4 this.lifeMax = 60 this.HitSound = SoundID.DD2_WyvernHurt this.DeathSound = SoundID.DD2_WyvernDeath this.noGravity = true this.noTileCollide = true this.knockBackResist = 0.2 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 559) then this.width = 38 this.height = 38 this.aiStyle = 108 this.damage = 75 this.defense = 16 this.lifeMax = 180 this.HitSound = SoundID.DD2_WyvernHurt this.DeathSound = SoundID.DD2_WyvernDeath this.noGravity = true this.noTileCollide = true this.knockBackResist = 0.2 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 560) then this.width = 38 this.height = 38 this.aiStyle = 108 this.damage = 100 this.defense = 30 this.lifeMax = 600 this.HitSound = SoundID.DD2_WyvernHurt this.DeathSound = SoundID.DD2_WyvernDeath this.noGravity = true this.noTileCollide = true this.knockBackResist = 0.05 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 550) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 576) then this.lifeMax = 5000 this.defense = 34 this.damage = 70 this.width = 96 this.height = 124 this.aiStyle = 107 this.HitSound = SoundID.DD2_OgreHurt this.DeathSound = SoundID.DD2_OgreDeath this.knockBackResist = 0 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 577) then this.lifeMax = 13000 this.defense = 40 this.damage = 90 this.width = 96 this.height = 124 this.aiStyle = 107 this.HitSound = SoundID.DD2_OgreHurt this.DeathSound = SoundID.DD2_OgreDeath this.knockBackResist = 0 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 568) then this.lifeMax = 500 this.defense = 30 this.damage = 50 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_WitherBeastHurt this.DeathSound = SoundID.DD2_WitherBeastDeath this.knockBackResist = 0.15 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 569) then this.lifeMax = 1400 this.defense = 40 this.damage = 80 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_WitherBeastHurt this.DeathSound = SoundID.DD2_WitherBeastDeath this.knockBackResist = 0.05 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 566) then this.lifeMax = 25 this.defense = 12 this.damage = 18 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_SkeletonHurt this.DeathSound = SoundID.DD2_SkeletonDeath this.knockBackResist = 0.3 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 567) then this.lifeMax = 480 this.defense = 22 this.damage = 70 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_SkeletonHurt this.DeathSound = SoundID.DD2_SkeletonDeath this.knockBackResist = 0.2 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 572) then this.lifeMax = 260 this.defense = 26 this.damage = 60 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_KoboldHurt this.DeathSound = SoundID.DD2_KoboldDeath this.knockBackResist = 0.2 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 573) then this.lifeMax = 800 this.defense = 32 this.damage = 80 this.width = 18 this.height = 40 this.aiStyle = 107 this.HitSound = SoundID.DD2_KoboldHurt this.DeathSound = SoundID.DD2_KoboldDeath this.knockBackResist = 0.1 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 570) then this.lifeMax = 900 this.defense = 30 this.damage = 60 this.width = 42 this.height = 58 this.aiStyle = 107 this.HitSound = SoundID.DD2_DrakinHurt this.DeathSound = SoundID.DD2_DrakinDeath this.knockBackResist = 0 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 571) then this.lifeMax = 3000 this.defense = 40 this.damage = 90 this.width = 42 this.height = 58 this.aiStyle = 107 this.HitSound = SoundID.DD2_DrakinHurt this.DeathSound = SoundID.DD2_DrakinDeath this.knockBackResist = 0 this.value = 0 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 564) then this.lifeMax = 800 this.defense = 18 this.damage = 40 this.width = 34 this.height = 62 this.aiStyle = 109 this.HitSound = SoundID.DD2_DarkMageHurt this.DeathSound = SoundID.DD2_DarkMageDeath this.knockBackResist = 0 this.value = 0 this.npcSlots = 0 this.noGravity = true this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 565) then this.lifeMax = 4000 this.defense = 38 this.damage = 90 this.width = 34 this.height = 62 this.aiStyle = 109 this.HitSound = SoundID.DD2_DarkMageHurt this.DeathSound = SoundID.DD2_DarkMageDeath this.knockBackResist = 0 this.value = 0 this.npcSlots = 0 this.noGravity = true this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 574) then this.width = 38 this.height = 38 this.aiStyle = 108 this.damage = 50 this.defense = 16 this.lifeMax = 170 this.HitSound = SoundID.DD2_KoboldFlyerHurt this.DeathSound = SoundID.DD2_KoboldFlyerDeath this.noGravity = true this.noTileCollide = true this.knockBackResist = 0.4 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 575) then this.width = 38 this.height = 38 this.aiStyle = 108 this.damage = 80 this.defense = 32 this.lifeMax = 580 this.HitSound = SoundID.DD2_KoboldFlyerHurt this.DeathSound = SoundID.DD2_KoboldFlyerDeath this.noGravity = true this.noTileCollide = true this.knockBackResist = 0.25 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 551) then this.damage = 80 this.defense = 38 this.lifeMax = 50000 this.width = 190 this.height = 90 this.aiStyle = 110 this.HitSound = SoundID.DD2_BetsyHurt this.DeathSound = SoundID.DD2_BetsyDeath this.knockBackResist = 0 this.value = 0 this.noGravity = true this.noTileCollide = true this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 578) then this.width = 30 this.height = 24 this.aiStyle = 111 this.damage = 80 this.defense = 36 this.lifeMax = 500 this.HitSound = SoundID.DD2_LightningBugHurt this.DeathSound = SoundID.DD2_LightningBugDeath this.noGravity = true this.noTileCollide = true this.knockBackResist = 0.8 this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true elseif (this.type == 579) then this.friendly = true this.width = 34 this.height = 8 this.aiStyle = 0 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.scale = 1 this.rarity = 1 elseif (this.type == 582) then this.width = 18 this.height = 18 this.aiStyle = 3 this.damage = 10 this.defense = 2 this.lifeMax = 30 this.HitSound = SoundID.NPCHit31 this.DeathSound = SoundID.NPCDeath34 this.knockBackResist = 0.75 this.value = 40 this.npcSlots = 0.4 elseif (this.type == 583 or this.type == 584 or this.type == 585) then this.width = 18 this.height = 20 this.aiStyle = 112 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 if (this.type == 583) then this.catchItem = 4068 elseif (this.type == 584) then this.catchItem = 4069 elseif (this.type == 585) then this.catchItem = 4070 end this.noGravity = true this.rarity = 2 elseif (this.type == 586) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 40 this.defense = 20 this.lifeMax = 400 this.HitSound = SoundID.NPCHit18 this.DeathSound = SoundID.NPCDeath21 this.knockBackResist = 0 this.value = 1000 this.alpha = 255 this.rarity = 1 elseif (this.type == 587) then this.width = 32 this.height = 18 this.aiStyle = 44 this.damage = 35 this.defense = 18 this.lifeMax = 300 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0 this.DeathSound = SoundID.NPCDeath1 this.value = 1000 this.alpha = 255 this.rarity = 1 elseif (this.type == 588) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 589) then this.friendly = true this.width = 18 this.height = 34 this.aiStyle = 0 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.rarity = 1 elseif (this.type == 590 or this.type == 591) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 6 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 60 elseif (this.type == 592) then this.noGravity = true this.width = 20 this.height = 18 this.aiStyle = 16 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.catchItem = 4274 this.rarity = 3 elseif (this.type == 593) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 4274 this.rarity = 3 elseif (this.type == 594) then this.width = 20 this.height = 20 this.aiStyle = 113 this.damage = 0 this.defense = 0 this.knockBackResist = 0.3 this.lifeMax = 1 this.DeathSound = SoundID.NPCDeath63 this.value = 0 this.noGravity = true elseif (this.type >= 595 and this.type <= 601) then this.timeLeft = this.timeLeft * 3 this.width = 10 this.height = 10 this.aiStyle = 114 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.25 this.noGravity = true if (this.type == 601) then this.rarity = 3 end this.catchItem = (this.type - 595 + 4334) elseif (this.type == 602) then this.width = 22 this.height = 26 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 4359 elseif (this.type == 603) then this.width = 28 this.height = 22 this.aiStyle = 68 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 4359 elseif (this.type == 604 or this.type == 605) then this.width = 10 this.height = 10 this.aiStyle = 115 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.25 this.noGravity = true if (this.type == 605) then this.rarity = 3 end this.catchItem = (this.type - 604 + 4361) elseif (this.type == 606) then this.width = 10 this.height = 4 this.aiStyle = 66 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.1 this.catchItem = 4363 this.friendly = true elseif (this.type == 607) then this.noGravity = true this.width = 20 this.height = 18 this.aiStyle = 16 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.catchItem = 4373 elseif (this.type == 608) then this.width = 22 this.height = 26 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 4374 elseif (this.type == 609) then this.width = 28 this.height = 22 this.aiStyle = 68 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 4374 elseif (this.type == 610) then this.width = 14 this.height = 12 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath4 this.npcSlots = 0.25 this.catchItem = 4375 elseif (this.type == 611) then this.width = 18 this.height = 34 this.aiStyle = 24 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 4395 this.npcSlots = 0.4 elseif (this.type == 612 or this.type == 613) then this.width = 10 this.height = 10 this.aiStyle = 116 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.25 if (this.type == 613) then this.rarity = 3 end this.catchItem = (this.type - 612 + 4418) this.waterMovementSpeed = 1 this.lavaMovementSpeed = 1 this.honeyMovementSpeed = 1 elseif (this.type == 614) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = null this.catchItem = 1338 elseif (this.type == 615) then this.noGravity = true this.width = 20 this.height = 18 this.aiStyle = 16 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 616 or this.type == 617) then this.width = 22 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 this.catchItem = (this.type - 616 + 4464) elseif (this.type == 618) then this.noGravity = true this.width = 100 this.height = 100 this.aiStyle = 117 this.damage = 55 this.defense = 24 this.lifeMax = 7000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.value = Item.buyPrice(0, 2, 0, 0) this.noTileCollide = true this.rarity = 1 elseif (this.type == 619) then this.npcSlots = 1 this.width = 44 this.height = 44 this.aiStyle = 5 this.damage = 60 this.defense = 16 this.lifeMax = 750 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.knockBackResist = 0 this.value = 500 this.alpha = 255 elseif (this.type == 620) then this.lifeMax = 5000 this.defense = 30 this.damage = 70 this.width = 34 this.height = 58 this.aiStyle = 107 this.HitSound = SoundID.DD2_DrakinHurt this.DeathSound = SoundID.DD2_DrakinDeath this.knockBackResist = 0 this.value = Item.buyPrice(0, 0, 75, 0) this.npcSlots = 0 this.lavaImmune = true LazySetLiquidMovementDD2 this.netAlways = true this.alpha = 255 this.rarity = 1 elseif (this.type == 621) then this.npcSlots = 5 this.width = 28 this.height = 28 this.aiStyle = 6 this.damage = 90 this.defense = 0 this.lifeMax = 6000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = Item.buyPrice(0, 0, 75, 0) this.alpha = 255 this.rarity = 1 elseif (this.type == 622) then this.width = 28 this.height = 28 this.aiStyle = 6 this.netAlways = true this.damage = 60 this.defense = 30 this.lifeMax = 6000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.dontCountMe = true this.npcSlots = 0 this.alpha = 255 elseif (this.type == 623) then this.width = 28 this.height = 28 this.aiStyle = 6 this.netAlways = true this.damage = 50 this.defense = 40 this.lifeMax = 6000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.dontCountMe = true this.npcSlots = 0 this.alpha = 255 elseif (this.type == 624) then this.width = 14 this.height = 30 this.aiStyle = 3 this.damage = 10 this.defense = 0 this.lifeMax = 25 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 1 this.rarity = 1 elseif (this.type == 625) then this.width = 22 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 626 or this.type == 627) then this.width = 16 this.height = 20 this.aiStyle = 118 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 1 if (this.type == 627) then this.rarity = 3 end this.catchItem = 4480 if (this.type == 627) then this.catchItem = 4482 end elseif (this.type == 628) then this.width = 22 this.height = 40 this.aiStyle = 119 this.damage = 15 this.defense = 0 this.lifeMax = 50 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0 this.value = 50 elseif (this.type == 629) then this.width = 24 this.height = 24 this.aiStyle = 25 this.damage = 80 this.defense = 30 this.lifeMax = 500 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath6 this.value = 100000 this.knockBackResist = 0.3 this.rarity = 4 this.coldDamage = true if (Main.remixWorld and not Main.hardMode) then this.damage = 30 this.defense = 12 this.lifeMax = 300 this.value = Item.buyPrice(0, 2, 0, 0) end elseif (this.type == 630) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 60 this.defense = 18 this.lifeMax = 180 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.value = 700 elseif (this.type == 631) then this.width = 36 this.height = 48 this.scale = 1.1 this.aiStyle = 3 this.damage = 85 this.defense = 35 this.lifeMax = 1000 this.HitSound = SoundID.NPCHit41 this.DeathSound = SoundID.NPCDeath43 this.knockBackResist = 0.1 this.value = 25000 elseif (this.type == 632) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 14 this.defense = 6 this.lifeMax = 45 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 60 elseif (this.type == 633) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.5 elseif (this.type == 634) then this.npcSlots = 0.5 this.width = 22 this.height = 18 this.aiStyle = 14 this.damage = 13 this.defense = 2 this.lifeMax = 16 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath4 this.value = 90 elseif (this.type == 635) then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 20 this.defense = 8 this.lifeMax = 60 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath2 this.knockBackResist = 0.5 this.value = 100 elseif (this.type == 636) then this.noGravity = true this.width = 100 this.height = 100 this.aiStyle = 120 this.damage = 80 this.defense = 50 this.lifeMax = 70000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath65 this.knockBackResist = 0 this.value = 250000 this.noTileCollide = true this.boss = true this.Opacity = 0 this.dontTakeDamage = true this.npcSlots = 16 elseif (this.type == 637 or this.type == 638) then this.townNPC = true this.friendly = true this.width = 18 this.height = 28 if (this.type == 637) then this.height = 20 end this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.housingCategory = 1 elseif (this.type >= 639 and this.type <= 645) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = (4831 + (this.type - 639)) elseif (this.type >= 646 and this.type <= 652) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.catchItem = (4838 + (this.type - 646)) elseif (this.type == 653) then this.width = 10 this.height = 10 this.aiStyle = 65 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.25 this.noGravity = true this.lavaImmune = true this.catchItem = 4845 elseif (this.type == 654) then this.width = 10 this.height = 10 this.aiStyle = 64 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.2 this.noGravity = true this.lavaImmune = true this.catchItem = 4847 elseif (this.type == 655) then this.width = 14 this.height = 14 this.aiStyle = 67 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.5 this.noGravity = true this.lavaImmune = true this.catchItem = 4849 elseif (this.type == 656) then this.townNPC = true this.friendly = true this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.housingCategory = 1 elseif (this.type == 657) then this.width = 114 this.height = 100 this.aiStyle = 121 this.damage = 60 this.defense = 26 this.lifeMax = 18000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath64 this.lavaImmune = true this.knockBackResist = 0 this.value = 60000 this.boss = true this.npcSlots = 5 elseif (this.type == 658 or this.type == 659) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 40 this.defense = 35 this.lifeMax = 150 this.scale = 1 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 elseif (this.type == 660) then this.width = 40 this.height = 30 this.aiStyle = 14 this.damage = 50 this.defense = 30 this.lifeMax = 120 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.knockBackResist = 0.8 this.scale = 1 elseif (this.type == 661) then this.width = 10 this.height = 10 this.aiStyle = 65 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.25 this.noGravity = true this.lavaImmune = true this.catchItem = 4961 this.rarity = 4 elseif (this.type == 662) then this.width = 18 this.height = 40 this.aiStyle = 122 this.damage = 75 this.defense = 22 this.lifeMax = 500 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.2 this.value = 0 this.noTileCollide = true this.lavaImmune = true this.trapImmune = true this.noGravity = true elseif (this.type == 663) then this.townNPC = true this.friendly = true this.width = 18 this.height = 40 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 elseif (this.type == 664) then this.lifeMax = 20 this.boss = true elseif (this.type == 665) then this.width = 16 this.height = 16 this.aiStyle = 9 this.damage = 20 this.defense = 0 this.lifeMax = 1 this.HitSound = SoundID.NPCHit3 this.DeathSound = SoundID.NPCDeath3 this.noGravity = true this.noTileCollide = true this.alpha = 100 this.knockBackResist = 0 elseif (this.type == 666) then this.width = 16 this.height = 16 this.aiStyle = 9 this.damage = 65 this.defense = 0 this.lifeMax = 1 this.HitSound = null this.DeathSound = SoundID.NPCDeath9 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.scale = 0.9 this.alpha = 80 elseif (this.type == 667) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 5 this.defense = 5 this.lifeMax = 300 this.knockBackResist = this.knockBackResist * 1.4 this.rarity = 2 this.scale = 1 this.value = Item.buyPrice(0, 15, 0, 0) this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 elseif (this.type == 668) then this.width = 60 this.height = 154 this.aiStyle = 123 this.damage = 20 this.defense = 10 this.lifeMax = 7000 this.HitSound = SoundID.DeerclopsHit this.DeathSound = SoundID.DeerclopsDeath this.knockBackResist = 0 this.boss = true this.noGravity = true this.noTileCollide = true this.value = Item.buyPrice(0, 5, 0, 0) this.npcSlots = 10 this.coldDamage = true elseif (this.type == 669) then this.width = 10 this.height = 10 this.aiStyle = 115 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.25 this.noGravity = true this.catchItem = 5132 elseif (this.type == 670) then this.townNPC = true this.friendly = true this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.housingCategory = 1 elseif (this.type == 671) then this.width = 14 this.height = 14 this.aiStyle = 24 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 5212 this.npcSlots = 1 elseif (this.type == 672) then this.width = 14 this.height = 14 this.aiStyle = 24 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 5300 this.npcSlots = 1 elseif (this.type == 673) then this.width = 14 this.height = 14 this.aiStyle = 24 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 5311 this.npcSlots = 1 elseif (this.type == 674) then this.width = 14 this.height = 14 this.aiStyle = 24 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 5312 this.npcSlots = 1 elseif (this.type == 675) then this.width = 14 this.height = 14 this.aiStyle = 24 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.knockBackResist = 0.8 this.DeathSound = SoundID.NPCDeath1 this.catchItem = 5313 this.npcSlots = 1 elseif (this.type == 676) then this.width = 24 this.height = 18 this.aiStyle = 1 this.damage = 20 this.defense = 5 this.lifeMax = 80 this.scale = 1 this.value = Item.buyPrice(0, 0, 1, 50) this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 elseif (this.type == 677) then this.width = 10 this.height = 10 this.aiStyle = 64 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.npcSlots = 0.2 this.noGravity = true this.catchItem = 5350 this.noTileCollide = true elseif (this.type == 678 or this.type == 679 or this.type == 680 or this.type == 681 or this.type == 682 or this.type == 683 or this.type == 684) then this.townNPC = true this.friendly = true this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 10 this.defense = 15 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.knockBackResist = 0.5 this.housingCategory = 1 elseif (this.type == 685) then this.width = 30 this.height = 28 this.aiStyle = 1 this.damage = 0 this.defense = 10 this.knockBackResist = 0.3 this.lifeMax = 250 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.value = 0 this.rarity = 2 this.friendly = true elseif (this.type == 686) then this.width = 20 this.height = 20 this.aiStyle = 125 this.damage = 0 this.defense = 0 this.knockBackResist = 0.3 this.lifeMax = 1 this.DeathSound = SoundID.NPCDeath63 this.value = 0 this.rarity = 2 this.noGravity = true this.noTileCollide = true this.dontTakeDamageFromHostiles = true elseif (this.type == 687) then this.width = 18 this.height = 20 this.aiStyle = 7 this.damage = 0 this.defense = 0 this.lifeMax = 5 this.rarity = 2 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath6 this.catchItem = 2121 end

-- ==================

if (not spawnparams.sizeScaleOverride) then this.width = math.floor(this.width * this.scale) this.height = math.floor(this.height * this.scale) else local num3 = math.floor(this.width * this.scale) local num4 = math.floor(this.height * this.scale) --this.position.X = this.position.X + (num3 / 2) --this.position.Y = this.position.Y + num4 this.scale = spawnparams.sizeScaleOverride this.width = math.floor(this.width * this.scale) this.height = math.floor(this.height * this.scale) if (this.height == 16 or this.height == 32) then this.height = this.height + 1 end --this.position.X = this.position.X - (this.width / 2) --this.position.Y = this.position.Y - this.height end this.life = this.lifeMax this.defDamage = this.damage this.defDefense = this.defense this.netID = this.type --1.4.1 move all debuff Immunity info here: if DebuffImmunity[this.type] then for _,v in ipairs(DebuffImmunity[this.type]) do			this.buffImmune[v] = true end end if (NPCID.Sets('ShimmerImmunity', this.type)) then this.buffImmune[353] = true end if ImmuneToAll[this.type] then this.buffImmuneAll = true elseif ImmuneToAllNotWhips[this.type] then this.buffImmuneAllNotWhips = true end if (Main.zenithWorld) then getZenithSeedAdjustmentsBeforeEverything; end if (Main.getGoodWorld) then getGoodAdjustments end if (Main.tenthAnniversaryWorld) then getTenthAnniversaryAdjustments end -- if (this.type >= 0 && this.type < NPCID.Count && Main.npcCatchable[this.type]) -- {   --     this.catchableNPCTempImmunityCounter = 90; --    this.friendly = true; -- }	ScaleStats(spawnparams.playerCountForMultiplayerDifficultyOverride, spawnparams.gameModeData, spawnparams.strengthMultiplierOverride) this.life = this.lifeMax end

---Converts a table to a string. ---@param var table ---@return string local function export(var) local resultStr = mw.dumpObject(var) resultStr = string.gsub(resultStr, "table#1 ", "") resultStr = string.gsub(resultStr, "metatable = table#2", "") resultStr = string.gsub(resultStr, " +", "") resultStr = string.gsub(resultStr, "\n+", "\n") return resultStr end

---Main function. Returns a table of stats for the specified NPC ID. ---@param npcid number ---@return table local function npcinfo(npcid, playerCount)

Main.hardMode = false NPC.downedPlantBoss = false

--	-- normal stats --	SetDefaults(npcid, {playerCountForMultiplayerDifficultyOverride = playerCount}) if not ExcludedFromDeathTally(npcid) then this.banner = BannerToItem(npcToBanner(BannerID)) end local info = {} for k,v in pairs(this) do		info[k] = v	end info.buffImmune = {} for k,v in pairs(this.buffImmune) do		info.buffImmune[k] = v	end

info.life = nil info.defDamage = nil info.defDefense = nil info.statsAreScaledForThisManyPlayers = nil info.strengthMultiplier = nil

--	-- expert/master stats --	local fields = {'lifeMax', 'damage', 'defense', 'knockBackResist', 'value'}

-- expert pre-hardmode Main.hardMode = false NPC.downedPlantBoss = false SetDefaults(npcid, {gameModeData = GameModeData.ExpertMode, playerCountForMultiplayerDifficultyOverride = playerCount}) for _, v in pairs(fields) do info[v .. '_e'] = this[v] end -- expert hardmode Main.hardMode = true SetDefaults(npcid, {gameModeData = GameModeData.ExpertMode, playerCountForMultiplayerDifficultyOverride = playerCount}) for _, v in pairs(fields) do info[v .. '_e_hm'] = this[v] end -- expert hardmode post-plantera NPC.downedPlantBoss = true SetDefaults(npcid, {gameModeData = GameModeData.ExpertMode, playerCountForMultiplayerDifficultyOverride = playerCount}) for _, v in pairs(fields) do info[v .. '_e_pp'] = this[v] end

-- master pre-hardmode Main.hardMode = false NPC.downedPlantBoss = false SetDefaults(npcid, {gameModeData = GameModeData.MasterMode, playerCountForMultiplayerDifficultyOverride = playerCount}) for _, v in pairs(fields) do info[v .. '_m'] = this[v] end -- master hardmode Main.hardMode = true SetDefaults(npcid, {gameModeData = GameModeData.MasterMode, playerCountForMultiplayerDifficultyOverride = playerCount}) for _, v in pairs(fields) do info[v .. '_m_hm'] = this[v] end -- master hardmode post-plantera NPC.downedPlantBoss = true SetDefaults(npcid, {gameModeData = GameModeData.MasterMode, playerCountForMultiplayerDifficultyOverride = playerCount}) for _, v in pairs(fields) do info[v .. '_m_pp'] = this[v] end

--	-- filter the stats --	local Valid = {} -- these are the stats that will be included, all others will be ignored do Valid.DeathSound = true Valid.HitSound = true Valid.Opacity = true Valid.aiStyle = true Valid.alpha = true Valid.behindTiles = true Valid.boss = true Valid.buffImmune = true Valid.buffImmuneAll = true Valid.buffImmuneAllNotWhips = true Valid.catchItem = true Valid.coldDamage = true Valid.damage = true Valid.damage_e = true Valid.damage_e_hm = true Valid.damage_e_pp = true Valid.damage_hm = true Valid.damage_m = true Valid.damage_m_hm = true Valid.damage_m_pp = true Valid.damage_pp = true Valid.defense = true Valid.defense_e = true Valid.defense_e_hm = true Valid.defense_e_pp = true Valid.defense_hm = true Valid.defense_m = true Valid.defense_m_hm = true Valid.defense_m_pp = true Valid.defense_pp = true Valid.dontCountMe = true Valid.dontTakeDamage = true Valid.friendly = true Valid.height = true Valid.housingCategory = true Valid.internalName = true Valid.knockBackResist = true Valid.knockBackResist_e = true Valid.knockBackResist_e_hm = true Valid.knockBackResist_e_pp = true Valid.knockBackResist_hm = true Valid.knockBackResist_m = true Valid.knockBackResist_m_hm = true Valid.knockBackResist_m_pp = true Valid.knockBackResist_pp = true Valid.lavaImmune = true Valid.lifeMax = true Valid.lifeMax_e = true Valid.lifeMax_e_hm = true Valid.lifeMax_e_pp = true Valid.lifeMax_hm = true Valid.lifeMax_m = true Valid.lifeMax_m_hm = true Valid.lifeMax_m_pp = true Valid.lifeMax_pp = true Valid.name = true Valid.netAlways = true Valid.netID = true Valid.noGravity = true Valid.noTileCollide = true Valid.npcSlots = true Valid.rarity = true Valid.scale = true Valid.timeLeft = true Valid.townNPC = true Valid.trapImmune = true Valid.type = true Valid.value = true Valid.value_e = true Valid.value_e_hm = true Valid.value_e_pp = true Valid.value_hm = true Valid.value_m = true Valid.value_m_hm = true Valid.value_m_pp = true Valid.value_pp = true Valid.width = true Valid.banner = true end

for k,v in pairs(info) do		if not Valid[k] then info[k] = nil end end

if npcid == 0 then info.banner = 0 info.buffImmune = {} end

return info end

- -- main return object return {

-- for other modules: get all stats of an item, return them as a table getInfo = npcinfo,

-- for templates: generate a data slice gen = function(frame) currentFrame = frame -- cache local min = tonumber(getArg(1)) or 0 local max = tonumber(getArg(2)) or 0

local output = ''

local reset = npcinfo(0)

for npcid = min, max do			local npcinfoTable = npcinfo(npcid) local outputTable = {} if npcid == 0 then outputTable = reset else for stat, value in pairs(npcinfoTable) do					if value ~= reset[stat] then outputTable[stat] = value -- only append to output if stat has a non-default value end end end local buffImmune = nil for k, v in pairs(npcinfoTable.buffImmune) do				if v then if buffImmune then buffImmune = buffImmune .. ', ' .. k					else buffImmune = k					end end end outputTable.buffImmune = buffImmune outputTable.internalName = frame:expandTemplate{title = 'NpcInternalNameFromId', args = {npcid} }

-- NPC display name outputTable.name = gametext('NPCName.' .. outputTable.internalName, 'en') -- gametext might yield no result (e.g. for "variant" NPCs), -- in that case try again with the "base" NPC's internal name if outputTable.name == '' or not outputTable.name then local baseNpcId = npcinfoTable.type -- in a few edge cases, the "base" NPC for the display name is not equal to the "type" stat if npcid == 403 or npcid == 404 then baseNpcId = 402 elseif npcid == 408 then baseNpcId = 407 end outputTable.name = gametext('NPCName.' .. frame:expandTemplate{title = 'NpcInternalNameFromId', args = {baseNpcId} }, 'en') end

output = output .. '\n[' .. npcid .. '] = ' .. export(outputTable) .. ','		end

return output end,

-- for templates: print the "meta" rows with timestamp and Terraria version genMeta = function(frame) local timestamp = os.date('!%Y-%m-%d %H:%M:%S') .. ' (+00:00)' -- the "!" forces UTC return "\n['_terrariaversion'] = '" .. terrariaversion .. "',"			.. "\n['_generated'] = '" .. timestamp .. "',"	end,

}