Module:Npcinfo/datagen
This helper module is used for generating the NPC database (Module:Npcinfo/data). Invoke the gen
function with two NPC IDs, e.g. {{#invoke:Npcinfo/datagen|gen|20|80}}
. The module will generate the data for all NPCs whose ID is between 20 and 80 (inclusive) in that case. Make sure to also include the time of generation and the Terraria version used for it in the database; this information is obtained by invoking the genMeta
function.
The code of this module reproduces the Terraria.NPC.SetDefaults
method from Terraria's source code, ported from C# to Lua. Various other methods or snippets of methods needed to generate NPC information are also included. The code is based on version 1.4.4.9.
As this is a helper module which is only invoked manually, it is not needed in language wikis. Only the final NPC database (Module:Npcinfo/data) is required there.
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<CreativePowers.DifficultySliderPower>() -- 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, }