Tag: Undo |
No edit summary |
||
Line 10,188: | Line 10,188: | ||
if not ExcludedFromDeathTally(npcid) then |
if not ExcludedFromDeathTally(npcid) then |
||
this.banner = BannerToItem(npcToBanner(BannerID())) |
this.banner = BannerToItem(npcToBanner(BannerID())) |
||
+ | elseif npcid == 0 then |
||
+ | this.banner = nil |
||
end |
end |
||
local info = {} |
local info = {} |
Revision as of 15:24, 24 May 2021
Documentation The documentation below is transcluded from Module:Npcinfo/datagen/doc. (edit | history)
Helper for generating data for Module:Npcinfo/data. Invoke the
function with two NPC IDs, e.g. gen
{{#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.
local trim = mw.text.trim ---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: Desktop 1.4.2.3 -- -------------------- -- 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. ---Indices are NPC IDs, values are arrays of debuff IDs. local DebuffImmunity = {} 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[31] = { 20 } DebuffImmunity[32] = { 20, 31 } DebuffImmunity[33] = { 31 } DebuffImmunity[34] = { 20, 31 } DebuffImmunity[35] = { 20, 31, 169 } 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 } DebuffImmunity[69] = { 31 } DebuffImmunity[70] = { 20, 24, 31, 39, 70, 323 } DebuffImmunity[71] = { 20 } DebuffImmunity[74] = { 31 } DebuffImmunity[76] = { 31 } DebuffImmunity[77] = { 20 } DebuffImmunity[81] = { 20 } 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[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 } DebuffImmunity[128] = { 20, 31 } DebuffImmunity[129] = { 20, 31 } DebuffImmunity[130] = { 20, 31 } DebuffImmunity[131] = { 20, 31 } DebuffImmunity[137] = { 20 } DebuffImmunity[138] = { 20 } 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 } 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 } 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[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 } 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 } DebuffImmunity[387] = { 20, 31 } DebuffImmunity[388] = { 20, 31 } 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 } DebuffImmunity[428] = { 31 } DebuffImmunity[431] = { 44, 324 } DebuffImmunity[437] = { 31 } DebuffImmunity[438] = { 31 } 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 } 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 } DebuffImmunity[494] = { 31 } DebuffImmunity[495] = { 31 } DebuffImmunity[496] = { 31 } DebuffImmunity[497] = { 31 } DebuffImmunity[510] = { 31 } DebuffImmunity[511] = { 31 } DebuffImmunity[512] = { 31 } DebuffImmunity[513] = { 31 } DebuffImmunity[514] = { 31 } DebuffImmunity[515] = { 31 } DebuffImmunity[516] = { 31 } 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 } 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 } 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 } DebuffImmunity[663] = { 31 } DebuffImmunity[665] = { 31 } DebuffImmunity[666] = { 31 } end ---from Terraria.ID.NPCID+Sets.DebuffImmunitySets local tAll = {68, 72, 392, 440, 491, 549, 583, 584, 585} local ImmuneToAll = {} for _, v in ipairs(tAll) do ImmuneToAll[v] = true end ---from Terraria.ID.NPCID+Sets.DebuffImmunitySets local tNWhips = {82, 134, 135, 136, 139, 253, 288, 330, 384, 393, 394, 395, 422, 439, 454, 455, 456, 457, 458, 459, 492, 493, 507, 517, 662} local ImmuneToAllNotWhips = {} for _, v in ipairs(tNWhips) do ImmuneToAllNotWhips[v] = 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 >= 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 == -10 then return 131 elseif npcid == -9 then return 183 elseif npcid == -8 then return 159 elseif npcid == -7 then return 155 elseif npcid == -6 then return 90 elseif npcid == -5 or npcid == 16 then return 146 elseif npcid == -4 then return 151 elseif npcid == -3 then return 119 elseif npcid == -2 or npcid == 121 then return 167 elseif npcid == -1 or npcid == 81 then return 99 elseif npcid == 0 or npcid == 4 or npcid == 5 or npcid == 8 or npcid == 9 or npcid == 13 or npcid == 14 or npcid == 15 or npcid == 17 or npcid == 18 or npcid == 19 or npcid == 20 or npcid == 22 or npcid == 25 or npcid == 30 or npcid == 33 or npcid == 35 or npcid == 36 or npcid == 37 or npcid == 38 or npcid == 50 or npcid == 54 or npcid == 68 or npcid == 70 or npcid == 72 or npcid == 76 or npcid == 105 or npcid == 106 or npcid == 107 or npcid == 108 or npcid == 112 or npcid == 113 or npcid == 114 or npcid == 115 or npcid == 116 or npcid == 117 or npcid == 118 or npcid == 119 or npcid == 123 or npcid == 124 or npcid == 125 or npcid == 126 or npcid == 127 or npcid == 128 or npcid == 129 or npcid == 130 or npcid == 131 or npcid == 134 or npcid == 135 or npcid == 136 or npcid == 139 or npcid == 142 or npcid == 146 or npcid == 160 or npcid == 178 or npcid == 207 or npcid == 208 or npcid == 209 or npcid == 210 or npcid == 211 or npcid == 222 or npcid == 227 or npcid == 228 or npcid == 229 or npcid == 245 or npcid == 246 or npcid == 247 or npcid == 248 or npcid == 249 or npcid == 261 or npcid == 262 or npcid == 263 or npcid == 264 or npcid == 265 or npcid == 266 or npcid == 267 or npcid == 297 or npcid == 298 or npcid == 299 or npcid == 300 or npcid == 322 or npcid == 323 or npcid == 324 or npcid == 325 or npcid == 327 or npcid == 328 or npcid == 344 or npcid == 345 or npcid == 346 or npcid == 353 or npcid == 354 or npcid == 355 or npcid == 356 or npcid == 357 or npcid == 358 or npcid == 359 or npcid == 360 or npcid == 361 or npcid == 362 or npcid == 363 or npcid == 364 or npcid == 365 or npcid == 366 or npcid == 367 or npcid == 368 or npcid == 369 or npcid == 370 or npcid == 371 or npcid == 372 or npcid == 373 or npcid == 374 or npcid == 375 or npcid == 376 or npcid == 377 or npcid == 378 or npcid == 392 or npcid == 393 or npcid == 394 or npcid == 395 or npcid == 396 or npcid == 397 or npcid == 398 or npcid == 399 or npcid == 400 or npcid == 401 or npcid == 422 or npcid == 437 or npcid == 439 or npcid == 440 or npcid == 441 or npcid == 442 or npcid == 443 or npcid == 444 or npcid == 445 or npcid == 446 or npcid == 447 or npcid == 448 or npcid == 453 or npcid == 454 or npcid == 455 or npcid == 456 or npcid == 457 or npcid == 458 or npcid == 459 or npcid == 472 or npcid == 476 or npcid == 484 or npcid == 485 or npcid == 486 or npcid == 487 or npcid == 488 or npcid == 491 or npcid == 492 or npcid == 493 or npcid == 507 or npcid == 516 or npcid == 517 or npcid == 519 or npcid == 521 or npcid == 522 or npcid == 523 or npcid == 534 or npcid == 535 or npcid == 538 or npcid == 539 or npcid == 547 or npcid == 548 or npcid == 549 or npcid == 550 or npcid == 551 or npcid == 564 or npcid == 565 or npcid == 576 or npcid == 577 or npcid == 579 or npcid == 583 or npcid == 584 or npcid == 585 or npcid == 588 or npcid == 589 or npcid == 592 or npcid == 593 or npcid == 594 or npcid == 595 or npcid == 596 or npcid == 597 or npcid == 598 or npcid == 599 or npcid == 600 or npcid == 601 or npcid == 602 or npcid == 603 or npcid == 604 or npcid == 605 or npcid == 606 or npcid == 607 or npcid == 608 or npcid == 609 or npcid == 610 or npcid == 611 or npcid == 612 or npcid == 613 or npcid == 614 or npcid == 615 or npcid == 616 or npcid == 617 or npcid == 625 or npcid == 626 or npcid == 627 or npcid == 633 then return 0 elseif npcid == 1 or npcid == 302 or npcid == 333 or npcid == 334 or npcid == 335 or npcid == 336 then return 69 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 == 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 == 6 then return 27 elseif npcid == 7 or npcid == 8 or npcid == 9 then return 104 elseif npcid == 10 or npcid == 11 or npcid == 12 or npcid == 95 or npcid == 96 or npcid == 97 then return 84 elseif npcid == 21 or npcid == 201 or npcid == 202 or npcid == 203 or npcid == 449 or npcid == 450 or npcid == 451 or npcid == 452 then return 67 elseif npcid == 23 then return 55 elseif npcid == 24 or npcid == 25 then return 50 elseif npcid == 26 then return 40 elseif npcid == 27 then return 38 elseif npcid == 28 then return 42 elseif npcid == 29 or npcid == 30 then return 39 elseif npcid == 31 or npcid == 294 or npcid == 295 or npcid == 296 then return 247 elseif npcid == 32 or npcid == 33 then return 68 elseif npcid == 34 then return 102 elseif npcid == 39 or npcid == 40 or npcid == 41 then return 13 elseif npcid == 42 or npcid == 231 or npcid == 232 or npcid == 233 or npcid == 234 or npcid == 235 then return 47 elseif npcid == 43 then return 54 elseif npcid == 44 then return 178 elseif npcid == 45 or npcid == 665 then return 177 elseif npcid == 46 or npcid == 303 or npcid == 337 or npcid == 540 then return 14 elseif npcid == 47 then return 18 elseif npcid == 48 then return 44 elseif npcid == 49 then return 7 elseif npcid == 51 then return 130 elseif npcid == 52 then return 106 elseif npcid == 53 then return 176 elseif npcid == 55 or npcid == 230 then return 43 elseif npcid == 56 then return 168 elseif npcid == 57 then return 19 elseif npcid == 58 then return 61 elseif npcid == 59 then return 135 elseif npcid == 60 then return 45 elseif npcid == 61 then return 79 elseif npcid == 62 or npcid == 66 then return 24 elseif npcid == 63 then return 51 elseif npcid == 64 then return 243 elseif npcid == 65 then return 66 elseif npcid == 67 then return 20 elseif npcid == 69 then return 4 elseif npcid == 71 then return 107 elseif npcid == 73 then return 41 elseif npcid == 74 then return 8 elseif npcid == 75 then return 63 elseif npcid == 77 then return 6 elseif npcid == 78 then return 57 elseif npcid == 79 then return 245 elseif npcid == 80 then return 246 elseif npcid == 82 then return 85 elseif npcid == 83 then return 23 elseif npcid == 84 then return 28 elseif npcid == 85 or npcid == 629 then return 16 elseif npcid == 86 then return 77 elseif npcid == 87 or npcid == 88 or npcid == 89 or npcid == 90 or npcid == 91 or npcid == 92 then return 86 elseif npcid == 93 then return 114 elseif npcid == 94 or npcid == 112 then return 100 elseif npcid == 98 or npcid == 99 or npcid == 100 then return 83 elseif npcid == 101 then return 96 elseif npcid == 102 then return 1 elseif npcid == 103 then return 244 elseif npcid == 104 then return 81 elseif npcid == 109 or npcid == 378 then return 17 elseif npcid == 110 then return 164 elseif npcid == 111 then return 118 elseif npcid == 120 then return 15 elseif npcid == 122 then return 37 elseif npcid == 133 then return 288 elseif npcid == 137 then return 128 elseif npcid == 138 then return 129 elseif npcid == 140 then return 153 elseif npcid == 141 then return 75 elseif npcid == 143 then return 170 elseif npcid == 144 then return 145 elseif npcid == 145 then return 169 elseif npcid == 147 then return 126 elseif npcid == 148 or npcid == 149 then return 150 elseif npcid == 150 then return 124 elseif npcid == 151 then return 134 elseif npcid == 152 then return 116 elseif npcid == 153 then return 74 elseif npcid == 154 then return 248 elseif npcid == 155 then return 82 elseif npcid == 156 then return 242 elseif npcid == 157 then return 5 elseif npcid == 158 or npcid == 159 then return 78 elseif npcid == 161 or npcid == 431 then return 29 elseif npcid == 162 then return 34 elseif npcid == 163 or npcid == 238 then return 9 elseif npcid == 164 or npcid == 165 then return 71 elseif npcid == 166 then return 73 elseif npcid == 167 then return 179 elseif npcid == 168 then return 98 elseif npcid == 169 then return 48 elseif npcid == 170 or npcid == 171 or npcid == 180 then return 60 elseif npcid == 172 then return 160 elseif npcid == 173 then return 21 elseif npcid == 174 then return 46 elseif npcid == 175 then return 88 elseif npcid == 176 then return 287 elseif npcid == 177 then return 26 elseif npcid == 179 then return 22 elseif npcid == 181 then return 30 elseif npcid == 182 then return 31 elseif npcid == 183 then return 101 elseif npcid == 184 then return 171 elseif npcid == 185 then return 70 elseif npcid == 195 or npcid == 196 then return 80 elseif npcid == 197 then return 89 elseif npcid == 198 or npcid == 199 then return 53 elseif npcid == 204 then return 172 elseif npcid == 205 then return 56 elseif npcid == 206 then return 49 elseif npcid == 212 then return 62 elseif npcid == 213 then return 239 elseif npcid == 214 then return 238 elseif npcid == 215 then return 240 elseif npcid == 216 then return 237 elseif npcid == 217 then return 97 elseif npcid == 218 then return 103 elseif npcid == 219 then return 133 elseif npcid == 220 then return 250 elseif npcid == 221 then return 174 elseif npcid == 223 then return 64 elseif npcid == 224 then return 32 elseif npcid == 225 then return 76 elseif npcid == 226 then return 33 elseif npcid == 236 or npcid == 237 then return 52 elseif npcid == 239 or npcid == 240 then return 12 elseif npcid == 241 then return 10 elseif npcid == 242 then return 11 elseif npcid == 243 then return 125 elseif npcid == 244 then return 157 elseif npcid == 250 then return 2 elseif npcid == 251 then return 111 elseif npcid == 252 then return 59 elseif npcid == 253 then return 65 elseif npcid == 254 or npcid == 255 then return 72 elseif npcid == 256 then return 36 elseif npcid == 257 then return 3 elseif npcid == 258 then return 58 elseif npcid == 259 or npcid == 260 or npcid == 261 then return 35 elseif npcid == 268 then return 127 elseif npcid == 269 or npcid == 270 or npcid == 271 or npcid == 272 then return 161 elseif npcid == 273 or npcid == 274 or npcid == 275 or npcid == 276 then return 91 elseif npcid == 277 or npcid == 278 or npcid == 279 or npcid == 280 then return 121 elseif npcid == 281 or npcid == 282 then return 156 elseif npcid == 283 or npcid == 284 then return 147 elseif npcid == 285 or npcid == 286 then return 105 elseif npcid == 287 then return 95 elseif npcid == 288 then return 108 elseif npcid == 289 then return 115 elseif npcid == 290 then return 149 elseif npcid == 291 then return 166 elseif npcid == 292 then return 175 elseif npcid == 293 then return 165 elseif npcid == 301 then return 158 elseif npcid == 304 then return 123 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 == 315 then return 120 elseif npcid == 316 then return 113 elseif npcid == 326 then return 173 elseif npcid == 329 then return 122 elseif npcid == 330 then return 152 elseif npcid == 338 or npcid == 339 or npcid == 340 then return 185 elseif npcid == 341 then return 154 elseif npcid == 342 then return 117 elseif npcid == 343 then return 184 elseif npcid == 347 then return 110 elseif npcid == 348 or npcid == 349 then return 148 elseif npcid == 350 then return 109 elseif npcid == 351 then return 132 elseif npcid == 352 then return 112 elseif npcid == 379 then return 92 elseif npcid == 380 then return 180 elseif npcid == 381 then return 136 elseif npcid == 382 then return 142 elseif npcid == 383 or npcid == 384 then return 141 elseif npcid == 385 then return 140 elseif npcid == 386 then return 138 elseif npcid == 387 then return 144 elseif npcid == 388 then return 137 elseif npcid == 389 then return 139 elseif npcid == 390 then return 143 elseif npcid == 391 then return 163 elseif npcid == 402 or npcid == 403 or npcid == 404 then return 217 elseif npcid == 405 or npcid == 406 then return 221 elseif npcid == 407 or npcid == 408 then return 218 elseif npcid == 409 or npcid == 410 then return 219 elseif npcid == 411 then return 216 elseif npcid == 412 or npcid == 413 or npcid == 414 then return 224 elseif npcid == 415 or npcid == 516 then return 226 elseif npcid == 416 or npcid == 518 then return 225 elseif npcid == 417 then return 223 elseif npcid == 418 then return 222 elseif npcid == 419 then return 227 elseif npcid == 420 then return 230 elseif npcid == 421 then return 229 elseif npcid == 423 then return 231 elseif npcid == 424 then return 228 elseif npcid == 425 then return 236 elseif npcid == 426 then return 233 elseif npcid == 427 then return 234 elseif npcid == 428 then return 232 elseif npcid == 429 then return 235 elseif npcid == 438 then return 93 elseif npcid == 460 then return 196 elseif npcid == 461 then return 191 elseif npcid == 462 then return 190 elseif npcid == 463 then return 199 elseif npcid == 464 then return 281 elseif npcid == 465 then return 282 elseif npcid == 466 then return 197 elseif npcid == 467 then return 198 elseif npcid == 468 then return 192 elseif npcid == 469 then return 195 elseif npcid == 470 then return 283 elseif npcid == 471 or npcid == 472 then return 186 elseif npcid == 473 then return 284 elseif npcid == 474 then return 285 elseif npcid == 475 then return 286 elseif npcid == 477 or npcid == 478 or npcid == 479 then return 193 elseif npcid == 480 then return 201 elseif npcid == 481 then return 202 elseif npcid == 482 then return 204 elseif npcid == 483 then return 203 elseif npcid == 489 then return 205 elseif npcid == 490 then return 206 elseif npcid == 494 or npcid == 495 then return 189 elseif npcid == 496 or npcid == 497 then return 188 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 == 508 or npcid == 580 then return 210 elseif npcid == 509 or npcid == 581 then return 209 elseif npcid == 510 or npcid == 511 or npcid == 512 then return 208 elseif npcid == 513 or npcid == 514 or npcid == 515 then return 207 elseif npcid == 520 then return 241 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 == 530 or npcid == 531 then return 215 elseif npcid == 532 then return 214 elseif npcid == 533 then return 213 elseif npcid == 536 then return 267 elseif npcid == 537 then return 249 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 == 552 or npcid == 553 or npcid == 554 then return 258 elseif npcid == 555 or npcid == 556 or npcid == 557 then return 257 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 == 566 or npcid == 567 then return 259 elseif npcid == 568 or npcid == 569 then return 263 elseif npcid == 570 or npcid == 571 then return 260 elseif npcid == 572 or npcid == 573 then return 262 elseif npcid == 574 or npcid == 575 then return 261 elseif npcid == 578 then return 266 elseif npcid == 582 then return 280 elseif npcid == 586 then return 268 elseif npcid == 587 then return 269 elseif npcid == 618 then return 273 elseif npcid == 619 then return 270 elseif npcid == 620 then return 272 elseif npcid == 621 or npcid == 622 or npcid == 623 then return 271 elseif npcid == 624 then return 275 elseif npcid == 628 then return 274 elseif npcid == 630 then return 277 elseif npcid == 631 then return 276 elseif npcid == 634 then return 279 elseif npcid == 635 then return 278 end return false 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 end for i = 1, 57 do SoundID['NPCHit' .. i] = 'NPC_Hit_' .. i end for i = 1, 65 do SoundID['NPCDeath' .. i] = 'NPC_Killed_' .. i end -------------------- -- Main, NPC, GameModeData -------------------- local Main = {} Main.getGoodWorld = false Main.tenthAnniversaryWorld = false Main.hardMode = false local NPC = {} NPC.activeTime = 750 NPC.downedPlantBoss = false NPC.downedMechBossAny = false NPC.downedGolemBoss = false ---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 if (not NPCID.Sets('DontDoHardmodeScaling', this.type) 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 (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 if (Main.getGoodWorld) then this.damage = this.damage + math.floor(this.damage / 3) end 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 == 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.6 * 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.625 * 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 if (this.type >= 305 and this.type <= 315) or this.type == 326 or this.type == 329 or this.type == 330 then this.lifeMax = math.floor( this.lifeMax * 0.75) this.damage = math.floor( this.damage * 0.75) elseif 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 <= 334) or (this.type >= 347 and this.type <= 350) then this.lifeMax = math.floor(this.lifeMax * 0.75) 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 this.defDefense = this.defense this.defDamage = this.damage this.life = this.lifeMax end ---from Terraria.NPC.ScaleStats_UseStrengthMultiplier local function ScaleStats_UseStrengthMultiplier(strength) if ((this.type < 0) and true or not NPCID.Sets('ProjectileNPC', this.type)) then this.lifeMax = math.floor(this.lifeMax * strength) end this.damage = math.floor(this.damage * strength) 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 -- elseif (gameModeData.IsJourneyMode) then -- CreativePowers.DifficultySliderPower power = CreativePowerManager.Instance.GetPower<CreativePowers.DifficultySliderPower>() -- if (power ~= null and power.GetIsUnlocked()) -- { -- value = power.StrengthMultiplierToGiveNPCs -- } end --NPCStrengthHelper nPCStrengthHelper = new NPCStrengthHelper(gameModeData, value) if (gameModeData.IsExpertMode) then --if (nPCStrengthHelper.IsExpertMode) ScaleStats_ApplyExpertTweaks() end ScaleStats_ApplyGameMode(gameModeData) if (gameModeData.IsExpertMode) then -- if (nPCStrengthHelper.IsExpertMode) local num = 1 -- num = (not activePlayersCount.HasValue ? NPC.GetActivePlayerCount() : activePlayersCount.Value) this.statsAreScaledForThisManyPlayers = num single, single1 = GetStatScalingFactors(num) local single2 = 1 if (gameModeData.IsMasterMode) then single2 = 0.85 end ScaleStats_ApplyMultiplayerStats(num, single, single1, single2) end this.strengthMultiplier = value ScaleStats_UseStrengthMultiplier(this.strengthMultiplier) 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 ---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 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 == -12) 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 == -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 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 == -23) 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 == -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.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.markedByThornWhip = false this.markedByBoneWhip = false this.markedByFireWhip = false this.markedByRainbowWhip = false this.markedByBlandWhip = false this.markedBySwordWhip = false this.markedByMaceWhip = false this.poisoned = false this.soulDrain = false this.venom = false this.shadowFlame = false this.onFire = false this.midas = false this.ichor = false this.onFrostBurn = false this.onFrostBurn2 = 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.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.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 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 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 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 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 = 30 this.defense = 10 this.lifeMax = 250 this.HitSound = SoundID.NPCHit2 this.DeathSound = SoundID.NPCDeath5 this.noGravity = true this.noTileCollide = true this.knockBackResist = 0 this.behindTiles = true this.value = 1200 elseif this.type == 40 then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 15 this.defense = 12 this.lifeMax = 250 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 elseif this.type == 41 then this.width = 22 this.height = 22 this.aiStyle = 6 this.netAlways = true this.damage = 10 this.defense = 18 this.lifeMax = 250 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 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) 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 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 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 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 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 = nil 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 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 this.boss = true 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 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 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 = 2 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 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 = 4000 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 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 = 1 this.value = Item.buyPrice(0, 5, 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, 5, 0, 0) this.rarity = 1 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 = 2 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 = 2 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 = 2 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 = 1 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.NPCDeath1 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 = 40 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 = 40 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 = 9000 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 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 = 16000 this.HitSound = SoundID.NPCHit4 this.DeathSound = nil 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 = 7000 this.HitSound = SoundID.NPCHit4 this.DeathSound = SoundID.NPCDeath14 this.alpha = 255 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 = 11000 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 = 1000 this.HitSound = SoundID.NPCHit9 this.DeathSound = SoundID.NPCDeath11 this.knockBackResist = 0.5 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 = 1 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 = 2 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 = 2 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 = 2 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 = 10000 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 = 28 this.lifeMax = 12000 this.HitSound = SoundID.NPCHit7 this.DeathSound = SoundID.NPCDeath5 this.knockBackResist = 0 this.value = 10000 elseif this.type == 326 then this.width = 18 this.height = 40 this.aiStyle = 3 this.damage = 100 this.defense = 32 this.lifeMax = 900 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 = 36 this.lifeMax = 22000 this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 this.noGravity = true this.noTileCollide = true this.value = 50000 this.knockBackResist = 0 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 = 1200 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 = 2000 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 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 = 50000 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 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 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 = 200 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 = 46 this.height = 36 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 = nil 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 = 16 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 = 20 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 = 22 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 = 18 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 == 525 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 == 526 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 == 527 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.5 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 = 150 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 = 100 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 = nil this.DeathSound = nil 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 = nil this.DeathSound = nil 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 = 1 this.HitSound = nil this.DeathSound = nil this.noGravity = true this.noTileCollide = true this.alpha = 0 this.knockBackResist = 0 this.chaseable = false 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 = 1 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 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 = 4 this.lifeMax = 35 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 = nil 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 = 1000 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 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 = 50000 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 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 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.NPCDeath1 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 = nil 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 = 1.4 this.rarity = 2 this.scale = 1 this.value = Item.buyPrice(0, 15, 0, 0) this.HitSound = SoundID.NPCHit1 this.DeathSound = SoundID.NPCDeath1 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 elseif ImmuneToAll[this.type] then this.buffImmuneAll = true elseif ImmuneToAllNotWhips[this.type] then this.buffImmuneAllNotWhips = true end if (Main.getGoodWorld) then this.getGoodAdjustments() end if (Main.tenthAnniversaryWorld) then this.getTenthAnniversaryAdjustments() end 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) Main.hardMode = false NPC.downedPlantBoss = false ---------- -- normal stats ---------- SetDefaults(npcid) if not ExcludedFromDeathTally(npcid) then this.banner = BannerToItem(npcToBanner(BannerID())) elseif npcid == 0 then this.banner = nil 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}) for _, v in pairs(fields) do info[v .. '_e'] = this[v] end -- expert hardmode Main.hardMode = true SetDefaults(npcid, {gameModeData = GameModeData.ExpertMode}) 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}) 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}) for _, v in pairs(fields) do info[v .. '_m'] = this[v] end -- master hardmode Main.hardMode = true SetDefaults(npcid, {gameModeData = GameModeData.MasterMode}) 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}) 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.buffImmune = {} end return info end ----------------------------------------------------------------- -- main return object return { getInfo = function(npcid) return npcinfo(npcid) end, 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} } outputTable.name = frame:expandTemplate{title = 'gameText', args = {'NPCName.' .. outputTable.internalName} } if outputTable.name == '' then outputTable.name = frame:expandTemplate{title = 'gameText', args ={'NPCName.' .. frame:expandTemplate{title = 'NpcInternalNameFromId', args = {npcinfoTable.type} } } } end -- if still no name: body/tail of worm if npcid ~= 0 then -- but not if npcid == 0 (empty name is expected) local i = npcid while outputTable.name == '' do i = i - 1 outputTable.name = frame:expandTemplate{title = 'gameText', args = {'NPCName.' .. frame:expandTemplate{title = 'NpcInternalNameFromId', args = {i} } } } end end output = output .. '\n[' .. npcid .. '] = ' .. export(outputTable) .. ',\n' end return output end, }