From 6d554aae1b6d0a7fdb3397d9b131d6a3505aace4 Mon Sep 17 00:00:00 2001 From: dekvall Date: Fri, 26 Jul 2019 22:27:40 +0200 Subject: [PATCH 01/66] Add wilderness canoe icon to world map The wilderness canoe works like a portal teleport as it is a one way transportation. I opted to use the normal transportation icon in order to stay consistent with the other canoe stations, though with a clarifying tooltip that no departures are to be made. --- .../plugins/worldmap/TeleportLocationData.java | 3 ++- .../plugins/worldmap/transportation_icon.png | Bin 0 -> 335 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/transportation_icon.png diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java index 8e03a1d651..ffa60d1bfb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java @@ -150,7 +150,8 @@ enum TeleportLocationData OBELISK_44(TeleportType.OTHER, "Obelisk", "44", new WorldPoint(2980, 3866, 0), "obelisk_icon.png"), OBELISK_50(TeleportType.OTHER, "Obelisk", "50", new WorldPoint(3307, 3916, 0), "obelisk_icon.png"), WILDERNESS_CRABS_TELEPORT(TeleportType.OTHER, "Wilderness crabs teleport", new WorldPoint(3348, 3783, 0), "wilderness_crabs_teleport_icon.png"), - + CANOE_WILDERNESS(TeleportType.OTHER, "Canoe (No departure)", "35", new WorldPoint(3141, 3796, 0), "transportation_icon.png"), + // Achievement Diary ARDOUGNE_CLOAK_MONASTERY(TeleportType.OTHER, "Ardougne Cloak", "Monastery", new WorldPoint(2606, 3222, 0), "ardougne_cloak_icon.png"), ARDOUGNE_CLOAK_FARM(TeleportType.OTHER, "Ardougne Cloak", "Farm", new WorldPoint(2673, 3375, 0), "ardougne_cloak_icon.png"), diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/transportation_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/transportation_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5648c0ca1c2f71ad5933dfa924b24f7a445960e GIT binary patch literal 335 zcmV-V0kHmwP)+lc8?IFc5}+M-3>9#wJZNh%~stkbsQ!4F*D5vX>~# zON0;f4aOD_Qd(GP;G{`mRiu)F01r6v&b_$mA-W;71rwwrVYDmw~1(k hfWU4`5x?ZG`U8WLYu1jQFkt`y002ovPDHLkV1k>0i&g*t literal 0 HcmV?d00001 From 33f75c49176fa58a2c05ef781ad5fbd5aafeda45 Mon Sep 17 00:00:00 2001 From: dekvall Date: Mon, 4 Nov 2019 21:28:02 +0100 Subject: [PATCH 02/66] inventorygrid: use mouse dragged distance to determine if overlay should show Replace the time dependant showing of the inventory overlay with a distance based one. An item sprite only follows the mouse if the mouse is held down and dragged ~5 pixels. Thus, the overlay will only show when you are certain to be dragging an item and the time-delay is unnecessary. Original PR by Jbleezy. --- .../inventorygrid/InventoryGridConfig.java | 12 ------------ .../inventorygrid/InventoryGridOverlay.java | 19 +++++++++++++++---- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridConfig.java index 33c6868c4d..eda6b7cbb8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridConfig.java @@ -27,7 +27,6 @@ package net.runelite.client.plugins.inventorygrid; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -import net.runelite.client.config.Range; @ConfigGroup("inventorygrid") public interface InventoryGridConfig extends Config @@ -61,15 +60,4 @@ public interface InventoryGridConfig extends Config { return true; } - - @ConfigItem( - keyName = "dragDelay", - name = "Drag Delay", - description = "Time in ms to wait after item press before showing grid" - ) - @Range(min = 100) - default int dragDelay() - { - return 100; - } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridOverlay.java index ad1e01ceed..a179c3f5f2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridOverlay.java @@ -34,7 +34,6 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.image.BufferedImage; import net.runelite.api.Client; -import net.runelite.api.Constants; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetItem; @@ -46,6 +45,7 @@ import net.runelite.client.ui.overlay.OverlayPosition; class InventoryGridOverlay extends Overlay { private static final int INVENTORY_SIZE = 28; + private static final int DISTANCE_TO_ACTIVATE_HOVER = 5; private static final Color HIGHLIGHT = new Color(0, 255, 0, 45); private static final Color GRID = new Color(255, 255, 255, 45); @@ -54,6 +54,9 @@ class InventoryGridOverlay extends Overlay private final Client client; private final ItemManager itemManager; + private Point initialMousePoint; + private boolean hoverActive = false; + @Inject private InventoryGridOverlay(InventoryGridConfig config, Client client, ItemManager itemManager) { @@ -71,9 +74,10 @@ class InventoryGridOverlay extends Overlay final Widget if1DraggingWidget = client.getIf1DraggedWidget(); final Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); - if (if1DraggingWidget == null || if1DraggingWidget != inventoryWidget - || client.getItemPressedDuration() < config.dragDelay() / Constants.CLIENT_TICK_LENGTH) + if (if1DraggingWidget == null || if1DraggingWidget != inventoryWidget) { + initialMousePoint = null; + hoverActive = false; return null; } @@ -84,11 +88,18 @@ class InventoryGridOverlay extends Overlay final int itemId = draggedItem.getId(); final Rectangle initialBounds = draggedItem.getCanvasBounds(); - if (itemId == -1) + if (initialMousePoint == null) + { + initialMousePoint = mousePoint; + } + + if (itemId == -1 || !hoverActive && initialMousePoint.distance(mousePoint) < DISTANCE_TO_ACTIVATE_HOVER) { return null; } + hoverActive = true; + for (int i = 0; i < INVENTORY_SIZE; ++i) { WidgetItem widgetItem = inventoryWidget.getWidgetItem(i); From 4f2df0440b43d7b60e718d95ad75bdbaad2eb348 Mon Sep 17 00:00:00 2001 From: dekvall Date: Wed, 6 Nov 2019 11:49:54 +0100 Subject: [PATCH 03/66] emojis: reduce file size of emoji icons By stripping metadata from the images and compressing them by running `optipng -o7 -strip all ` the file sizes went from 15kb or 1.1kb to around 0.2-0.5kb. --- .../runelite/client/plugins/emojis/blush.png | Bin 1323 -> 386 bytes .../client/plugins/emojis/broken_heart.png | Bin 16185 -> 135 bytes .../runelite/client/plugins/emojis/cat.png | Bin 1501 -> 558 bytes .../client/plugins/emojis/confused.png | Bin 1225 -> 278 bytes .../client/plugins/emojis/cooking.png | Bin 1320 -> 375 bytes .../runelite/client/plugins/emojis/cowboy.png | Bin 1371 -> 428 bytes .../runelite/client/plugins/emojis/crab.png | Bin 15828 -> 348 bytes .../runelite/client/plugins/emojis/cry.png | Bin 312 -> 262 bytes .../runelite/client/plugins/emojis/dancer.png | Bin 15813 -> 341 bytes .../runelite/client/plugins/emojis/dog.png | Bin 1457 -> 517 bytes .../client/plugins/emojis/expressionless.png | Bin 1154 -> 216 bytes .../runelite/client/plugins/emojis/eyes.png | Bin 1406 -> 456 bytes .../runelite/client/plugins/emojis/fish.png | Bin 1280 -> 329 bytes .../client/plugins/emojis/flushed.png | Bin 1434 -> 489 bytes .../client/plugins/emojis/fork_and_knife.png | Bin 16173 -> 116 bytes .../client/plugins/emojis/frowning2.png | Bin 1215 -> 270 bytes .../client/plugins/emojis/grinning.png | Bin 1348 -> 404 bytes .../runelite/client/plugins/emojis/hearts.png | Bin 16179 -> 123 bytes .../client/plugins/emojis/hugging.png | Bin 1374 -> 433 bytes .../runelite/client/plugins/emojis/hushed.png | Bin 1285 -> 341 bytes .../client/plugins/emojis/innocent.png | Bin 1439 -> 496 bytes .../runelite/client/plugins/emojis/joy.png | Bin 1444 -> 500 bytes .../client/plugins/emojis/kissing.png | Bin 1181 -> 240 bytes .../client/plugins/emojis/neutral_face.png | Bin 1196 -> 253 bytes .../client/plugins/emojis/ok_hand.png | Bin 16210 -> 203 bytes .../client/plugins/emojis/open_mouth.png | Bin 1229 -> 281 bytes .../client/plugins/emojis/party_popper.png | Bin 1403 -> 456 bytes .../client/plugins/emojis/persevere.png | Bin 1366 -> 414 bytes .../client/plugins/emojis/pile_of_poo.png | Bin 1286 -> 349 bytes .../runelite/client/plugins/emojis/rage.png | Bin 1233 -> 295 bytes .../runelite/client/plugins/emojis/scream.png | Bin 1413 -> 475 bytes .../client/plugins/emojis/see_no_evil.png | Bin 1483 -> 540 bytes .../client/plugins/emojis/slight_frown.png | Bin 1243 -> 299 bytes .../client/plugins/emojis/slight_smile.png | Bin 1253 -> 307 bytes .../runelite/client/plugins/emojis/smile.png | Bin 1321 -> 383 bytes .../client/plugins/emojis/smiling_imp.png | Bin 1250 -> 304 bytes .../runelite/client/plugins/emojis/sob.png | Bin 1349 -> 405 bytes .../plugins/emojis/stuck_out_tongue.png | Bin 1314 -> 367 bytes .../emojis/stuck_out_tongue_closed_eyes.png | Bin 1344 -> 398 bytes .../client/plugins/emojis/sunglasses.png | Bin 1311 -> 363 bytes .../runelite/client/plugins/emojis/sweat.png | Bin 1081 -> 133 bytes .../client/plugins/emojis/thinking.png | Bin 15849 -> 380 bytes .../client/plugins/emojis/thumbsdown.png | Bin 1223 -> 285 bytes .../client/plugins/emojis/thumbsup.png | Bin 1218 -> 278 bytes .../client/plugins/emojis/triumph.png | Bin 1433 -> 490 bytes .../client/plugins/emojis/unamused.png | Bin 16276 -> 352 bytes .../runelite/client/plugins/emojis/wink.png | Bin 1303 -> 353 bytes .../runelite/client/plugins/emojis/yum.png | Bin 1318 -> 372 bytes .../client/plugins/emojis/zipper_mouth.png | Bin 1296 -> 350 bytes .../runelite/client/plugins/emojis/zzz.png | Bin 16185 -> 135 bytes 50 files changed, 0 insertions(+), 0 deletions(-) diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/blush.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/blush.png index 7024942ef0f45b10647ef71ec21a477b4b4f0d1a..ed24b9dbd537a82844b89755cf4e5e81144c3f4f 100644 GIT binary patch delta 45 zcmZ3@)x)NX&d$uvzGlc8vpbt+ZFaleY@4&SwkKL zMIdXFPcDLPf@q!4OJ!Kj4T!2`gk)bQUo6h_C##J08l19qh`9Im!wwhig@o|GZeY10>_fn z8mV%wK&CARkkL?#RyjUF#)S|U6%ygdZZgbrF@_ZwE<&@M$OD!_@2bP@NB1&M3nPg21q0CLE@*2JKFoQ1)ok?QB|*fU7#X4Ry;TeT%YU zjl(2`nXZLk*ty(>Vbfht6iylA$u`45MblR_aoZK~}o0?U3yZkb(MJ)kGp8#5)V;SUX zo<)5V4*xFxHN5tJ^T%LPjNdH(XrAU3?nr;TF$(ywF-*Y36Xf7g`O$#4@tD0>7${}X z^&Ij}ptDu9P(YUsp{0Fj`nf+A_O8tLpFXk^T`8}4M{k|)K_3sEIsEYZ$GX0qOQV@* zZ&~%*7gA4^w}1Y29L*m%+n|=u=Z`8KlLrH6DgWN=uHUX@D;WY^d3^4fo#?}%?lE5f8uw2f3@pADM)ReY>>a-}TuiO8{r8Ws2*YB2 z5dGIhv=?4p#^|xE)LZgyDC}J=Z5;&vMs4fsTdr<#KJ|j1-F>)Gh~i&(6*cJbHjUbZYw4vE#!JE~sCQl=f>QpQtzQ`Qi9|-+wiFv*p#d ox;h`4yS6y3x4ts`!Z+JGMu?@8fv(y`ibrJgbiaRa3zgbuS6)J70hGlvz| zClWMIN5qqs0RG#Zd-*)l5Ww#s(~7j#U?PDGO|ucvX%R8{v_!qaz;71lt8yrTfSI6i zp2KXi*p-d|zEf8Telx`=pXaPXCkF6?n1sAoZ6q(4vJpI)&`+SpB>p_PLWs!}{$gnp zo>+wWp&|u}Nd+QIDN-m!7%%g~5A+4UR5pWA8Kn-%Ob4t0egaKfl_;8$k|Ioz2q{}U ziYXKdR3t{lVgaZju%}vR+##^oYr90;I%>kMw~5rS#ls<{+SC~2wID`h$pft)b zoX}x}Kq~UX1QM~-PoNXaFo8i&_$iDEOfK`+snA?yJhLh@RSqda6!Kt=Tq2W8#Vs&Q zqX?4u`Gv?uAu>%!ut*~lyXCz?v&n{8>@;rC6PYb1LCfVv9VVAZP)@0Ruo&nB%VY-BQF2(eLS=Yp}~Hao#g-T=OP_GYcHOsdZ5uOzd# zDQ`5hg?rir5~y5m!+$$g*}^^QZX8}+&OTW}Njpv1QoS5ZqnNEEn&|m=soP;9^GGg> zA6WHDT+eJ$fp#3wSD|*=tIX46R|J#DRUrrH5?n6DjF?G^p(s;c zCL$c-!R=8a)HqFeuMx~oDF(3p+@!NaTs0vLEoC5$sefx^A1y}1t0t@gZej+U#`C1& zUDr#;pjR3xn;EAANi!Z#pjJz~3iT9v)yz84mBEyWvVmrS?yJz8ioK$kvz$47!4`l! zH#?Vhcoe$*Y za6v%WO%4}3AIQt$f`G7_94>Y~ke9;+0bw^eTCz>19>@I5D<2g!^O@A@^ZK!AnYcGi=7YT<#0hj*i8->J0Hl);evp$ zn;b57K9HBg1p#3W-`xY+qXUJe%ogxzGtKi4rABmMmGSRH@RX zOP48Arfk`=<;s;SU%q^W3Kc3=tXQd1rOK5nSE*8^YSpUMs#U9Ay?TurHEPzZ3A$OU zRxLiCU%PhgI(6#Qty{NVy?XWQ*Kg3ELBoa(8#QXwxN+kqO_~S<0-;cdq9}Mufnk_f zES5+lQmIrX1Md<2sR9B50s{k^HEY(qdGny4pcXA!1P2GJ z)oP7K6A}{AvSrKA(9p23uvV>FwQk)yJUm>h)kZ`_v}w~OGBUDl+qO|rQPI)SF)=ai z+O=!nzI}%d9b#i+V_IJ9p{QrEAx&-MV$_-n~1H<2s#Auh$z427(}r zMq_+@d_qD3Ns>K!^hiuhG?`3hv)N*?P!wggT6^~FX|vhvb~{beNl8h`$;sfMu*2a< zO-)TpOY7CESMT1v`}FD4w{PEm{rdIq-+#b>0RsmP95iUq;K7533>h+X=+I%qh7BJ+ ze8h+mBS(%LHEPu8(WA$V88de5*m2{=rKhKlA3uJ=gb5QTPMkDp(&WjLr%ahLb?Ve< z)22eT7er_Y=@bN1}nbLY;TKY#whg$oxiUc7Ya(&fvS zuUxru_3G7Y*REZ^e*MOc8#iy>ymjl=?c2BS+_`i2?%jL$?%ltC|G|R?4<9~!^yty! z$B&;pdGhq>(`V0~J%9fE#fuj&U%q_x>ecJluiw0R^Y-oAckkZ4fB*i&hYue=e*E<5 z)925hzkK=f_3PJf-@bkS{{6>~A3uNo{PpYC@87@w{P~lSk+HvhdK|L==%|S34CL`v zQ7d4{!qh=AjvJlFhLu1>h4T%|=(nTLvdI&+h1Y3xgWt1h|Ks`68}?|Bw(J14)HrFT fW`n)YQyCQ%0q;PowIv7|Nb6S6nS%y}c9M%-;oekh)%YHcuIlN3 zQ5?oI+=3&!YBR`_Ojyk*SnR^bmd85|U_5bl9y&kkB zx;ZokGPk%8$JETIxGWoHOkv#|erA$L#x}q?Kr@$xXiSW5j1A?(p6>xg|5z4d;+xz( z@B7~Kd!FC(b?w!@@-_L7(2LE!w5vUcJUK zbWufav|~%8>b=#dQIWj-+%1y1X#x zO=2UIpDtVW1y6P?D$8*S$CJsVHfhj`QUgwqB#G#_( zxVX%T0;*bMLSmC_#~{KEGG)43{Np}oY3lUo>${q)K18L@HdUyY9|8e zIKcfNAvQ^2SdU0S4h(a5XGf|cWJ7J1I9L=WMvLJl9tg6Vwqx*%mgQKA1caHjFjfu0 z8cZ5<$Otry#lUI|AqHj@=qzCa$l19a-r}&9nvG7Y#b|I4go`9i7Ax&^ILa)9!Q#}> zIjmbq$czvMIo}-gy^OWo5lcBGz{sK$5XD%o3#y}{EGD929CbR?s$0;ZxERd-c;0xo69tDFxiXFbZfEy{(h%8*YP32np;v&W0(Pdj$M)}fsBX2;Th zbX&9IJCyUazYm47W2uENT&{}p`BNpCF5%P%?aD>|7k>M}w(9J}uIV#Xy+?M>_1Wio z?R(S3%4p>JV07U^sHnu*|0bg@^Y{H#Jkb1!$&oGgEFx*J6LsV!1HTUG&}yn%(+-5)1wSOJ$$6R%(Hp_&XSXz zu1qI=xzBwyxM#WyC*PMy$~67@rtzMNKh;2zUF{BK6wJKyvUSWWTRQ`9Bs?>5WZ54}08nX(08Taj$dT-CK|WeTM%&!(UN0P4`Er z?!s-K=3n2p>i&kRwfA*=_UNH)wKtsUw&CG|$!6?QXJy{@s;L+69X-8X{wXgQeeC1$ z^}l&f)a|);_2;8+XCEA3Y-cpqkGjn-*#=+!_SMz_?enqpCzFVI>YFQv^ZCi4TN|{k nmkxCZZyl_hTf6Y%j(Z+LX4h?CM@DW0Au+`5^3lf}&$j*rOk8Qi diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/confused.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/confused.png index 0d3275a23660e27b81ce51dd679b08be5d17e1bc..d959e8398c19d892b2b378ada52643399e0899f7 100644 GIT binary patch delta 105 zcmV-v0G9vB36=toB$LYnlwL_mL_t&t9R^xG*lI|V*r91Z5CVyZ!~rhA=eFr~sHzD|_V@7b z_y7H$$BTu%8`p1NPY}e$T)$ij*5GXq;jhAX7VxqSDMM%wR#07a0g*DG2FRSH4ucX< zjmEJXpqC&*V`g~>4dn+U9a>>Ez=VCv!EA!)P5O?ij{rn!VA!-1)XOVV6lod>>JXo2 z^G*g-&Hiy042~Dd`uK=08dP!*+3QQ#fCZ3B`c}>MBtJnd*p=`;xMnDF0fI&n)S^>E z`68KtE+F}EjMllHI4Ou>ju+#R=x#E?axsP#87@k*oWzO}%aKbDh1Fc6B9-Lqk`_KC zs47B^#4z=GJzVbzLwA_rL{Vhe2os6W7(sgt8>v2RdtFTnGVpZQbdU*cGO(y>a1bM@2t|l4h zZgrsmh`o^xxF#-&T9ctZY5^PN0LRCLSVg0G(NJlv5{=Vp571~s7X?ia zbU}>>O*<>`SuPdj<%}RiBN>iU#CTSS#Fea);>EO(meWmc&i0UM>!7J^V(levY*nt5 zae<1UTZXXK?1EwyBIs42LuN8T)dh0bA=5Ts-TN{q(_+*zaLqAbWL;>H3wf5z6@2)A z@h|d?Pt6~LonnG!`A_pSuW&~O+vQQfhvi`cHl83CkBSNBx8N~5QXD8NA7=CKuJ3y_ zrM#NTRutmx^?k3Wv-i(Q-|L&7U&-8_nleP8}YyMp0-tqgU|5?{P*LpIorDr#6craPqk(}5a3Vpuz zm%p!V>h6B`aK6z72Fj xK*U>P_ITD25cqR7nguTj0m@Luk23xwzWnnJupBV>n*aa+07*qoLB-6 literal 1320 zcmbVLeQ4Zd7>^FLwodwoB9oyZ6j#>mkR;SuTIh5g7vkLwt_SP&EYkVp1ci6gLR$PFzXm$ahDO2eM zGElUEt!F_qf~?wR!#0+c0UxJpNwP>v^PmTzLB_o56%$4H7N=_pRo0>ujyjV>(=dUG{hkj2&| zU+@&iioWj%Bv~$(iE@On-CmOBd7h*gl3{SDfqMg%uLQW|HB>E#z*Akr@eSKTLyJnm zF8Of`GOdJQI+@I}Var=e6igWzC=N*z6lt1aT#MSCFN42ntf=kf1{^@jz_UxP3hSXa zRKYNJ*LD;tLN>xC*MLP)`bAqUnZWW>VjP1ngl1?$tU&9W#__n$@;t8T(HLG}V+>A5 z02k3CG{-ivRXZ!;sRY*|aZ!qkMj4ux_$HcW6B5UZ49!R_5>v&dEYDXg6;yp2(02tJ zX}u;^NV-7rZ8vAz{najLFWSEC6>SGiCc~<8=(^2@rP*b#F)ULhY7w}`HlVe-wuvt0 zSuj@M@bBWU;I;poKN6B6!)EzM^Hi^3M~2(wQGkc#VFDJMAQz6x;M%Wmgk$!6dpajI zl99P9zw4!)>#1nsA-R!?cBy@Tp4hVEnHM^GiWh&JT^Nl#`k4Fj8^;o9`H%7Kb8|mm zJyYH_G<;=d{G&6Ujl6PXi*Ap9F*$!}>b0X|>CW!b&Zi$X+`0LA-P?Zb{SWt!9QuCt z@=uq4eNfKNT>RnnqhsC^dlruK)8Aflc08Nu>i+GkcMlwX3(^_or-q>*d^y{(@Lv|P zd!N?{kwHpq$pv2)CN5k6$aRm@Bg5z9+Qa7`KUaU}hJCdS4M%G3*^s|&=s=#n*VXqRSAV(XouNcc9pr$dq^x*6(X;z6BJk&v diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/cowboy.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/cowboy.png index 9c255c613b6081abcbb7602d27361d8717b7399b..ed6f1f03637e1b7020537915fdb1c48a97ac961f 100644 GIT binary patch delta 152 zcmV;J0B8T(3akT=B$LYn{C{^zL_t&t9TmX^0>VH51hLstD8=2~-DUs(GL8fXk|hT? zn06+IxdSAtSZRLpvV?+FyAWTFl5i^B7V&o}rN+MJTG!e7xj99~(A#I&RvTaprCP#3 zbub1pStv(f4Da!a>~09gh9rOP=OS!uL-#QPY#i|C;0IKZ5dfx1xebv30000*#@+gOXgVsK*`FHa&diw0p1l@%KhaSaXwGG!=v zkO7J|R=NVB1W|iXm$N7<_3t>9a|L_xv)U_D3 zD=0CNl>i03d)x+t<7rtPA5l4t>exX>D?BDJ08+?`Q8XRC5~G%QdAxV8X^LDjK_fA0 zSyWaUAQR9AWY8P(sH{IihB+@A2d?L5tL97i)g+UN6N3y(8qBBkOno%Sk&036lUEu=$}bQzUl zIErEvR=OO5VM)>|vFWTN3a5;&C>G6n8QL)1xR$IPlmY+BSku~($1Ff+fCEQu71txz zUIpXaJ=~FNh}H1@wvLOU6a}b`8o)#;Ax7apUQO5da44YWd_l&e1(jisUkL;~oTlVF ztfnxkPl;%Lz*c$I!Y4zKNM}6m4+jDa%Zgk)9taB@%P_3qONJ8RDmG<0NHJAV^{r#y zD_Gw{v3$Y?3WBx_VX@i;0|khnQ-BtkNVruGliPObrUuK-vu>G|qZWXz9|T&`h6cHm zXI@`J!~cta8LvHR{%99J0H&{YoJtbrR(p0EL=YqeQ|foO9$5HMdGVd zk=xUqhxfKl6`v^eH@uK-{^N4bpO<^={)U+kV&A_X{r&Uq&rW#DgN;US?ZlqeQhz;^ z>Iz*oWx46dzP5LdP``Ydy!KA;xVqs`wps70`Q|itXm@j2Zan&YTRut5Uf3~rF+N$? zxNs?T=ObZasKt`%vEDa2zzkkElt~XRKH@|0XTWoqWFjTR<;u6)Cy%w&vMq@_o7cmu zNS!;oxCnZuhj!jP@x_!Po}6r)&RzdeneCpxHT2W#xA!04JK8gQYgBT40eqmJX4-^&yQ_=O-LpRTsQcboV_bbGhM7qr#SjG&1SN=o3ie?#fsrH=lK}$O z#oiTr7rUs~P_baIVDG*6-g|j>63V4HoOkxmnRAl-a_{&1yZ3%>nfYf%M1;4l<@LK4 zf*`d*L-di{FZZcY4SX9Eb;7~VPxg>lCxX=c7x(!NnK7##f~Yg;=omJ}7^Wc^t1n?< z;wWF2)eh7MqHXE26J#RAisGnv+U75Qx@EgqM4SA@ofJmQXb++i=#VrA6_pkqO{OK1 zYLmF7&P(gkfCN^GB}6W(#pcww{Kf9P8W3~Es95Bdu!;WS0Ioq%j4?tK#5gFC!q-ni z;xd&;srJPcYL!&pTqMPCKNM4=xLkta8ceOha8cnU)_H+Q>oA!$k^11m=D7eZ_&Dca-ULuZ3 zV*SNpuA$as-%+@I-Sv}b_$K8oJ^8~ zq=39p#fc2bpm&9%twJJ0GG${cOa`4xb8?=c;DGOx z1cqgt2}~tT7FW9=R@5*{n=1jx)l_PuTy!NiuEt|?uPM(|YXKCaQPa*rgXK?H^bDEA zjVn~I0~Nj|+N4pa6e^h_j+78)IW94oR$dDx_qCiMzfr~q)(s$t*6@b|ISr8dr9^p9MF)qsDkShca%g? zy-SxCRaodMk}Kv1cD;rmxkF0lBmjLa>SUp^k}i83Ttgl~1<PbLtyc*>+hi;P7DWi48in>PzxdfGgtrDwBfX_TLRZeweL925ao zMKr@$sxq9imXdyzWTW&1OO?WmX=GA}ba4`ovP=#mW1`Ke<#NDN#U+4bWfOoqxrty2 z{uHnfN@5~4X2xM9SRHL8;wjW_i`Swhg^;rNcAyDjEQ|y62@G6|R#XhRxEld?bb}>C zxOWP!Maz|y)yHsWmL8p^yVr)u>R(tWJG^+VmO`92uy=F7I5(*f&~IDm2 zfq)C9!5a&>coD$@0T)bzHx_X5B7y}1E|>;yEa2ir1PcUQFb&>Vz{QIQ76`at8oaT9 zix&|r5OBdXcw+$1=HY-1zfy{V1a-OrokHvxOfr40s$9H zgEtm%@gjl+0xp;aZ!F;AMFa~3TrdsZSir@L2o?yqU>dyfH*tBDymv|2z{{2?;H^rZ zg2*M{jZ6_45@|$`w8jWBa1esL{|bKZBS;d4AP;&Xh-Mms)MYYy>SY5QdW@A+|?8u)ja_dNz{3On+k1z9Tbi9dnYh83(J$(0nJ4`OTei4H!?`s?3#&Ig+(=W(!%T}#g1q1{H1_lNN1?lyA zgTW9S9NfBf>yVI;(9qB}ZQ8VL+cqpL%xE-*hljUo*DfL=qJ8`Jk&%&6QBl#+(H%N; z=-9Dir%s(>Vq#)rV>@^5+@(vGu3fu!>(;G%_wGG<^yt~MCqWQ#ad9L`noK5&qReJ< ze0+RDLIO?Gy?XUZOiZ*`ELN-4X0tI2W4GIT_wMa*IGj!=%d$yHNy*8{;4M>^%axj% znwFNoWfBu363l=V1xM9zCr+L`dFs@u)2C0LIdkUh z*|X=)ojZU2{Dlh_E?&HN>C&akmoHzra^>pPtJkhwyMF!pjT<*^-n@D1)~(yOZ{N9d z=kDFR_wL=hfB*i22M-=TeE8_mqsNaQKY8-x>C>mro;`d1{P~L)FJ8WU`RdiH*RNl{ zdGqG&+qduDy?g)u{f7@9K7Rc8>C>mrpFe;3^5yH-uiv-&aVfVJ*~suH@V81A68TCr z445pT`haNHg|M;8+W+_t8GNqh9QEB^XPo`s1WNDLraRmuCEF7;-H;EW^?#{h4>x{Ezk1 ky~Fe4u#GE|e>wFOdGGV{$u3#Ha+@3pHH7Q41AC_b4`-DOB>(^b diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/cry.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/cry.png index dda95de8f96a1f27e1893d854b1af7f022d26e55..d13487b948f46db2a0fb1f6497e482097fb3f49c 100644 GIT binary patch delta 120 zcmV-;0Ehp$0)_&RB#}vUZdpl0K~xAG1;K{_!ypg@Fg;-7mY&@HqehY>KoSXnM7SL| zZba;3FSU+UXtN4cvw>}5Zh&=^8Y|%aLMyKf9-6D13O#|9>&N*72r20t^6S W69gzVoSv}&0000|Q!~hv28< z83bxIfB3u(gPSS{sv09~tLMoGVbS;W4g^nc*5Ds2comc$@k31j0000e){Xy{F#yQu^pN> z`&TmrL7GQL856i~?)}5};M1h~Yb^Ns(HWJ-AjqHo!oB~1%$oBL1kuc+l2X}Ja|~{w z?NY)@XOdF4-3hW0L>uOI5|&(&6=jmyltU+ev2(9jL|Jv>6qQ+Kb{fbWDyqmuCKkme zS&DKk8ml-=-%RVqfq|W536a}wb1=ADC-(Z{Am*A;vB;ak=IX=|+<>A~bG*nvyGW5r z8X~b^3biOyBgIr2wOrX&B$r_!s7!-mN{I}^Wg1+DiE3VAeKQbgUDhl-!5CRH9QdUZ z=di33N6~_U0%?IlO1rXAOrz1DGC3-jOF)K%DRi)eTjF3^_)Kbjj3i@mQBIbk9U{(` z$fWaFomk8bRQIZxm)%)6kb|jV2PmR$!ii#185%@nHh)`Yw>PR}*aXr)vqlGGk_w$9 znm{sip36dl^cIa>0>hf}!IWwcHNnV~PdeB}t*n+hA7`G+<^^rFprnno0|^5tV2#ej znM1QQlS2mqSl1mCBTHokVZrqTm62{Lh>Yv;$-Fh?TWT#RWZd8)36^#x(X>tPE7$ni zs}~szTzQ6yeodhqR=R*`twjSR{=)IQkw$_g^+2hS$W#(co+OjumCWB0T znE@VV+Dc^=Ht@i3c?ho3z#dR$paFJs7fJGgec{bOpDAa$yBQ>R#m7~ZOJ0MldLaqU~Qx=d0ZjYSX+U$DOA=z zQXPSXDiskJX40sQYGb5PrIwitGNm#kqSh9YHnb&OR6c2qbkTP29(NKhhUB)6PF%Zp z>JEjPLhx=roN72#-}Pur!LO%*)PFs|T+=QXC*aE^uMr4B> z(UgBr9<3!;+Yl(xqTJHisQN4CYpuVawME#l0JK&Mo<+Ot1god) zL^g>!9obsc-{>DxTlZgp8)zHt0w)?cIkjkG&5(-w7vSm}pd!3QfoahOZGriz-0rvK zdGkZ%GVnq%?z2V;cLz$-zAc5j1EqdtX9vY{bMszkKr^J`{;GU162a{msSi=96e=wm z*c_;cr`)71)kuK@mEpDtrl`>bb~GwX3nqj*YJ|R0fNrF`mEvm!w`t%G5v{vLtY1WR zd-Hb={4@HUjbS@s5SRvUEa2ir1Sbf%U>dx!fQuIqoFL$WY4FAZE?z`%f`ALA!5a&> zcoD$~0xp;aZ!F;AMFb}ZxL_K*v4D#g5u704f@$!^0xn)eaDspfrokHvxOfr42?8#d z25&6j;za}}2)JMxys?0b7ZIEw;DTxJ#sV&0L~w$D3#P#v3%Ga@!3hE`m;yEa2ir1Sbf%U>dx! zfQuIqoFL$WY4FAZE?z`%f`ALA!5e=QS2O=Zm!tzcX;}assr;v_E1C*${fMb@-QEF_n5# z@lP!)K+6{GxmLRJ)?urEYUx?8KJZ_~#-CeXlNdauaTO9n)l^gUk=XK#utWb*dP+1m zbf&e{3WY+cRH{^}kdTnj&``Bn4Ia+K zalBo-c3Q1gr_<^6`mnID@bK`6h=}&>+Zzl9qtR$GnIa=2J9Ov}6%`d79sS#Hzjf@` zF(xL)Y&OTn#>U0P#mC2Y>eMMAAt5m_F)1mjbLY;<$;l}xDXFQcX=!O)x^(H}xymzS5HpAQ}}b-Ue#g@r{$MZJ6X?$f7F-@bkO_3PKafByjk z1`HfHaL}MZg9i^DGGxfmp+koa8#a9S@DU?Mj2t;~)TmLTM~@yeX3W^JW5_C7A#!2aM7Ygix)3mvSi89rAwDBTef`p@)avqtX#Qr)v8siSFbKEE?%={&DynV z*R5N(e*O9l8#Zj*xUr<9WYeZin>TOXvSrKGty{Nk+qQlC_8mKR?A*C?*REZ=ckkY_ zXV2cfd-v_zw}1cs0|yQqJb3WXp+kocA3k#A$kC%mj~zR9{P^(`Cr+F^d9t*$^wgc=6JuOP4QSzH;Tt)vH&pUAtCMQBhf0 zdHwqJ8#iv;ym|B1ty{Nm-@bF_&fU9r@7=q1|Ni|44<0;x`0&xAM~@#re)8nW)2C0L zJ$v^2`STYqUc7wy^3|(XuV24@^X5%eRn^vf#2|vCY{5T`*(Ie*H9p?5s)vD*j^i>6Ag{CLi)AWk@uS}PvZ=Mv4 x==t5xI5H~sj~VIX@HK@oB_HIgD_4H{1!?2{+m!x=mGG=%kYwdMAJE|rix@+uBS<lmR(~v*}8jI>;wWQLz3tQx+;o101VCbTW zR^`H$M3wtXP>-wt)NXR%9BIu(os@~RQ@Iw~R@7o99fX-8NE>b@X){HeNpyK((3`?X z=pa+H>9jMv6H|V#;rDs1Gkg5 z2%ZaaSsd8Rl$o{iY{br|c~--_JtSkXd)-c()lHIK%3a75GIrAAa9c?$V{@djK1tPB zi34fh0`$F%Exaw3_9%eWWF;ia)#)xMiOQO+M&%gl@fcNiqED6y5-%sz%|@A)qGo_1 z)B?UpkwtVd&$O_LhJP3T5}yCB`6Hkx!f2L%G*9{y>`3FdG79jrGE6{%6QsaVDLD4s zJRGy>lH!mzvMF<_vuWHPVRj!`@We=XLmk)@9_R= zlf^!9s=?}@Cfe(-Jf45OzW&!wdVhTX__-$O^08#S$2QV^qF<{BZ`^P|sQ9*{kwZ63 zzWK`Z@k8TB6W6--AMlWhY2)r)p`nBE$&Nq-FSp34^Jm(dk~aq59%)X8z6yC; zd`w|Tzm`AleQ@;YdooJ4_)ZxsOI!F;n;6=)_W1^Gt?%eU*YpqHWJ;s)qWJnhuHM5Lb`ug(mVHCMD;s5;VB zdJB0m>#%?ieAqF5lb;(*Mf3KxUBH`j@OkEobHA_OgS_@o)=n`nMM6=C&l_NR-Fuq; E0?*VvHUIzs diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/expressionless.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/expressionless.png index 4d6904de0622e2954c7ec4e765cc0540c0759818..1796dfd73e4e44ddc5e19995d82f249a5edfe8d7 100644 GIT binary patch delta 99 zcmV-p0G$7V3D^OUB$LYnTv$U%L_t&t9c{r!4uCKW0KtWX-uC~m#Xdxl5HlD^29!pT zPNb8ssg#Aal!vs{x^vfh@nag(K@jF4ogmVQ(kKR!;RWh*0-s9xRe}Hj002ovPDHLk FV1g%*DlY&4 literal 1154 zcmbVLO-K|`93M5p1j8Vr^58I17&JQ{`{hi#sXMc)3+}e83+~akGf$m#=1ntCceF#6 z1Vz_^_D}|0ODK>I9!#i1g&iq89tsR;uKC6aUUAQW#B-nOGhP0r%f;f^APA0SKh!FMb(WPg(5Cy zdSwln0pRNdJkusgkaj4%pS4j?k0+) zjProa2?3rnO+T(}Z5QX^Z#VYUb_)|Wl(B)7BgiDgBvj9So)nG_uB|XZsx~7S|4#E*ZD^+>+!wX?Cs05SI zXh>89At_0Gm#QR$lprM%!AK%m#ilJ6151Nd+Xk_{i;WzJl@$j9jGO{Oqt!0R4I_-) zVPw;a;#WONxAhyAj>_&izf3z(tI#pVp`LP(NpI&_Humx1-{RlF>;IcSjyT2n&GJX{ zRIf-!`rExxAcwtSf)<$|hm6XPk4J8jF$?B;3(22Lndi68u0D%@n(KUgwdMQk^u~*> zFZ0UgLULs`Hg~6OYcciy$%VHMgRky$TZ`QUH{E}2orq&NpY8kk*P_lmt(3@PDy?=E zyya38ReQLJ3O*XGpQ%}_ao%|wQ}-&B2iK=7m6oLsI#?^MYG4h%tSweLrq0tqC>2GhiCTZ@XO4rv`?Q?H{*o1{sTUJwF~+otePO$aR6 z=i=}C|L?!O-4cGja__;t2!d1w8@Y(JTJJ-9;MebdJPeluhCgPss_jOS*8oy4s&Rk@ zWxfMM051;oj)EEl+0!pYV@530#0aWv=PiugloODRAT@Pnf)~1hfyP0Hr1-Ghmsc=U z5`EY)cZdijSkNgo4r-uvFdP*Iy9HXr>T1y%lYs_gVDP9Z_b57J`mjyA4BT7SIEHRQ zjBX#cB`OwbL0MG;sM}821k&k6J+z&4(_V+`S=2$06i(1M>9P?dL(mLCqT3G!y=h`Q z6X62ezTnA+bs9#3!SQ4=X-_)ss@8#%G)?1#19v!V5Mk2?6oWTyie6Q=zyV#*q=X@< z3Tj#8<7%Jb!=Tcw5adKCv}0J&w-W_ZhMRl>C+!3-%T`>QXx)f_zh&%-)}sRnfJcC? z_GtpFM|)M740CsXM-~vOVVX4w7KQKORH07>iV@^|82n=wC6VzuMOq|*$L91>z($cS z(&nW^r_C*r4$v-8Zcp4@wzC^QK(Q{5hjw}>%1@Ghx*-todr68Vhz5#g32&JjRCI$^ z1W@)ZLEqb4$9=gBs{!6nwWzB0l)Ip%Q#Dk*Q%#^OYgOHYRv(iTQBCSctTJsy%>hm7 z2Vy`|Wpp#ojI@h}e;5B2U;MB6!=WhLYLqh5ot3qXSiCD!D5Y~N!)HI7Tg;hnoMIXp$8O%fGnewza+!Sb ztE=M+nZgm=>0)XF%`d$eJwBVt@^b&=-Pz06#Z9h*O{e`&d`DEU!>&-|V0)Typ39vW>HX{@>hrm^kw?ZJ<{G}R9YPPd4)+Yn zmzItrL+`q$>L2~O?Hu=g*Y&3+?k0seTU9l(ebQL1eLVZL zaU))+RMZYM3IYb&m>}ZT4IvFpLWs+d*hPbumpydjVOjwp?TYvZD93G6c&Mg{BiY}% ze81m!pHYf^?QM^>Q54ml@0Uw~48F~q$Unz#EfVo4&JE!*s^YrlLMmgR3Z(OvHVjKp zGbZ+(gDHyIG;XRxc&IQS>c|RdflkP`9D=5(RJZSF`Uu2y1rD3G#Qgd7NrpBJiP^;$ z!UZP_Yi57Lh2=(3)f*$aU@+ZjI^~Omz=Bw#eQVVAL|4XphypW8b+vE~|8u_X7d*&-*2 zsbTDh99OT`L-l9~xx*X~1c3`jxJZO08mu>AW6fu6Z+nYDhMw-44mOcZ2aH+;jbVu) zp00*qIfcSHvF)uTilmJ5HHQPCFlSjoTr1ihF2R4@*ihS3CmhI?pohj>oz$bcy#*$@ zyS1S}k$58xx+W=#HYy{1%z`$~%MwFgLWXIGdLk-RV}iy)L$9zxEC$$Q8~_%?t41=) zS9HL`7SBd_9whl(k{1%OC=WnRAmEHFLSxU2_~7y)Lrol{|~)20q+g z{Hu85|K^V)PH{oA{HJ+ZSEM6@?fNK?!}>5mn@o^PMrHHdSd)yIs|={Q=RUjHHT{En z?1p;uT6ylO^3flunNx!w{@yb?pW1)A`@oNd!xzMtzkl|~r7r(t0_u5fK5o4uOr4b9 zKA)ZbR(j=3W_CXE;)%kc#q!Z>`8OBTxvPD%XZzk=l=h!_m`y9qrOfLK=~vGVHkWd5 zohJ+*(CT#}I&i62UcQ}0ebRX88-j51az^!kF%DdOU{bkX9{j0e`q#-%-*5ITFF$hQ z?kD=MXNQZC_qOhSaQUe(noDo|eIdVXq2s*l@S@|NS~p5G3F zar@`5xHfdmL4+jmS2+&NWN4s{*ek-pNo_l|q0slVEv7cVxB6WdfiSCl{B H`NHHs6Ys^i diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/flushed.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/flushed.png index 2ca84e2af01239b489b3d1be13169caddddb8b18..9afe0d14885af56163ddb6d8c54d15a9f667e0f6 100644 GIT binary patch delta 162 zcmV;T0A2r@3+V%pB(uu{FadvnNkl&xhMeLYDvH`*;#W7 zVqB(-owQJx%;Mfv@;!!P-(5j?5EyXAR@p4iUpdo>& z2Qk2KEiVp$G6Y$(kB=v`M7WY-CBe)XI_9(>Lo|Yv?M%xI+Xyr?3F>*#gH82b#!#N~ zVAYPWB`o_v17F^%fU4F=oNaAnNe+x3!Xe!gQm$8j;B&7bIN9xlzN;XNfNhMajVq?HB4%Ys4;1isBSAT&_HDsUez40^g0f*^;(E5xF@oG6$wJk7{BVYc9cV8pekt!gpww;QW!tML{Y;4z>| z%?b}2kc&_gQVRqyUk4y0n!%;+DW&~XZMkIzngRyupv>^ z7?A}9+dQnYcQX3>0_4|#gyU?eqd6AP+>UN_{OHtE6 z;r9V9s7M03m}iP##fN_v{}P`2uld8FQ@GJA|7f1V73@f3yD|#!urf?QgcGE|QE_(F z4#P1UidM!0`Zr-c-F2{bqyEYf{aRG-IJhuanY)wGdu#MdHTqyAbJ3q0|1Cc{oXt(= zrf)60^`U-_)dzRC*A%^4yRln-_^Lf4h`RTsk!uRzvSAv<$_}!oP&y9Voe~~zrdc3PGtoO&~ zZohx}om4hA`$uM=oqf8iEwV6Fmz$c^KWZ31@0}m%ke}O}%l@97xic{__U&=|r15b|_o=H}!4uj=uZY@f%4#+BWujU+Fw5%w2f$m};gej7+Jl?3?(|7Uo*-M|aTllF9R x4B?PXo?+FTxQd0twCQ3ZXWMfJ6J}mUhR@1;eO=P#*MQ0xJYD@<);T3K0RT?|983TJ literal 16173 zcmeI3WmFr@8prpRDlK)_G<6A^jgmB^r34CXLn+V}s%(-CY)P_dvOu8j?(XjH?(XjH z?ykJEfsk|vdpP&JAMUwla}FfW{OAA7%x`4(%M6cAT zClNGHMpjEd-*)l5XkQ!)e5!NU?PzWOScix=@Bvd^d!B)z;CMdRXLO(ftjFj zp2KXi*p-ezzB8{9{AP+#KF?W&P734)F%9x!wUNAF%0}>{{xX3c69@3*3V%$h2oOmc z^F%^Sh6)uZCJ_iRrBI<1V!W&mU+oKiscZ(LGD;Jg)f|Wd`H3`bRibEWYN~&#*q^c` zpqN6TK!qYyBocrc0(+W;#vKBSy;f!tR~`*v*V{-dO;Q#flNZ-f$#fu}&oq?%$r_j0 zs?}yUWwB?`0~}EYZbdPFA!;_G-kf$iig0(*tJ5BnW+l)l!cHaI^aQA0%X^}b6wte@ z(dHphND5)0y`}_8 zg$~CQ27yc-U=&Ei5~)CEG|B{+fgtpHnNf=CL@G4bH11WE)s&Ye0z$+=BAF;yE|Fju z7NQ6U4VH(7U{bk4D3*!j8drJ`YmT(x7CVhw^h8$ANzij#giED5y+k0x6?%a|D!~K_ zTqqMLga)BdV$dlt%-~AxVb76TL)gd^!Vqes%+3vC#cg(iS-gRK*XqsQVOdn2%U?<6 z>{H%o=CHf_1R79f%7*`Tu5#Gj*pKq>=ESRo+@fgTr& z19X@iBSd0Xeh+)@ZKNg=7Bx7v6#}7DfQe$jsV$NzC0HY&NGTM$QaNkop2SWW=~UcC z1SNnCr_Ov#M7mB5UT`q;SdjDTcOWeWD%IY=mGy61?&g{{xyy3bPXHMrd%FfcA(`t`x~#q_dM`)`W6sDFbOt^OEDQ**cnXx%L3Ke^}m=}&r7}4M* zn^4Q7Qn6Hp!o{#7l5`NJSPco@L+s4)kAbt<>462W#<<*!9zvEebE9~?4m(f4%u?{O z4c_z7>=*qUhhz3*=imI{9?`#<70Sgm0s&zUIb7^~AeF-f0bvh0T?@yd?1y>1p#3XIb7^~AeF-f0bvh0T?@yd?1y>1p#3XIb7^~AeF-f0bvh0T?@yd?1y> z1p#3XIb7^~AeF-f0bvh0T?@yd?1y>1p#3XIb7^~ zAeF-f0bvh0T7I0rS6_X#fz6HQKDqYlBG(ODqXsC znKEU{mMvSZT)Fb)%U7sSp<=~~l`2)LT)A?UDpjghty-;Gwd&QY*Qikg46|mv4{{H?bih`>Y;2xq#Bod3o z5{X1AmC9r?xm+F)5CE>&DwWD6O`51ws=&ZNwOZY@Y13xSngs;~HE-TLI5=3N(S(GA zgocK;Xwf1pEG#@cyk*Olty;Be-MY0_tBr_=Xw#-mWMpL9wr!)LqN1atV`5_3wQJYD zeftg_I>g4t#>K^T?AWnWr%s(acka@qOV_SlyLIapA0Ln7xK5|j>-7c$xOYhyjmCt8 zgv7)|k|eu#@1B&DWHOn|X0yd&p(x5~wf5-I!)CMD?RJ``larHEQc}Q0VTZ$!mX?;D zp5C)(&tAQH_3qufPoF-0`}XbEuV4TE{Ra#fFmT|&L4yVj9z1x+kRd~d4jndZ*zn=Q zM~oOTa^%QSqehJ$J$lTTF=NM$9XD>=`0?W>Oqein;>1alCQY6^dCHV2Q>RXyHf`GU z>CHEY+dUAJ!C`t|EKY}l}IK79Ddkt0Ws z9zAyK*zx1XPnAmsE?vHS`O1|m zSFc{ZcJ12r>(_7GxN-C5&0Du_-M)SM&Ye4V@7}$4@813U_a8iX@bKZoM~@yoe*E~! zlP6D~K7ID=+4JYmU%Ytn^5x4{uU@@={rb(DH*ep*efRF&`}glZeE9J3&?&!0aT85u_dmW^dL038((oq;^wDr^a& z2H~2Z7{`rON9X$?JY?UxHyKMyH5-5ojcY%?EOD}nqrQEL$iAX)Wgn#aDJ1@a!V(Qk ONO(wuW=-?>0sjEWP9^{V diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/frowning2.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/frowning2.png index bbc46462e141c3547f1b40c9e77f045834967254..d0de7f47a4620bfa83eb6b5b52ac66e96e83f2c6 100644 GIT binary patch delta 105 zcmV-v0G9v13627gB$LYnj9y7eL_t&t9R$%#KmtIp z**`d40Eh9$;tRO%j%;TD0N}hD-@^xDcrMr1-;2ZqCQ<-O6{z|HxC{jWj?x)f00000 LNkvXXu0mjfnUE;Z literal 1215 zcmbVLOK8(z9FIC0|Uwu31sk z9mL@fFN%sFJBZ-H2cjrL)PnhzAdP@bzU|r-w1bK=M8E`~Cj!p=6?U zC-34&M|Ym-vm>b=V<@K+A5OW{pFXafhIfChr7 z=+`q@l#TBbRcQDW594zU3$qELq0zMzwHF{V2fB4LLVX^6K#{r@p*n(bHf}{hkKR_Y zLAsR4sHI+2(5S{eWP>YW0Rtd~bd5gK5#0zitt;Zacg;}bGz9fVs2QiS@gy0AHXwsO zo>sZ~Fc}hjTu=!61G`8+%kc~=FkFCUIgu4amLq2$3R|u3Ca8Y5_Dz(k5mn@&wxK?06y>lV_XNqUM(4i->^!k*5AU|8|^ zoUrN4CJLvFaTSZSv*YszGtyM+yTKoz%Rs=s?F9b9?$MJv;hxvSc&d;&AJSgkT z$LE@5o(~4Xp@2WiaWa=ffQ%U{h?zQP^pZRbV-ALfP$n0SJ0JSw{jOOD_%>qzd)$iK$pw@>cK%fy#Qt$N$y ziIKqJ&Z;*zBKJo1|8(kWW9_zV?!?#k8|0yzRpH5phXixYk8`KrRV0I3*59cZJoCJJ`{~m6RBJz9 r_4yn({K|M+d8I1x>Gk^;UsiV!cULT3H2Jgr2bL#dazeV++%@+w)sF*Z}Zm6 u?sEMTVK6DBY@dmQTIJjylSmSfBzNV&3=#Rj**^dP literal 1348 zcmbVLZEVzJ9PijXm*EjfjETA|rNcSUzFzNcZSH`(YwJ$#j&VD}8O=hkeYTZd+p~SP zyN$p=O@xF*4Duq7jIn??3{gmkX2CJC3?@sA(L`C|M~%h=^_#{hKHYZH4+}9gX`h$= zf4~3l|8}S&^P<1u=>`nL{K#g2fUyHtS@QDmso`P~7cG}&rtU3UT>2?9&NmK0s zS)l5Jug!u8hSd%jxjf9LQ=(>@l?{Wnz-R4LwTi z45pcMDFJ$o_8|v!4rOxMP@g8~#O6(Sq#_~$6F?QOm_^GKD^X&BS44a7nkMiC6WA9e z7DeUL9eBca03M`5q{ar?@UTF!L7|P~U%)wr4bhB1vpmVLA|r?li!VI{^5*E>VpdX? ze4$g6=!LK((sa38rpf`zc6w-55CodxXpSS11?di2P_2-b+gxRkfU7x12^zMAdyHzq z?uStVDP0V~ETz-S#Fo31D3mg~qLyfuVrbL!;##nFVHW%=V?}E>H&_C67Pxl5qoI0q zH&?+ZcMo>t86q{}Hpf6kQHzqT^_#$gNhwO8Ka_6hA_sVmXY~LX3ThfD6nK^_=vvDyV4y*9MnUb}=R5?Q$U&nramzo7#_U{2DktBc zOLxoIcb6l7%)IpXoz!2Sr|yo6r{OcZ+gJT|L%DFY@5`~!wZpB`C+RB(Tkc*Gubdm6 zImLYQf$-xev7aXrUtb7+`^9HJT-);J?XB}4isJ`}{jd6G&#*U-Q+v9akL}CMO^wf9 zKR;4#935=Bc-(^9AHDRR`|G6q`%H4`7&ZUZ%{!A9?_HPPA71yTNM_T9l!TTL%w{_8Kg@%TzMWwa1M1XRt}9$Dpk91EN+){oRo)i|+; z-+I#L3-$XB9N3o8c*y$_0Gpl(>~Qu6lKT0kM?e%Rv#TbQa4TBzE@YzVBg<(Z0&G7whQ^k Ml5$469N+c&KPTkm`v3p{ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/hearts.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/hearts.png index 4639733791b63f61a3ac9950b347f09b01078b0e..0582043360740fcb9324ac567049c35fcff90c17 100644 GIT binary patch delta 105 zcmdm7S3N-@nUR@+fx$zy%pORw1^9%x-qmyY|NnpDzjMk!5vGzLzu^B2Pq!O*0eMQE zE{-7_vdI?q%?mr58F@_#3}hxGR3seyu(0XjasIab_6&6^Ikzt=W8DT+&EV+_6GcUPx~rel?aai@%*0)jS(n|BY)+;hHM?zQy2tL` z%Q~Q8zrDWp;)$hGO8|fqt1I;l@=HGV9mn4d{gE~NbANB;QUbsO50lR^@Zm>~0`R;a zw6@Z%<^|h}x<$v2TvQx%d$=|L9AEP z?4)VWmZW~aU+k;JDBhN!Wm%G}NQxrj8e*~+rp`bNlheZ><2ZGccyZ86gD4b8T*r-e z(@LR05>1{_zq-9dV7RGjjJe3=Z3;##tt+uzwb?adb@Ea1MPbf>Yy&plVApLE`Z)nlt#%; zv>@d~&LGZ9oCfU$0Ex2D4Gn??ZbTWnWpipc)MX5%*|cAd13dkmPCfE=NxxR>RV)z1n2v|6Jsm&W09t}|g*!z6V=4~<$L;FhbZr9fAaMWf_cqS4k2(S>bQR9#Qg zy|(EqhBXeIbDs%aM{#f!`RC%On=P206DNpF-b!ISdnYSwL^YfKb}-u}-&K+9D4M95 zx*~c$X_KQP5&D{MYARF>Q!Ps~?$b8m1m&UZ|I@LWai2yX4E`=!$LV8lvxN zj_7!R-p~`XJy5f<#AK9T8o1u zQ9JEBFROLk?u79$5Q=~fhVjxrHx zmnrUPG*ov|bZCvpHZ*c;WD;aplZw%d{Gh!z6GO2NjTVWKt4YVeH!#uU1u9fy>PoMO$&21CnvgHi#kz^n}xeymgW`byvSKjPG7tQIN4?g%hF64 zU4M%lJDuIEzNyIgks$dVx#nfs^%C1PFVn75&sV}AC4I{pN)_k4$c1AFV-sJpQPt3O zRWD0)G3~J)3{YpQ9^iXOLbiX1_vXxp7Unu$TI84$MvlXUlDiIPJK(SsU$*f*Uz%L> zXEw*lv2!>7OnY=Uqf)VW5()_0|d?=OUqJXeX zj*HEQQaLUP2;1bi*nB9J|d?=OUqJXeXj*HEQQaLUP2;1bi*nB9J|d?=OUqJXeXCa$IFtFtJ?@5}b_i?P>#v9|F`wSu>@(F9=sNdVq>3xK~4@b7N` z?8*TAei;D!0{~7&@4kBT9013``h`~GcCmhNfNSxG6Zk(8c<1bG@+SK|>BidT0r>R` z`6X;gtM%p9;O9@j|K!-W@`K;KaQn{rlh=ND;>&yAzxmkp<Szszd+) diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/hugging.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/hugging.png index 146af729064b96a972807421cd21d656c164409d..4c3f94b269c7c6969e0d2c3fa3b6a7de8d5cbeda 100644 GIT binary patch delta 153 zcmV;K0A~N*3b6x_B%{j%0e^T&L_t&tTQ$eU0m1+P1i?KBkOX&kcbDtGF&=^W4Ymz{ zZSxN#`vq(anRJ}Zq~k2c5Rgj+M|ShYt$LRSw?900000NkvXX Hu0mjfPB=sc literal 1374 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D72XiEBhjaDG}zd16s2gJVj5QmTSy zZen_BP-lO)W`O zsL0L9E4HezRRWu91!RMS^_3LBN=mYAl^~9a@C{IK&M!(;Fx4~DO*S;PP%yXDGc>id zFf!3mFfuSS(>JixH#E^TFtjqTv@$SMfC43;ZAB?*RzWUqP`iLUTcwPWk^(Dz{qpj1 zy>er{{GxPyLrY6beFGzXBO_g)3fZE`@j@x4_pIZg5^PG@yV%reBd*pl_&Wpr4xy@)uZjaY;}r!Wmdq7l%|9r0NHy z7U!21B?IFlO&O*c7&4a6BsFpIWGChrManjC7v#}N>@2e7^0=Xz?c(ce=(9}l>FKkE5yj>M!KvA>6${-5@K-7WZas?fjV?(e#|pEq+? zhH<^^S>wl1&llSr|DEu>vC6VPQ}k0G&-Vqg&ziVC_w)We z==i>0@LeDOugyk(kGNb~V)k>jW|}L*lX|Z23*~Oi)Bd$y@B4h2Ii=D+*XjJ;X8O3E z>)&ag&;2~#=14Zj^FP{T_h%2V&|ru(U?>GrRwY4x!T-qx4CV*^gUYWuPZ!6Kid#14 zuJbho2(Vm`bYK6FVdQ&MBb@0IlO)W`O zsL0L9E4HezRRWu91!RMS^_3LBN=mYAl^~9a@C{IK&M!(;Fx4~DO*S;PP%yXDGc>id zFf!3mFfuSS(>JixH#E^TFtjqTv@$SMfC43;ZAB?*RzWUqP`iLUTcwPWk^(Dz{qpj1 zy>er{{GxPyLrY6beFGzXBO_g)3fZE`@j@x4_pIZg5^PG@yV%reBd*pl_&Wpr4xy@)uZjaY;}r!Wmdq7l%|9r0NHy z7U!21B?IFlO&O*c7&4a6BsFpIWGChrManjC7v#}NOLId5 z%haSKU4uju16|WplVsgQLlbk|L?c7tSm^wL{!Ss6O6_+IDC8xsd&IH;G)oYGdua$FAYGO%#QAmD%4lES} zWaO9R7iZ)bC^$QVV%=OpBRn%NCBM8_6BJDlU%R9hWtOF;xE1B+DuBb;Diezvi1R;0 ze+s$brw??LJ}9vuB_5a%Fhzox@T>sjz%x^79xw+L0kg^}_Y>N{Y*rWG6XN>+jBlDN z!;fR0|IYY+I_SQwM{{eJ`niQBn>*EipYT2~MK{Nbd2yB8%N_fOINxZmyV9+&0yichxKZ|l~$x87!Z zkH*P4M$fl9W_d8JY*53Spz}R;TskoKX z=g!w)z{4Wz^nUO6dH?GL9xEJaoXBrIDOZ<+B~Rmlifq@adx0M;FI}8=M)%^QdyCFq zSocDuJS^Z3vx>6uf#jpf2iGx}tN&2HD<%1&|Cry*leelWeD?gl^5*hqp#%o)2#$nS T!Jpzl3mH6J{an^LB{Ts5HfGJs diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/innocent.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/innocent.png index 01ee7c2f754c917c80a392c4ab59b4abad4c6a0e..a77d4f5ac2dd4a386367d51e52935208e85e23b4 100644 GIT binary patch delta 161 zcmV;S0ABx}3-AMwB(uu{I01iuNklbXYcys5*S>4 zI$J#jj2nNybJI_N3Kf9+XG~@xG#N&Xc9#9OaApatEQ)MIK4%G$fisY}Fc)W>n-1ArrbNvotM36t{~(JozRCOj zJiq7ne7#ZS-I<;Ba2A3f+3s?uPv7-<_a?Zys2nfc9@1R3TD2V1Vw?gHhad+4>JD@D zzy~;?>E$UFywa@fe}GRAl~0<{sOxFjCo_y(Y%0Z=bWcI?K`7>0_1 z9jl={geSs+kXW8jKy||F=MxP)Enp>2p~Z0q0)&Caq498|q%v_kwt~yRv;K@@=!%He zV8>QT)q1K>R#pH?8LbAMG~3W3+DKBg&15M=O$2Gh2^uFY27+V=njuJZZD7!vA_N(q zvuw>4yxFmkrbQSWkHuofnAs>R^*Bk>G)|aslgR)j3~H04adCsB=4B9^K;;!NqKUGE z>WExGj%s!cGF^2c9PxP8fhBb2I1`kNvE_W@Oo zDm=_bFfXGFV|Qmmx*%l3>{3LS6t2-J^U*MnG`G`^!5^a_3Jf2lIJ4PC7|aAA7--&N zHE=;d830dNY-W>%vf`KJ#!MAdg=9@uLvjRVSv~7TXhDrA335z*LQm7G*G`~_ z`+!iU$YFFP&WyMLhkxh)s=n}FKd=CSXmqtHrNuR0szP}_rvGY(UCq2fd z#@lb5srqUn$|tXMH*dQ+UN+EC&|0_k`QD$pp6hU z_s|FSZux!Ky)anXo!ADQ8+uZ?47YO4=dDivKLa^(?Uy=;+3t2a{PC}g-)!5G+Ho)2 zIq(e=3|@uvw{&{;=ftrWp1yo+{&93q?u()5$YXZ}@-F1t6c{(Op51 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/joy.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/joy.png index 6bc95ee669d52efe9836473b180bccf7b1104dc1..2d4ded730a14f61dc01832f0367330f6d2ae5356 100644 GIT binary patch delta 161 zcmV;S0ABy33-kk!B(uu{JOO`yNklDaPwzr6&vT3gGuhH}}5Je4aYJ3#|ub>gMcm)f1 P00000NkvXXu0mjf1fWHD literal 1444 zcmb_beM}o=9KMZzmN_(z?cJ4r-AO5JuSgy3NLxdbDRA7qr6=^RyF1!K zmQ2io7#tX*W9&nguuL)s4EMntStLWo&`mSK#&8S4DI{|Yk|m2FOT_npqJNOZ7%#bd zKkoNDzvuV$QIYS>^z|9*5d=y16fk~m)!ub!@ar~h^ugsN)g4j;Qdmu}GC&->R1Q#2 zl&t`M!16V_hCvR3q{W3`NDX-lX-;hC?73)8l7<9Ppt5K(S|uuU(uOVa(r~X`;~2VV zqE_0lB~c-75$cj;fSUAX9Yu6qq!}kDoHXhPk|rpcAkpOqgWhC5 zO#7MqWnb`Q!y>90qj5ZuNaz#UdP%OpNs6Ly!hjnLI%uI&YDASy>O>_o#lQfClZBWn zNFu5+vgJ~>YQvz?r4XVquXlx5RF)G3Q-&wm7*6U5JQ~&FTC`SFKloe5s@6)dCI)an zP^4;^gY^h!rob?FPj;jkLN)XbS%5`hs~Cx^jsj8jFg6VS(enaNlVNkVndf;OOOQav z@kXVl$(q)JLeilHu-R&@)ywO9~&DWPoB%CrP8fexFNfA2_z6!9}1fy8+$IceyrHfHE!+NyZKaoR%Q1D*Kw<@ z`}5tQrw-MJDvpml8YsBhUpqc1pYLesJQOeKyx$yW1`iP5U#k10_rm3a#IfDz#MqU+ zWzUQrx4hRq`NyDVcDRK9^48Z4TYl-uegDkx)Y-hL$Z%WSR>98@w|2j8R@E10G BKPCVG diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/kissing.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/kissing.png index 5dc6f2ee44280e2d1c64512dbaa88621b06225cd..c4040f250fc238b5c76b2940e223a961dacef9f9 100644 GIT binary patch delta 103 zcmV-t0GR)s3Ge}sB$LYna9l@8L_t&t9RzkjTxaJx1Gee1O&0(F!0@?&!0Wjnf#E$M1&`%Rsp9@q^#?UW1GYA1%tQbH002ov JPDHLkV1m}YC(-}_ literal 1181 zcmbVLPiWIn7|*QA5QjU+aOxpuA_}I-OOv*VtGXr8)va}O)$M4OyslwQUY5MA*$$$+ zh4A-plvkxDn~ZL&qa%it5}KdWJa)F+B`NY&XMvemKL>wv}N9r5vC0R9LoqrhGUs zl`oo8qo!;z`}WeEp+X28hz&Y)DsG^J8D^1JA?N6sW9UT{JepyaoEpmY(<<^IEya_p z2@+{KCC7mzrv-60E$|@8@iGTQmIn$iD?FgGJ^b%Txug9ZcBw>@klmyQ^XVKk024Doa+1jozemWkb< zo+y$sE;Kw2#CgtfqPP~d16+W=-B?jOC{B8iE5HDa`zEPJsiOfVx%<1JNRfD>9QJKe z6r-XcbKHS0&T1Kk{E1t(rKD40N-7x=D{7ZQ2fAhx?r?{wD z{%D@Y6Y0q4xI7BvvOG-CB@^V6QF(jlaWrP#{e4CK=kwg_Yx1W@YUNPu&Y7LJPwgn_ z)Q5Xr-{!K{PcSbpOAA+%AMba6nbAKz(rV|~@AJLqDs4BWJ7&(aU!V36nz0|#4~S^P zh5W$Jl@`_Xs`j2}xL&=*EStLx_!&0HSOCv`3q-{YxHfE0jI1*-mdq68$uAMg<}J@Whg{_m5S^q#d1 z8yg6MSexuovi|D7t84K$E;Og{(t_gss1FuUNp%1b)nOixNmCsFS)l5pM<0Vuf~Xxa za{Z`3)hlbz45~gR=$STV6GUg1XRF#EKx7^a7*>S(Ff&V$h902~3Mn>a$3W5O8FN72 zSURVT4Qi53b?qWMJsAs_0I8&B4q2}3MX0i_jQ9RELy=_&8jMgCr}|SFG6o$$3PF+9 zxKIb#E(JM3>fpmWNS@_HhLspDOtYNKN;1olOAm#uIeJ0PDv2dq_!Oav2-z~jluD&w zDHMdx0K-X=#IQWW^E5`#?x=-SkG9;_s)7Ps%`t3bK#TMh)jS+V5ej=+3Bj~esbyiy zT}l*A8RMxo!v$H!H2t{BXcuL{FE>_1ySY&tFj?TjVMoLDD703|ICpV6paeexY!*P#8|f=g+f(s(sGe%X`pJ`@NHMP++VqJ%mFHbP7cDMY8PaR z5J9&HZ88?~tKLp-J7`!sEVfu;EazD^R`TJW;;-=a|IHtRonriE z`K@`XSGXhn?eZw#!}2fz3r~=PM`iuh0RfNMzD#c}{^LpN^^M5Q@hxwsqaSDEFR$(V zG?#dPPkA>J8`sv^>H5pZHh+J(_v38h&8@C4_xC)%BA0S&3UT7|eBxBG`Rjw^)aa%o zJvCVG(3#shURqE#-S^`U4-p7AOk+?csYG+$i~MP#W>pgrx-_)*aFwwNLwsynTvyUjE?c2m;=Yd31(}{BnPwHx}O^BE7)IUE@1XdB= VR9zdjC>+JwL^7UMu6G|k{u5JajzItb diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/ok_hand.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/ok_hand.png index 677a3f045f18dbef35706fb256debd6cfdeb742f..99c51e94b0cd9a752556c3c0d51a3f1008fdddcd 100644 GIT binary patch delta 116 zcmV-)0E_?9e#-%n7!3pi0001h#raPF001hJ);lf)iZ~nUliofeQV1Od!9fj!000ER z{gIHIIV{u)0xGEzmN!{1ouP6`buX!2lIr;;R@8pn0V+|0e)z4Tsuq|UNi4%J7z4zXG z@4ffldndHeJLFbQ9Ggv|VQ$_JH#gFZ%d`J|{=56zB7M=YsK};&7OqejL6AQq!i~}V zFaP;xA@FTdm5KyEe>lVA-3aoplKkgy$n=@z5TpUc#Kv)P<`#sNwFi?FYoUWZb|jK|Cq(M?CBT2a7?n!ARk&^;(lEY3Nt`)KVqjggL=~)-SuurHqR|Co zDxDTr)|cRNOpVHQD5jLjF+#2*iHX) zQb6x=M*AB^rWD%26_moNl3Qs~tw#&A@vo|!rt)b*sZeRuYJ*0j z#0?l`(&-FxqY1;6I<3ZlgH7VI4@k{p8{u$sq{B+*^qc`b*IF>#s?lOH6|S+$NR1Mc zX>pZOrqF7X6m11A(#8CytN88akB|rD(Rxb z62XQG&Av@U`A!Xq!NA`ZG?F@P83)Ctx`TYKzor#zZ%rZ{i8K|8`VxHwaEcz~r_RRw zFV5WWZQ(o<4-e75I`W%2jKI|YM>Cf_pTBNJ-@eYfb@@}7Ft}(EZ0T5*wf)XQgj4*u z{cg08EsMC?CNBxBXHFNLign_lOF3>G7d_9_9aX=P-FX!*R;0PeShaILz z^OV8$0K#tWwg%5bVbv$cca__29A3Ka)r@edr?Fk-+% zHXW)~sT3+b3Kzo}QH+PS#Tgm!9OCAWe+-<>-W*uSH!;4T!~h{DF?*u~JPvzL!0b}+ zunnH`(cB09JcncMZRfB2;~&vq=?Zy?jX*$zLlKuSA4nB(K|q8<5tlF@NELBGK!igP zmoOhl6>&j8ghLURFds-2aX~&j8 zghLURFds-2aX~&j8ghLURFds-2 zaX~&j8ghLURFds-2aX~&j8ghN4Gh5fJ2(hl&xY$|v$)>L837w}T8 z#2OxLMv(NH2-0@|f_%vWzZnRUEJu)MT@ZwriXdg#@tqGfL6Aa7REtY7q*7`1 z>eXx1s8O?K&04i;)vjH;PMtbIK|yuv)~#2sUj6#@WinZCa4?FZ;8h9?!*Co|C=^Pi zQl(O<)oP7Kqt$A`E4BndG-%L3uh)l!goK8MHf-3iQKLp-VPTCMH#QgyMx)VWGBs(^ zq-oQp;o;#C5fROrHEZ6yd5ab;%w}_BWMs>hEu*5MTD58w9UUDL6B8R7+q!k@Hf`Fp zZQC|3E-pSkzFoU^?c2BS(4j-ejvYI7>eRV&=Pq5kkR)lbSgcknMNu?OCnO{!CMG5& zB{2-swQJXI-MZOqHoM*Ka5z|&bvm8hyLWfFTyD3UY@S?EC<4H?POHWVl z(W6Jto;`c@>eah>F{^zGZXU%!6+`}ZF(V8FnE0|yNnG^XDh%$+-T-n@D9=g(iTV8OzL3l}X~w0QC2B}_lB#*G^{ZQ8VX^X4sEwrt(H zb=$UW+qZAuv17;1ojZ5!+O>Q4?mc_Wzi{Eg#fuj&UAlDn^5rX6 zu3Wu(_1d*-*RNl{apT6#n>TOWx^?^Z?K^kw+`W7E-o1PG@85s$;K9R(4<9{x^!V}P zCr_R{efl&bBjee#XV0HMfAQkQ%a<=-y?T|Infdzl>o;%SynXxj-Me@1-@pIx;lsy| zA3uHi^!fAWFJHcV{rdIWw{PFSfB*60$IqWXv$C?@1SQ1qi<^s%i~*tlLQH#a9tBF{ z2xC~R=X#4%x)OaG{kxF7`<$OysX>2#vG{`LMR?_i`D@SYa-Cze)2}+3IakO0L6#5N pm6ow8B|d4_@Sovay?;S+h%aT{cTy(LiQr&Ss~ZnKPX^ z$xiZ8X%Hz9^`%ttrM93bDt)mOwqjZ^RO5w+2nJf;BoOd|g{BWSJ(Fb9K7=3+%$&=7 z-~avBuX5Ra+qSlCB?w|$s#nhYtN(6k#$P48Ba4?^NGYOzSVlF~0YqGfB|xT3bqM5v zs*ins3v>}g^QciMqGF~`(xAzxK8Ep38?yv8Qpp92GQK$BHlU<&K4VVC_q-PFWuH?n2WxEpI``0W*E<;c?My)ti z%;d-fbO0G`P<0C95vV4f3QRQ50D&zy<;|M$qnV9?8MvBb*vNnu>04Awa0JCD z?CDAfrk%;G8MfTjMB$XNo@%o^!?C96$F+=hQ6Bu~#=2;?FlGZb4_r9nXt*Bbjs_X$ zZet-Ih`o{aI|eR_IxItN!~_;f$uSE5VRS>60zm=jq86fgF%+bOfe=rtYE+;jWlhu~ zydVfA(6F-}KNRojQTU`14FwWBuZTTyMO65xBE$tH8BKBxZpw0zYH6UMZD8$HuDl^v zN;p78&?!JT+~|T_1tREHpiL$ce$}JoM+Xc`hc&m;FVjlYGH{GhpeG$@lFNCPjCFi? zv-nr|`rGD@#ZIw)v;41l8dta@{q5Q);KSN50Six%gGXilx5>kJ%m#9O1!d_@rmPU3 z^=|rmIz4w;`e&x^;rZz6+kL-$%^V$Uoh)xZ>$cTTeeCStd}ZRp7dMo}>C{3!@$9;M zZmj+08ScUtA3XUX_VmY39$%7XzmHUsP4~YGSJTZer;=Eq{mSlEyu6R{+5V*sAL8z= zQ6G9RCC3ZiT;asQ_l|H|5);+muRU9MeX{dfvD$t5=cY|R6}j=_-pt~W*<5{k>cP}# zI{od%Z<>^M?+xxq4>1Gtk1mw{`qjDgN8!`tu{zOmi2ifw=F+R3gT#x_J6==nbPEV6?)?8(Ic&m>0^tI1 z2SAts>o`P3=I{cmVC8#`%OlayR&N(0Qbj}t4k9c;Hr z3YrjmKzkU|qU~u+bZmvvqOuGa4~z{lc$m}*4eg-|YnjFvqe21+!6Ys!$8A%1s3ruK z>~rz|egF604s?eDwd)>RhagC8u#=5itMxv(7JfNuLl`cPnq1P1X_A@eb%3;sT0cO8 z3ZDj1z>CG_FM$>WSvw@hlV&p1#R!^W=Pet1LCHZhg0!?1a=efQCfX0uvg*Zt{OAIP z%AyzRp+ZC`=K~qJb65wl;c#3S&I+`MwY8!x1qKo*z~s?_GN2kv!HX^OGH`EQ;~2VV zVrISAlBi^;8}(^AKq-5(O(2~f)J@w-iuO2MO{jw)n{k51NtcZv8G>dA5?y{U=uHv5@sLy;l=-&KOBm}t!DX0^Hi^3M_SvJQGkb)VFD_gARUg%{JsNk z!!i4$yDQGk+S&Y>#K^sy3+3cBxG(q2QG4c-%HC4z*ugJH?%VR(mZt9_;)#dtH@o;b zGB9p@P$>6Yrz7*dYUxmH{NT*ORA|l_xV+2%gP6S?m&eSrzg~*m*qxZJZ=E=L?$j=M zNCX=-wP{WqPdS)83ExEpQp+tJKto2Z|P;+S^2($w+Rq3JuL;Wx0rt!Vn)_4T6< zY@Nlq_v;#q<)_YJ%t^9OI?9c`dga?EQg816aCFbU?-SXZTptXg_jOM%Ty~q$aBSiK zJ;#<7hFB6YEGkpHJ)bYtbJCA)H zXK%f7Bzr|}sS($tPv(DXsC)10Bc;nt?z6_mRN&0!g@*HMYLKgQ8&B`7f9MM+2MKav KcCusd%YOkT#tq>B diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/persevere.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/persevere.png index 743a6d40c6e5666a5038cb6d0d9dd09a6d2a30ef..afe426b889cf9bab02dbd73a400e9ba13ee8c1ec 100644 GIT binary patch delta 142 zcmV;90CE4;3Z4UyB$LYn_lO)W`O zsL0L9E4HezRRWu91!RMS^_3LBN=mYAl^~9a@C{IK&M!(;Fx4~DO*S;PP%yXDGc>id zFf!3mFfuSS(>JixH#E^TFtjqTv@$SMfC43;ZAB?*RzWUqP`iLUTcwPWk^(Dz{qpj1 zy>er{{GxPyLrY6beFGzXBO_g)3fZE`@j@x4_pIZg5^PG@yV%reBd*pl_&Wpr4xy@)uZjaY;}r!Wmdq7l%|9r0NHy z7U!21B?IFlO&O*c7&4a6BsFpIWGChrManjC7v#}N^As~9 z^R(1NT~i~2G~Fai6EoeUq$D%l6l2rGG!rumb7M0Tm^s+=n;97xn^`(KnVT3n8ydP= zT9~@HIk}md8kxDcI5|1H!t{FP6_+IDC8xsd&IH;G)$52?ua$FAYGO%#QAmD%4lES} zWaO9R7iZ)bC^$QVV%=OpBRn%NCBM8_6BJDlU%R9hWtOF;xE1B+DuBb;Diezvi1R;0 ze+s$brw??LJ}9vuB_5a%Fhzox@T>sjz%x^79xw+L0kcY@i}o>KHd_(k6XN>+jPLt> zuFtkP++An$^SIaENje+aR6p!@eX+yo-)Y}@o>>qFRYYnh~d4q!t&fglkZ18 zw{~kh+vYeSOZ3N4&p#)zeGpk6dCW3oO zwS0y<}O}(6Y z!7TMMQ=!UH*Pf-4GeSc}BpPiTC0FnX^RjKQ)cJJE=8yt=L#0s7o>!X|CCsyIo++o! k+$_a@L-)ix77hc3(kPzO{{3z8K$kFhy85}Sb4q9e049g-YXATM diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/pile_of_poo.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/pile_of_poo.png index 9626a3582c6170668c4549747e593d5cfbe2107f..e9e83eda20cc3269a3189e476accea67fb3d3b54 100644 GIT binary patch delta 45 zcmZqUy2~^{W%6m}6C5#~E{-7_GgBweW(g5x+<1-0oAL0>8w^0;>FVdQ&MBb@0B}VQ AdH?_b literal 1286 zcmbVL?{Cy(9B)FF;OU4_Unnv0vAhx4UE8~McWrhfTYGaCcgLl7$qpkMy*|(G%GN%m zeQwu{n5YbJg7Jj}V@w1LkN}AW4H{$2CR1>tWP9O;g7U`j!Z!4CU{K-M;@ zNJj>o*gucD7-rMBRVtHmZa^`y9Wz3kSYW#p%`ja%1J^J|5djrcwVX7&^6d-@ESP2o zr5vAgRaCS3Cp}c0%$Ll`QB#KO&Th~ZD3riP!~lUk=J-mGW}CbU-G|p43z{ZmG|jGx zD(4D7#U27utTSo~i4;i6F+q}3aj^r$d7+czWlj*IyrA&1!V6&SVW~F{jwrg;x8{qU z(rk?oSK+uuqY-N)V%V#4f-K7%ALrunD7A?C6Am$gsN-*IF=)s)J&Blq$dK}{r6aj94BkrIg(HtYDra7@(lZH2y@Sheq= zSVi@aL9kcCc&yb0g&HQCnKv^Iy-A;d4h1ojG&vb2I-zIeX*yq3hGZ z?p*Qi$EUw{%0Hbt!N;XJe`tE2zwqHZm#y+|SLcemU!U1m{QIL%F2P+(%fEkVy>|D{ z+xISfGh7&4{Nc*{!Tme<#GR|N*M9z$3Q=n}{-H|;(euUokNz;%mL5AsaYI?Hrxg4F ze>oC)v#_~s;nrUVR=%S&FP{$<+7=J8TOv0P?>IRd2_^=W>y? z^7^g%fycYw?-yT?pFexH{dQgd0xX`q^G0fG?ycc1fc5%#cX;}K1y1AWdHevDv026jnD*JU&k$ZdzTV!Em_HxR>*be}zXPV5QU$91 Y0pN%Q-N^f1fdBvi07*qoM6N<$g3+rr4FCWD literal 1233 zcmbVLO=#O@7*^J93uPG{^s;paRlT%O`TZnEwxn9gY)N)JYR@<>@mLv=r7wv{q)(B) z)JhJebuMk8?HE0jG4^-aWo)DDQhFHME-m!1?gvU?P{szktlMd)!TKqQ(;h+?6-eKY zp67ku-wUl~ZEW8w`#6ppt4~?&Y|Y-$J?v{M2byeonc7`CP3CCdi7{99NDuS%z?sKw z?0Boow{eN%_MG-RUD|D&&|MPboD7pogNU&?t~8lOj=P8{-^25MXb6AZ{953B&k$ym z25LkmUht>ZVm!Up?6_--uI34o6MQMvnSlUPhfjm0Fws*(*s!a!eRd53zX73(hOp^W zx6$HF5@TM;6+~Cct9((*Ns6Y*;J5_47Fr&x53C8Xy^DS!4(?Sq-U^ieYkiXu-mX8~YLUNyujwogP`ChQK`C z3?YabjcvnWvXv;7GDw{Wq#S}E$l}^SC$x8wT=+BhLAvCHZ)cX&u8Pi$YV=%D#`&VCDC0;}3rH1JmP}dI3M$Iu zp`D%himg;tO|pyQvMEWnR<=#GQZWmtnlH%ZLS@LUhY58;7Z0_4roF|rcIE13j2%ki z4k1g!E@&+fN|FT<@urzoy~rP#@k5XFlcQOgHlwz1?4QP7H6{VSk!RiC!H54B|0dsi z+WY}?3bJN-qIrf_tRu7S_9(E!_Aud)O;F56rTh2bMK)%$trH#lKGcpv{vOo6hw7(L zJ_E*&P`v;X@4;&+lum;BB~%7rT!D!gj$ed{@4&*KFT?S#z+8n=4GJFUQ&4;hw6{Tf z7bb6l`7>1SLiG;VOeDH>rOOtcwwu%c?f!75P96M{Vc)D<(|lsb!jhJM(ff~ua3MV9dfRX-TCDG ue?R;6huIHG>n|Lfx^e8Dc>C4y4%0NB{IkFB`~Cm9d4B8tqvF2kj>RDh#R79$YX@vX zK|jV*I;1!_d-I*{)M}fj(P%8jgFT0^Si>bo%j2|Go}Jx1#pIX@Frm{Zag|?RzbPOJ zT;<3d=!4Xwv*^W=)5GQdh%AqZ9Volc!A|Z-ftZQ{gFHS-GADPHm9Qi4@*P73tT5u( zRn}3B2M54ooB~s8ssz9LeP<7 zBrIr12o6=VK541gZq!vws3lF*YBemY*=Smo z&}9Oq-RyKw$FLfPhfvqH>+PQ1?fIT*^>n{wR@{D)37imGIgh0C6}LbgbS2sGIK_hT z5o0ISBpl3`VA+hN!1Kz^Tj0r2lmu*%JuN%6&fBLvI;BC6vly&O?L?OZQIPOD6<7-d zmzMAvd?=%W<-q(mKRSicYgu!b~eQT diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/see_no_evil.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/see_no_evil.png index 8c24967ce84d07bbbc4580b507144cd6f37ca42a..8ee29a9fb3a08d9a1ac057760c8a3d84dac68ad9 100644 GIT binary patch delta 169 zcmV;a09OCY3!DUyB(uu{TmgTFNkl-QC@N{{NaBAgAsE zNs@pO<6#hg0EVLPh*r=o_Bn~rV%@)IY*tHh>>Og!%6kHX?ky4i<~r~@M2e}I))tW} zsEM3c&7fE0NpSS=>G4mj@v=?{0@<3Xs;2`$5ZG@OMJe@6Ez@OJW#=6>Rp;e;6j2r)Tnd%VTs9{*%Cj@=YXOg$YP9_+&wS% z|NZ{I|J!r^`bUb_-@D#qG8KDknSikx@4B_{>#^Te50?_%)1)`ZVLi#Jz~tiP5J0>l z8vy~p@}2Q1P-!x)O$fmzy~$TcbFye*4I4{JR3O@9s@#%NSS|*1Bm^RYsvvC-AtX*XFr2~&n;9o)oT708S$yb1y4>is_P1kVaa6DlC)Z6HG&ZoMPWFJk)#<~n6*wxXH#ZLD=jcEK;u+F(FIvT z3`RC2cj!(ODqRXeRD8Y_Vo6(06igYGVikFDJDJj4~}n%>Y$M z0KP_*MPxD0w6KbXe;5A}p8v1;!=Nb4XqJC8PvHu7q_JHY1$bB)CLqBHQsJlwt~dJO znEmdr3wp+cz`|?0`1|gDUvEA4f;!zJoO?b#)7QRmIQvnAnLpH<)0+>s`c84xbFXyI z_UqF<(XqCMxdUCJU3@P7_}oy}5iSl z8R7g;I;XWvba7{U+s>pz)7iH3gXyVEli=#J$x66)(ZO5*Cutq4#lw2w<`{9o4 ziF_k-ar@_0rG1xuzsw;sPTFCH!X^3`n1;OLqn(-pns Vk9%Iq{|cp0Dy7(yP1KQ@9u}y%_F*{6rXm)%D(LWo78FEKMDPV1bAs!hw7t#`Ma4k!yyW-$ z|NgIgIp++MOtQ@>Jl?t z##KPC)jr~Z&XH{180j}8lWJW@wv=UTzy?Ss%l3fd%jGyVWmm@g;F_h#DG2J1Q`1g$ zXF5m)dVmy}2yO787#WoqUX)@&cnv9Ve1zpBmJib$FLRR2@#M@yVKvVz$~iSPqlHg# zsuv+wX4z7y#FRn|^m(5Qfp2)0i!A7nfknLl2T`2D zo=%5gyP3?aVaK0I6iyji)?JooIM%jihh4ztfDZ>f1J|S2SRv!w zy^arSn`{LGEGOV0?!%(X3B#$IhAMGn!|_p zi+`GLerWz!>=YX`%Nxy8xxyV8Y-dLSA7+OMICz3QJSx>M79GW7R_sXUlap67#U%0M zSM~49+Uq~kFE4Aie~?dYUvYd}!#`siUR~Mn?0oXaubVC&WX|nv{>J!pbpPrzI~$*0 zNWC1>9{jw%uYKOllhKJY@?V$Qj}F%#DJ|Re)#880)5o?oJRVgZolD#}7Qs?Wzn?dP z7YgOFos;i+h}!Fywqo>`n%b5xPYmqcxab16P&qu5ULLwTd0@3V(R8ihyCaFQ6CXGB z- XRaYxMtf_9^bn1Bhj;8u6*7`fU)06UP@>)z>KzCE*LH_8t1| ei@Os1XgT; diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/slight_smile.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/slight_smile.png index 7fe967d03368e540b42e7ed43bd4ec5827d5af48..d39cf23163eaff2aaed66aa64b401ebc2852832c 100644 GIT binary patch delta 114 zcmV-&0FD3U39|x_B$LYnsAp11L_t&t9R`5)0I@t$q)6{5sJH))B&tA_0#E`# zVzK+=<3g|*zD$QD;4%D|KgWR48v6+V09gHw++Y6?r{nGLeLa)lZ##n&fKmmj-a`Kd UxKUVt^#A|>07*qoM6N<$g4fwGb^rhX literal 1253 zcmbVMTWHi+7!EDUTCB35tW}U06_hpCxizulSd$q$(u`$hu!E>HlblSmo#e#i)S0P> zBEBdn!m{|Hh`Oj05p~&BsG{|u;N?Y8min|P=!594?n_0~P_9wzU$-0?nxH zz6aU}qH&LvFQ9_jDe2H=v_OZc+Ac;DL|dZjYI+|)WD%4sCrMj^s}NpC3LGD0Ig#bVG{;MvC~-VFy(rA)8K#s~Qqx@c6sLL- zawV3nR4Pm*#6Yja@}elRoWKeKjWuY$<{+&~JO0YL1qJxJXSv9N4jEX~im)HWDeUP~ z2)3)LGlm_1I#D=fY*lkvp5a*A4&s{B_E8pma${C)KVNeJn*~1X_jFtjb7dWjbN6MU zKoNT*ZS^c%6s@d4z2627N-J>+e_;&EkOV`B@tjtqO@RkAh=p5eQH+Q*2!mowi~=*l znRPp};iF+i4yW3MSXhvGJ}HWd!YPUzl0$q*P6?4ZHtqOGb97MWwlMcJmj5DFl0Bdy z=;a|S*Snyr7b58QLYI`~pz1MlO}FJ3u;Q-`$}|B9aMA4ayky`{Xlsf<79e0L``Hj+M5TmJq|>dE=o%ilH*9smB1tMNzYqOXVK+P0>P z`&W!VP{&5L{B=9|qy3$mnKS-S9sY^gy>;%hOVSS=4WonNy_3TG;mt38NnpZn|1m#c zu?l4~xrzT?L}6WX@Ne0fR@(E`XXRtv3l4De zU4u&&u6eTP<%XVLxn=2jJC2O?{M<5J3?0rNy*qsRx!O}$`1j)erzdj1yA4-L%U|sq ey192(!+c`X#M~RV8qdDKL_|87Q7&)lIrtII(7Mh5 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/smile.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/smile.png index 547d0c1af61f249a1c16bf5ba0fb67ebdf794b93..557bdb8f129a33d987ee41eaadcd78ce255e3dbb 100644 GIT binary patch delta 130 zcmV-|0Db?d3jYF-B$LYn3lVm? kXbhsTEe(=2COB$_Lu~NDXaZgzG#KOMK|IrTs}BuPPcrkL z%m4lV_uqDA()TT2*0v18u;s~KH5ll>?$Ygb15;F==vSrs@G zCFV%wQyE-wT!8bT2&pq+5f`Ko!%HH|-Gj3<6QO8{VmOj!WLlDG2A^L9^5z;vIji=} z`$DHEF$iHUPr@%3OwC4%g}UeJg}%0 zoC=H*i0NDiRymbgFl>ACi9#u(e636|A)2zRAg)<$4`#vNG#1tNawBCxWr62ZTpiV; z*wFx^++E*MporMW8(k9>MJuU}Ua^1;lWLSeFCoJ;WR_=nO%OFw<5`L102d)eK@dq+ zWQBqd7Q#k^YuH%~FQ`&NjB}j8u?oW^BvFj;i3q1EoDz@6BTNIEv^}WVI%xPdk?(nI z__|nGae)RMH|IE|Mi*oT9q4$2P8nB}py~p?c9UrvPR&~vlxZ$%6}V;<7(K3I;j?*` z%|$r;yZGnu#{bP9g-B6Bv;3oZ8dsT43vz6}2EyQcP?%GvV>yNho`cCrDX!|d3^`1KNbai%Pd)t6i`=D2`P~WH&D}cTwLRl? zA$B`fbo_us7-rM`*Z%XuhWEWWhTy0};yM5G0^QtvV=ERuP+Gdb>0Fb0!M`o`acpAC zL-)s4oxfQxd{fNK?4G&d=M%8*=T2Y#ZTnPbYL&G@c`(kWk4eu>-ZFiVedCYKt+(%4 t9gnRkweNoE?K`LI*l^47dz+eX!gh|ev~Ion*b~ShmQ1A8m%AU?`WN3W+!+7> diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/smiling_imp.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/smiling_imp.png index 988f863b67fe66c11e186488baa644092ad40e5d..63794794d3af682cc2553f0af9e1429b94425a54 100644 GIT binary patch delta 115 zcmV-(0F3|Q39tf?B$LYnq-aw~L_t&t9R9Ib%L4T?{-D-aXHua&YH$WL$WoRLcKfInqSj^Y^c6lKZKHc|RNF)hJl0Qr2 V1z%J?s$l>C002ovPDHLkV1mHID;fX* literal 1250 zcmbVLTWHi+7>d>R@NuosK%iYbH6^86)P$#;uR4UMXiF0h=}aI`6&3fFDu=XPN(`%R175NlJEP!|2o)` zS~06`ZXH1ovl1)Sw7>dq?R5N&i*r(V`3c3ds1@c>Npk_wXuupG6PDHv(m*r1wvK`Z zf|$O|%w$nE*(B@GVl*Galr0Cd38G5Y(Yi6{oVv7BU81 zK#EL=*7-n$3`-0zN)aKrgcLYF#BvhL2WgI%IZ5Vta^j(|nrr0cw7Psk3!fCKfRH1z zY^hXYN&yDC?JO@z63Yp!AkY{=dtElt%Czm(S1qW((_Pa+CbUW4qLzc5NTIN&l@Kf^ znVd9idlQMmDPzl;!}1KrT9zNzINC#L@X3uS(O#y@0c;w0u+!CXJ@WNcGS1zXg?u3P zMs9XZTokRSLcP-hHcF@ph5s;yX~^M-Vem#IM+ZSfqa{8VqNQLS&_O{IL%BQ%>zY`# zGbKM7h=#&}KsYGGcs?#g8+j=j5rwFzsv%Y7s@#O_AS!vt(RK`tJZ!}r>r;W0B?nlkaTzrQ)L_r+>yV8FaO z-1F#wb@N#7Q!_bybmwTBa$t?T@2@@2huqs8%}0ASpWk1+-nIVBpmk$IH8l~em(_8FH>55DTvFaFu@tM%R=>A_1qN~c=K zzWNaPMY|7U_{N0Vm?^(SLv26YC2Q4R&;9f74tR5H{%?hs?1H}GA8V%(v+vd2uG!o7 z{?+1`@`3$1@T3mCo@r+v&pWjK|?lAX18wphubfXj* zrI7fN5I;h&Jlr5@g5Wut$3QEo_JMA0Qi$2@7soZJ;bw59{5W4~WGu|KB{%28!t_;f zb3kCBcWUI#5dsVCPSMQ~(%4o}6y2>ZVgKF}t_n>A5BG@x000019KSj#rEC(}9Ic?9H`=|hdrNak?nsNcQ%lG~C&QzJ}v!!EN3OR^2Hm}(XPp4R1F zkOi_@eti){Fl@tqE!PdZrFKCvbxQUyl&f2ajbV{Jt|cq|0OAGEs~J(^?#v|u*VHJn zmy;ODN`OACZO8^)Lz$d1)UWU=vF8Om;tEKB4xo&?`hejGZj@M-E1*0_JgbmE39)354;0A)#}rAx zaSRWbV1Q*pRXOYNLt!rDXZTPk;7_n@l8>`&C>3VoEFVuLQ~p?$n>HLM8w#lE){yR1 zZt$U8Az=d<(?vT-SJ6SdiRM|&>$ zU`gsZbLaMgK70A-;+5gsQ_<0a@1r-KyLC-Je{AO|g}HyVZK1*(w;IkKYW{mkx_If> zsjl$%laaf#$>|b%t~2r5mDZ1o-0$=0iHbTiw(Igc@uh=3Pn4fxS6>!+WdBX)%^_zbh~`kJb9HmWhG7@tV0BI~Hk@ z-m0w)KJOcwYkT$JQ#+`oh3z#b=D!8}zQ(V(Ez`LdPoK;+-EVL=4#Gd?-fOJ<`1Scp zL#1IN!Yi-UU4MLj^EX?6!0xr&6D*~?CkKb Oo;T@aMx2c2hyMYtwCK+O diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/stuck_out_tongue.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/stuck_out_tongue.png index 3e650a63e6840075b938c930a4611912f4c12c1e..92843ef1e9c53914ceab8cbff1fab82952b60bcb 100644 GIT binary patch delta 130 zcmV-|0Db?W3hx4tB$LYn)OTV@L_t&t9RgQ4`k3Nww kE3MKXktEkn8J&{k3mpsz*%DfaPXGV_07*qoM6N<$f&xr6^Z)<= literal 1314 zcmbVLTWs4@7fd#D83R4zhmS*HmmO@I)BJ%B(HATFC$5Su`39Jfu`Lp2SK zWdG;#fB*mew|#?!%-S`#uc0VvZMI)61~T|M+Q~l^Syv!p15OR&A!Ohta3Ph@Q5n)% z3shhc0)6a>k6NYv)K$a#Sn5UoFL0G$A`Iam?avlH)dntv$ogWvY@E$fg5} zpo|(g&Jd=HAy`g6ziim{mJ&r$#`(bEgb>eJRuI>Mwug)GUm7cFd!;c4az*H&hO3c! z7~L%}$=&rG1&V}?vfVXFQ9xZqTEl`i&Z=>Syo7X9S9lGGnjz|}VMrQl012|P!D}qg zV=@qFb5k_7WIdn1^R6R;>+F{x{YI>W4GA%}}Lf704^|XsDdLhq> zxdMk9i+>TX|KI#^gcKJv%Qel@x*{DJY?nuY9F~U(+GK)UGAhUJdio18X3r1iN~x=- zb3cyQFmuOu>drq;4ZPCWa^8o>CZuz@^3U(3&o_*BUWmNCPnw_UKl9M8ucs2f)Xe=u z@}9@nP@uj%5I zk8@|ektZMR{`AANAuyyVaR(e^Gg(KS); moTm2NciS6JG0(Pjj#78tvihs-KXv>{JX6_JL7nOw-TMzezTP?j diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/stuck_out_tongue_closed_eyes.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/stuck_out_tongue_closed_eyes.png index a92049bb60ad19c5260cf18fac1aeff8a3bbbd1d..380ab6b8e09cccef965393f24ded58d7794a7e3e 100644 GIT binary patch delta 142 zcmV;90CE4o3XTJiB$LYn=zncVL_t&t9Yw)K5(6<11i>0<$;`~m*#G~VrGsNLQ9z^s zi9ZQZ5~3vF-d_Rf)e~jjc}DZ%K#=rajWyY$yGw!EazXT|4hY`vxxJk_ZU%^B(X!k& w;{+j?UM#oo9)tvEn^+wr6f`R~Y%BNysc#F4Kq~yz00000NkvXXt^-0~f~UJZApigX literal 1344 zcmbVLU2GIp6rNIDYYPbvJV-ThG7Sk!x;sC+)7cqzTic!O?%?jyY!})p80P2hcCtHj zr!&*;v=4-ssIe-L@?wIC1%k$ykOK8TsKqLRpwal$m>7`<6#@iIG#bS_ZMXW+5cOte z&b@cecg}bIp6$!0*EP2`V;Hth%7_JD`fpPs`li?oc_cQvsX@0NmfV_b1FTzv3cw{p zE`tJ)wegYjAdX>;V|sDW9n56~6&hjL*9m)uh0qul@A52JtpFESKv_2v#EthpAaGqv z5Cd$E%2`P;tY;={&_9tcsuLBJ*NCo8Jnjj|fB{??_l&CP2ws9%v@4*!e@znjqKaEd z5KE*6bA5Oc+5l(69U+yD#Bh!e(<~ojqU|_C(H$hklXNsh(E`N_6pb%00(rBwl28zP zmwlmAf*5vPOCZTwtro6D!q6_0G|%%S#gGgWLK-1w+;n9xWIAni3nFk-Ten;tnz(OK zR^X_cAQ01~5DY7qTQO`p%ZWlMBR$z7=`ckah9B3Ww&NDS-!xX$c8cQ`APc~Oqqd6b zQEID$QSR>U$X7&cgzdJDiXvA zXW1WyOpt!?_+IjtdFkrAy+6H^x-336WdyH}mcBaP`Rm8qu6y9zVd0On`PoA5_qPhK z?(8`{)_w?XnRzC1^ZoR-ihgE_+q=&p+_pEKkCvr}Zk$P9IuifxWY3k^x?Cx*7Zy`Q}_9e=T(KTrvN{YvN0bD3{7 z1reMs2WTXsZXw@)=f5xP(E$P=yeEm>MQ=f&0&4>6vB-3_>E(vG2K!5I?OK7j^~ltY z=Qg&V{p8~OMLhh`k><-YO;>Mkp=N$;4xU~!{*8TV&!(q$9mOx~leSBb?>;ECR`<8w z*VVT5*wK4h<^#bT{zc~A>ca)!HRlkEIABsL KFP`Yx^WF0` o*E)hRFh2M84ZzscY#hiOepI3fRG7yJE&u=k07*qoM6N<$g5ZQb_W%F@ literal 1311 zcmbVLTWs4@7c6xQvPc59z= z2GS+E*vnj-KO6*wXj ztE8%>K3wqvfTxo@X)-AR&xlDTEeb667|zlRPthX9a3sx0v?$RGzP1SDEwJiRMJ=xR zLMNFRhR~NNs@ZHNo2jH13{i|IiWJRKEK4E{G8}WE5s_}#*|MO5&Ia*RF8UR z3ygAiXGgIjVj~?4Y*ZAZp?c=116-)7GJ#%_mTgHUU^8N>ZjqdjHb|4_>ZF+Fc@mf= zD+oNBN%3sU&PI5?ATq3?6f+#FFib%d)I49zq{Y0*a%#7lYGE}ugobN^mTw#RUc(md zh?SH87|;uJ&ug^0pl{fNUO4RexT3^W&)|CpY}fLd;l8*`t5K^Uu#W(%7;b&AAahfcn0qJcuIlw z?DBlicb{rMeW9H{seJb8BfP+!fL+r^bBN2_J;iP$NLVTN-~JB^J9l&2Ed&fTHLpk4 zYhSl*+I%0DdbhFVowmzuK?0thoe@5N>D-Myvx}oUbuN)eEKgUD@9Es#{sK2u8T@h6 zsgH6?zviAkcKp!9$tSnH|JK0t?w*dx4M^x@J4g zA&B4~;L*G2bq5cE7ZJRwAb6a35d0JLrCq0oGQ>dgeczYw=kxvjq}jMJH+yLo05Dgp z8m&~O@A(<_HI<7ECg!Qxrt73j2X=%($t4{OYregOTiAB@9=ylP0L<)qR-3l#YnnrR z!A@<2#19!7faR4Ww4H5CVFzz{fzJJW{f2{{t8*Jl9o54!?s?Vy2(RxqEN6e)QC)83 z8eC2^M&M&=!^GbSVlC0RA+N^H>9xqgp$XmAxlvHv? zt58N#UPP)W<#;4%NY#)8PackWi`=f(GAbv&n5J_*N<&Q)2ZMny$OT>LVNA4+t-TP7EgX}6G$JkmBQ#)|**teJZ9%0Qhv06F8HYJfo$j*2Qnms~E+#?|@m(#8n;L?T{ zxMUDtN!v8a+Q5;wi`_~@d^oJL=1q#>pYk8!-T$qh$bu5nVfkx###d}2)8pwXFy(Za zaKJVwVyj}_|5jydmT9h8=Dn9c*m24`S7KtCwi@fd!0{2f$uzZQl&s`SXY09{vWaXGg~X diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/thinking.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/thinking.png index 6be3b18d7fd93e22faa11df3f0a7c3a3f2a8bdba..309caf9c8be80a698568d4f2a167c70af7562115 100644 GIT binary patch delta 162 zcmV;T0A2s-d;9{BBmt9?96FZ_V6D+z0000nbW%=JlQBIjlR!NMlUzLrd}m2SK~xAG z1;GVE0#E=zv3<&Jv0JghcmLD5semfw_3>dFO5FTTHz48r$l?9px!`iW%i9uQ|B16H zVCw|{R@a{=&vzh>KQ4BDu4W{sW3l*p-l|Ln^PcMv_) Q&j0`b07*qoM6N<$f;*Z>6aWAK literal 15849 zcmeI3c~BEs9>;sis;yaPX8%~HYNobocVg6?b=T0{IY}FWkOV;qBA|dLO?L-cl5|WO z2zcK&-WT4tc;6`AqKM#yx8i*tc!0MeY$6JI5h<60^JUrNTFCsB9%nj1Eeqa9+XOGGC&%uG9zY(fl8)BGo4g) zW<(5;nL=nuX`sHP&W&*aY!r)2+%~J-g}DQyp12ri^Tn`K;*qc^0n#8op(M^6DKRik zN}}>p%Lr8AFVSfIP?gqSuIwO@Bd8iiv@oiaAt;7uF$9&=K2m*4&eAza3l?PzsZGcI z3y>zWtOJAL^z?MUbcG+|OoCCZRtqC?ST2`w3Yjaz&f;#F-PNWhh&PUrauH72!P1Of z!pFrEnN&7FD&-T^J+=L^In3s|RCZS_J&q&n#vL%~hrl))+?c0}jiTxs*{G*0Cc{C& zQIv~GbrKXOZ_{`nQySO0+TJ!JkSUF_vyF!0#_ZdH8p}@-bv}+%r_}?RBw)%)*|L>-rcsgpG8Lk<$ovUXDN}0*6@e&81+G@;;3mV= z&#Kx~jigWqhp07(QLa(S4Jc~TY7vtm$e;-J4-O7iYE2q%c)+zm*f6_`#q9)D+j5#~ zxl)-(q6lS?k#Y+z(~?SmS)xTl$Pf!6M@W@iAt#jH(13e`&_>Ehr%_~xld*Xgj01PN zD1Pz=NWHVSZiUrS^-O<^ZrG;g(QM#e-zF}BuBMv&f5)nUdwp~-4xq~oCrc>pVi{)! zP{B8f-%6sXfnS$;E39-g$<^`WRy~Fj{3fM$;T(M(>|%kk`X<+S@QG>!jX-bSL}=jN zbdL07%C6^jZLJJZ$xt*#F2|H8hARGp$T0-*Hr1nQI*5z0u<5vy3QFP@oWACmi1h9n z5`%$17BrH7#nN_?Nq4pPM*Z5Y>F`7{Zcm~}J?wS#7Wlg8V1DSV^w%R-Q~LFQdS^$& z3Ba#y%;2POZeqkRjI}x4@pY+hSA8_fh_e((8dYO*6qBpHr0aszD1Bm>8IrbS_{Q)Z zEj|XI^o_xt=OoVJ&58nQfjA_ASs14cXZ5rVPoiLlJxK@G7Xr$sLSi|f7) zZmbya;!gyA59cNl?pZRZ4sKB9tB>P1FKentuaP6%1Ec(Rtt(jV>l*)USFqaGwcfLb zoo4yIc^c|d40!R!Rt=13?p2M_t5qt6N(cKE`+7vuZps>Gq`A|~#cv`gcSw1Bd@CAt zjBm;jsHkHf`~wYhzq14Xp6W65rF~`7f3_U7I6t80tF&2kcOZw;u1sz3PfBW4MF>x zxLVdK{ob2N3p~$`?ytGvN9lN1d`2ms4nVSRTN&futUY{Hdk^2E9SI)mKTy5 zBgvbl-Z4p8S=e=HhOF{HaOsAiw4RbryL9hXz!fv3yR%f~(OArE!PJWMdfn2LZMJ9l`54=tyXI^8h?L(?xH4!VI4bm)ai5q0ReiwJ}@w_Q>RWr zK|$P=H-o`oG#X7NQ%Fci=gyr&Lqo&D!n$X@bGZ6*&GoO(XCsz$jHd<-MdFc zMMXzP$Hc_+=+UER&z`Zdv2k&6@$vD!diCnvyLX>Hefsw8+pk~0{{8zWBqZQCo|u?O z5Cln*6h&DqmZYSl-Mn>2$hWE|z6eQ&ZE@ z(zxrUZnrxlBO^02bI_ncg9i^DGGxfmp+koa8#a9S@DU?Mj2t;~)TmLTM~@yeX3W^J zW5*0Z)TvXaO`A4-`t%tyX3U&9bJna`vuDqq zGiT1+xpU{un>T;{{Os)P1q&7|T)1%2qD6}rFJ7`_$KR!V@P>6crT}7Z;yAdGge$Q>Ra#K6B>G*|TR$N=nY1J9qy4`3n~= zT)cSk(xpq6FJHcL<;vBoSFc^WR$5wm{rdGAH*Va#dGpq-TeolDzH{f!-Me@1-Me@H z{{06J9z1;b@X@13j~_pN^5n_Wr%#_fdsbFf_Wb$t7cXACeEIU#t5@aab#?Wt?1HEKoMWRRqPf5S z(*ymM9nqR|c7z#&V%*olvs8c0?*z4oU5#Mje>skSsZMSGV&dA;l9OGo{0S;8co_3M zdjz_n-;>`j{ObPkF>|ohkI1mxJGyqO_l}cKIqP3Bw|Lt>{;n>`f2B?d_$A(v)#K;) vDZhV5Y;N~<+irVUQLFFIbZDPz`>cV=ihoFNT^Loy<%Ysc5ynly2_ydt0i{2s diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/thumbsdown.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/thumbsdown.png index 674b5dd6592c1e3428ca38a76238cbe449963a49..570187cf73bbdd6fd18284861f459945c9f97ff4 100644 GIT binary patch delta 116 zcmV-)0E_>}37rCvB$LYnkZDv&L_t&tTaC>(0)QX@L(x#B*n7+Uujv5jYNovDg9HGC zDaJKj0QcqnSya_p>;97vVlNstV@%U#xkXATMb>;+YsU_$;FMAU0QpwPET(}Zf9U}w Wl?YY&-N~T<0000!EHBU;FLRR2@#OqNVQa3@Dd&{rye)i+Qr!qS zGRu}qC8iW)pxedrk|eQQfDHs_jG(=K8);?Q_8Mvm3h;E-bdU*c(pS_vU>}N7*weWX zEJsxrgl%s=Q8;C6S#wyP;aJP^sH$>3uh7K8z`&AdoZLOwlz>@c~U#7XJ72ukOfRS{eMb73~HW%^X+v1<& z8{eBh7CXiI&GJ?A)UI$x`rCz3z=wrl0ydr?7mvyym|la&Y=1UgNK{|9f4o(g{D1F< zYuTycTxFy<^Rlfv+CKBDt@3c+)Np?MlKTF9diq}L=IF!Q2q{6f0& zXy3cDzm1(~9>19Wc)R7pwLO&w#p#ja_+=H#|0kVXj+ad+m&sR`dWg5{HnwAAYf6a~ z%A?00iOUXitLpBYS(`ijpJskoPHa83qGjjkuYY0_L@JR{t~MP! F@)-sMvlajV diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/thumbsup.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/thumbsup.png index e52f8364ff61260b46b4083b7e73098b814d8c95..610c3ee9762a5a07488ba2918701f642c438241c 100644 GIT binary patch delta 113 zcmV-%0FM8{36=toB$LYnjAl_uL_t&tTV>5R0)Q|K1i_O7HaX|}|2rv=8rW{C1xbP$ zND{`s@RbrTav`$8su}>eRl_MF<*MqEbMA<$+=mcqs;w TF{N1{00000NkvXXu0mjfRShmU literal 1218 zcmbVLNodqi7!K$`iVJ8FEs7z%D4I!LnpqM$md<3fqt0|TJ5#mAO!C^sHhD35b*4o@ zdJuZ^=s{6DxE!kD0)n7;P!v=U5x0vTL{P+vZK+jTU)oOfP>L8x-jeV8{(Uf&+`g=; zri!AdW$`8@Zl0mxT$u+3{>^LgAZXnMJ+mH z}5Yt82X;@+A%dI;MZRlYp?@#avI|{purhW%z z`;$4Xzgv@ZreP~xUzUl039(9-%^u5@%VB0(S0;P!nq%l`2<{FuGfou}DLRTANc(*O zRs(e*Iw<*oUkVB07Fyszfa4_&h%66eUXpo0&pr&X=I9-AM%gxNi=4tt7sj^Caivnp zSE}ZAC$WuI3mvHjqVoifR${;xI!zoe9CT6Nx!t z%biUWNf}pGZ4UT&&NRKarqM3Wz&~!xi*|E;HsmtUMZJzj>d{eKA(PxKY{&x=Z{%jj zAVpDo6r}Z<(86&g%#c4m-Oy!G6nP!$0aok?KsLmS0k#N&fE7iZ_p3qOAFR_VI`i=r zMF1f_77U7l0zgcPfSAw-B9X?35)vXoe}x;jT&!9etk^b)?OASML9QHipo)=`L#U_H z1*tBCk=uoAIvVw=9;7$s4NFHQcavA9nWz=$7>A&~%|RwTooCsY$A^E5e}=FBZ~i#q z6z4U|U(HjwA|2^%=SG1X=7tGcWP%(rD#s?%)nv@_sa?6))SLE^%c;p1Z4>wNqgT`4 z@9rMEnfZ1xG4;BACr2x@!Ppy&-Q*jvvcxg+t`it#J&8;Q1jQbJ4dgl z$8KhaPwn{ieBbcN_|&VmpHKD>?QG2vlPv3TCYhaD;GtTNeKlVCveJmBm}SE14n;bLkL(_o#!_2z0m4~`E3#H=F%_l0{X;P}~!Z<@XR zQ+NG2OCQGo!j&t>*%XJal~BR_`zEPK%t}ILW;?ECW?%BINsi1+A2Jj75EwF5h?)QZ N002ovPDHLkV1k54MTh_Z literal 1433 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D72XiEBhjaDG}zd16s2gJVj5QmTSy zZen_BP-lO)W`O zsL0L9E4HezRRWu91!RMS^_3LBN=mYAl^~9a@C{IK&M!(;Fx4~DO*S;PP%yXDGc>id zFf!3mFfuSS(>JixH#E^TFtjqTv@$SMfC43;ZAB?*RzWUqP`iLUTcwPWk^(Dz{qpj1 zy>er{{GxPyLrY6beFGzXBO_g)3fZE`@j@x4_pIZg5^PG@yV%reBd*pl_&Wpr4xy@)uZjaY;}r!Wmdq7l%|9r0NHy z7U!21B?IFlO&O*c7&4a6BsFpIWGChrManjC7v#}NH1jlF^AwXLBXbK=1B)bMm^s+=JDZzWn!A}hnwuC~8XCG< zI=VUsjz%x^79xw+L0kcZj%J=-hY<4xkC&cyt8Q+I5 z-oD!D^y`H8uM4T454rz2<@4~x>rc04J$dsKhR(tDtJEn%yz$l=%L}wOY>BKfqx0T|gq#`;sEiK@6U*elF{r5}E-07(yBV diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/unamused.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/unamused.png index 342dd80e79b03c82f84b7d81a1017c951daa88df..5dd59bcc018d168c5564d5098300c87146572680 100644 GIT binary patch delta 134 zcmV;10D1qEf8YX;Bmsw$);o&?Z9;4tliof&a9c@4K~xA^W6%Kt1`q%3`=Kufz07*qoM6N<$f?o$Rs{jB1 literal 16276 zcmeI3cT5{u9>*tIX_aHO(du@u=x(L6ynC11yR*mRZpT1~Z2}1<1V{oYB*V-YCfFXw z9>9>^6Vgc|3F*Cel8~N|0wKNk-g_gBz`e0Cb{=MgR{O{4G$XnE-uL}}zc-&(|9PVm z;@f^3_LndOLB5TRF(q=p+^6|h;M=VFAs+nv&KZ;HMv!m5=RVDlnZC#a1ehDeVSC$cD3lul*Pj&Skw?YqSynhY0rQCVabr;*B}WAa^8 zQht0gk)K8ANO5FDn8Bk50qhiui#&Fl!>#v(i@kC6;6GQ4ibdWkY*x59ic2U;u_TC$ zjEfSfq-qI)DYPPuPKv2?TDkH+BDoAxqcRpL{|5aZHq(aM4bd zW*j0eE}qV0v*BVfm#F@!doR1wVyRE%aM#fT98nMML@}uhwcF89o^Cdg3N$jLr#m^% zNui09o5^+&6sZ1F=s@Ni(7L*}Z9*V(4&`7&h5~)YA1G9QlBoA_X1i=&&?JFUHp&k2 zxB&w!Bmie7!!qtnrjeBOvKL~g#4K%X1R$q0>PC6!M%*~X=jI(#zOFU^C>D#pgNp{k zAGetpBAa`!SW^TLq$Ex1Woo$&Bdjusme5)ylu}7baJhz%C^0pulxr2F+Nv<1jfM$~ zs=8DmQYe*Xlg1RS(kK-=3^VJZ+89+@oknZY%4J5(DD#I8a%~Vc*5PJx2SL@foCYl? zC=8RS(ybCDr6MItwUUygtJNxr!ir((l#)s(beKPMkb8sBCdx(UP-L`=v3n~2Os#I!H zqLb@L38qmJ5*?-1N@QA`)Tsz8U8zy~;|IAno+CGtazubtTPKmJB$zxItlDy=9+UrD zCfCcraP_ssTdVOPZpO;y;w~yG15CIG-!_rpUo}KVBeyMRME~qUJ4hzi{fj^9mu`)R zCo*wI21Q1oen)=+>|#KoQnQ=-Eiu1 ztFqqcqHr*!lNrX=lz|Al1aJqUQ6`+FzL+C2y-cf@Y5b(?gZOGfF)R#8Tk{&k@XoV9 zZ*eh#YQizVNsPojuRk3B8qZ*>N_4w&NKT>U3ln&_H2O&H5c(Z)9wY3p5M7 zz5xwY9OT9A<=pNImH^zl*nu6XK^a^>h1+&)+1~mZxePog#(meh2FtK(D!*&647&zA zJ2_~UdpB=Gq2eGf?!e)LkpvFeRD@ckQm70lTnu|8&>qT`Vxqx0#LX@L7&u;dePAJ^ zV`^iLK|-CQZ=wVphrKJHuM`}%!8sqTKj=4D9P788-||o3jeg6hP%I${1ccudaPjkj zQ~?(Rgx?f!@$-RH0T%>>-xP51^MO>-xP51^MO> z-xP51^MO>-xP51^MO>-xP51^MO%MO@7h%j}#VC-(ls`Q^If z3sgtvDN85(t8%WQtOzZje*boV%y9g>WAl}Rd$f49C;H`{=*z2G?VTz;y;$>fhiU8h zUp5xBtf{n|SfJWCy5(fsAKxF0J+(;vsl5HYlGfGb?HBg_+mN&tFLs+Bml{F4B@&5L zDn(HgT&2J;OfHuz6bhwMsRDP$)M|}Jqt$A`6OwBgTW9U9v%@95g8fTx^?TQ zsHiq=+8B*SlgVT@o1>$n+qP{R6B82~8{4j3yY}td$Hm22ESC8A_zoR9BqSts?AS3e zF)=AADLFa0Q>RXyJ9qBVrAtamN@{9q*REZ=b?er>d-onadZeYL_3YWRSFc_;j;E)m z69hq$Bt=nHt2HAdBQrCTrs>|jduL^3*=#nu-R^KW7>02=oqhWBak*S>x0_|z?Ck8E zoE&gb*yHi!<>lq)=lAW~w_m@0{rmSHFkryIfddB(8Z>zD;2}eX3>`Xj*sx*4hYuey zV#LUiBS(!IHG1^uf`WoEW5$dfJ9gZ-apT92pD|;BXU&>bTwFYR_Ut)x=FFWtciy~t^XJcBuwcQ$g$oxgTC{la z;w4L#EM2;E*|KHJmoHzjV#UgpD_5;rwR-jHHEY(aUAuPOx^?T>&J9q8cwR`vOJ$v@--Me?+zJ2@m?=LGW zJ8Po6w|`t;eeXV0HMfAQkQ%a<=-y?XWf z_3Jlp-n@PLwyLV?-Me@1-@pIx;lsy|A3uHiR9#*D`Sa(Rnwr|$+E-}T)!g`F6XTPB z+2jXV{QR5Gz!6+}jY{@hvW+hf8=CNgaY9KN@ l!M(pOMT>X+II!kx!-HKZ1lvtU2DarcJLQ{{@^TtGxgK diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/wink.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/wink.png index def8b2775ac1aeab2a233be49dede62fc7813ce0..b56b3cd5e0a90d0d6b41b9cd16a1bc056535a737 100644 GIT binary patch delta 124 zcmV-?0E7RR3gH5fB$LYn%yC>vL_t&t9R0rRqJZflUnnR)b4<06{TtTu+EV(K|vU e01`<8lH?C=+zCS+#@!qM0000A8n+QzJ6372yHs^Quk40X7=?GZFZC3@-}G)54n%V@}QlFYeNQw(jHNoHp} zC*(X04O@NVJ{la)7me`|1DH(DRyt8vi2)m7NZ0ME6R7nhGjCTV`|z4)=y?@9l4KT0 zm2v~L=K6?^bKR^VMip8HoEQg+6uX(01hJbJ058T^K~x2x3L?F@7~;)0D{4W{Eczm+ zBr}Y$r}BKQR^w_>&h>|Q5dgpo5-&+C(O`pygJGR@g3hJ|9R-GOdDwCtI_LB>$cVj)tVg?3Km_r06PtAc3>^bCeOtu$A{Ja0t7<-i z*!7F9TWxm1z_5$mVA%C&O$)0o)0=i$j_KBduCPoCQR~RJ#*mruU7McIvuZ8F;orr- zfH(hd{&+%)51Zv5&C|Rh9T{$yMu8lbh6y=jf_yS6;Mv)|WXv8I=r5)(y`TH>lvYVo zzr3y=yZ^?|UR1w0nm9j|`Sp#=*_YI(#;%z@z)jvme|IwV$ISL4dppk@mcM_k_k%;R z1Md1=`4!LIeci>`{%=pF{+#VUKb3y#G5)T;*5BW`?aP-FUmf52$qULW`!`*9J8Si| z9;{va+nbq*#>Tmc_{Wp-tB-U&fA95QpV&4rzL9VlL0hJYU~wTocT&eUVM!1k61rxzDz#elXH!3Gqic@e b($X5CoX=NlAC~Sb61P+~o!5`{-nr*5kDk$y diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/yum.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/yum.png index 29d1bf7761cae8471154e0c3f0f4c8e2c374a225..21bdb0a00f2f4734c1c331318728472d65b2b45a 100644 GIT binary patch delta 131 zcmV-}0DS+Z3iJYyB$LYn*mz?}L_t&t9RwVb{W-_vlA>uDAEE+oF_6 ln9RSM!)_^&Byc{Jk~bn$32bkh2y6fV002ovPDHLkV1hn&ICcO4 literal 1318 zcmbVLZ*0_L81Fa(jJV{`1=%F5>7oI&*Y>XWr{!*JckSSGJ;$xU1;5a1-`h32_APD4 z^`KL|uZ!s0#|lg+o=Zu(&%>YKFB z`{(&R&+qwnyg#?IWnKF^48vNoyM(+i{cmjm{l#c&4v98bEVu)(4I!-b)b+c6qe-uPFjwP;rM+ z#3HGJ)Q@MN4e)3vMygCCfycQJ6Xg!&Ep-A`Q~1nXclIrqkK5AOJ_Tb<5SEiTf6n zA{=&81Y)`vf?-M0vSHI%N)$>N>7BiAfI<$(i-Z57p{ z)Y$-|+&$cpuZY<2FW5RNic%4vI&1*b%?c?3y@WJfp!M3&z!&n& z>nm{hckwUcwf~zx3X!7xX8A|+G_Fub`rGAEK!@dF0w$Uu8;#1u6Vub&Ta|Ru%^`*AvaeJcdh9_p0TW$6V9a%9Q_Luw%c9+ diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/zipper_mouth.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/zipper_mouth.png index 37e137c0c9a370aa227ba71be694e748511fcb23..ecad41ede6d9656229189295c7c84af73fcf2482 100644 GIT binary patch delta 121 zcmV-<0EYjN3f=;cB$LYn%x+mpL_t&t9REX`a8hvG~zu600527aJpY!D};OZ`x-BbqTUF~XL*?%x79%cX#PHt bBp^xt*}Vw0W`=-{00000NkvXXu0mjf&ml5F literal 1296 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D72XiEBhjaDG}zd16s2gJVj5QmTSy zZen_BP-lO)W`O zsL0L9E4HezRRWu91!RMS^_3LBN=mYAl^~9a@C{IK&M!(;Fx4~DO*S;PP%yXDGc>id zFf!3mFfuSS(>JixH#E^TFtjqTv@$SMfC43;ZAB?*RzWUqP`iLUTcwPWk^(Dz{qpj1 zy>er{{GxPyLrY6beFGzXBO_g)3fZE`@j@x4_pIZg5^PG@yV%reBd*pl_&Wpr4xy@)uZjaY;}r!Wmdq7l%|9r0NHy z7U!21B?IFlO&O*c7&4a6BsFpIWGChrManjC7v#}NQ&U6J zG&3`EUE?%MLtRUAlSJJ_bF*aKL^DfEL(`Nb0~1pNm^s+=TNpdK8W>x+nwuCo8ydP= zTDXB?!_v{f$i>Lq&BYO>*E6rUBrz{J6=ruP&~B(+7rc6{oQqNuOY)0C^7C_GsURRD zza+mnBfmhw*%=h;<_a3&nRzMs<;9wyXoC3KCABECEH%ZgC_h&L9L`pmSlmFI{~`KQ z$PGVzpriCbi3KU~z=VJ)62ydO1t15WnNstBIj9JjRnmgOM1a|>J-{c#_5T^)nX9&b zI3Dx)MC7A=aW9W1r@1oBDV4dhId;;Nwq5;NS)NR#K^$kc7XCZ!vwq{eNmDz1p9;LR zCE?zB+j9#|rp@XEaktaVzNpBNLkdgYkkKj`@rS8H*0ua9Z$l?5LO`DIs!Xq0^h3RXjX*E(Ofn zU?b1m+{VFdcHq!KZ58EZM|cd~TZ6r09i~j27%!BgHCbx%q6KqAHtQVHU2|)e6_3U{ c77hc3n|nF7+CCTV2HMBq>FVdQ&MBb@03n#tHvj+t diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/zzz.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/zzz.png index 02fc33fe713d9f0bb2931f94aa5a2e5cb4b1e6ef..3072dfc9f1aef8dace209b1f1c21b9f17bb7d873 100644 GIT binary patch delta 118 zcmdm4*UmUWBA=0&fq}t8wagw!u?6^qxH@$n{Qv*|RKI*Hpa@e*kYDhBhNs&NynsAC zPZ!4!4q4WN3k4et7+5ysG`^AQIi*p$wZiS-AH^SPQoZvpMeEPKclo%W{~C##^$kMj U>`k>c0d+EXy85}Sb4q9e04)V7MgRZ+ literal 16185 zcmeI3O^72!6vs;kWF6g;3yL7LSp-EpUEN71>E0yEOpVhJIcwIz~9t34kuOcj7Jg651MHIn{r?IL#o%B?aVvs$ERzp5s{p-C~ z^{dZIU)$Pz^7Qh9%K(7W8|%$&@=HFamhg8=J+p~_?)KL&g#g@hANkw?-g)-{0M6M? zXE)kyU(hXYkT-14METLc$F%{do*(&!bp=I&iF%G(%l-bzXF0*KYq^VR8@Bxh+H=+q z1GICv*|83ItNpewyvJN#J%EI``)tB+VYG8Nu?dIAz9kyz@ zy(sc^Ng57^`C%dN1wBdDG);nvq$nb;A%+KTWQ;^NJeveb<1|rd1&$v%o-2^JhUx7` zwOo!Qnmprv4g7X{lFALo^e{(hWcZSthtgmm&GQVSZ8UA2LI#p0!WWV7XW-RHcPsrn73CYEFs@tP~nbd8J%b8nWEd zDh0KmzT61#

z{i+m3nX+k<6AzLosW1;Zgk8<5SfXr{6tQd-O|hck9kOUEWz{s1Y?^W!KjXeQ$8Zn1 zb-Zh9B2-0L?kI|0DC-67aj57J y(ajnHcLa!SQjR39m@Pex+$HZ2;YY2@7ITp&o zqZb|5_J-kOY1HFxi^E%chTB7ST}mC(0@|f2k)i85|HhF!*%F=^c)E+z*>Qa2lny>` z6;&_7|Io-K<9U23rt5lk>5^SpZv@D|OSn$=BU6)(fp22A5g8|nlC7JGV_SOH3kF71cLqieNxs{wO4Gtj z&B=+bH@v#*?ob@Wj6t?z$*vj^a-;FX`w?VKSP NH(Hy`4_7b0^fxrFvZ??8 From 61a382299f6bf4fc399997d6dc5713a027335185 Mon Sep 17 00:00:00 2001 From: dekvall Date: Wed, 6 Nov 2019 11:55:29 +0100 Subject: [PATCH 04/66] emojis: add five new emojis Added emojis are: - Fire `(/\)` - Alien `(@.@)` - Eggplant `8=D` - Wave `(^_^)/` - Heart eyes `(*.*)` --- .../net/runelite/client/plugins/emojis/Emoji.java | 7 ++++++- .../net/runelite/client/plugins/emojis/alien.png | Bin 0 -> 329 bytes .../runelite/client/plugins/emojis/eggplant.png | Bin 0 -> 178 bytes .../net/runelite/client/plugins/emojis/fire.png | Bin 0 -> 265 bytes .../runelite/client/plugins/emojis/heart_eyes.png | Bin 0 -> 373 bytes .../net/runelite/client/plugins/emojis/wave.png | Bin 0 -> 361 bytes 6 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/emojis/alien.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/emojis/eggplant.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/emojis/fire.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/emojis/heart_eyes.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/emojis/wave.png diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/emojis/Emoji.java b/runelite-client/src/main/java/net/runelite/client/plugins/emojis/Emoji.java index b0ed60a55e..8d6006856e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/emojis/Emoji.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/emojis/Emoji.java @@ -79,7 +79,12 @@ enum Emoji PARTY_POPPER("@@@"), EYES("O.O"), SWEAT(";;"), - PILE_OF_POO("~@~"); + PILE_OF_POO("~@~"), + FIRE("(/\\)"), + ALIEN("(@.@)"), + EGGPLANT("8=D"), + WAVE("(^_^)/"), + HEART_EYES("(*.*)"); private static final Map emojiMap; diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/alien.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/alien.png new file mode 100644 index 0000000000000000000000000000000000000000..12b5cbca06428f5a993adf8c2213b00932b2a91c GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D4$xfKQ0)nQM17^^Gm;oDIyZ?A^T5 z@`~fqvSU*+Ph7fr;M7I0fKV$3SKp9`O?wWN)irO}d0@(%MH%^})8;K%y><7_Lno)s zTXOK!#m##TZ`^(G$hoTrPF@HIk6pWM@1$7^)ANdTjLf2w(sN3x8an%S9zI#w(6(aZ z4xr6ix*4iKO1&h=FZe%EfT1~T`c0sg7*7|+5Dr<^gYAw?3<3-rZ4%zcb~QC^|KFju z%3&(k0u~2OhL`zYYg>K+BsfNYd=RB2uRI#mgzr`C5 p#tDbczqg#Kwf;PR$SSAM|D1a`m)EXt-wm{f!PC{xWt~$(698$%o>%|? literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/eggplant.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/eggplant.png new file mode 100644 index 0000000000000000000000000000000000000000..f235821f5aa98e7730ede538d8f9f090533ea646 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4xHBpZ(Y^aoOM0X`wFC4Q^QH-(l2FDqXbU%o1) zBxz<@PgzOy{F3lRKqX@P|JMU4u96_X;Quhdu<4A>d7!AJr;B329X>(>3%sOB)gDGnPQ|KH1`ib(-wtO|6 Q1T=)f)78&qol`;+00gE)E&u=k literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/fire.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/fire.png new file mode 100644 index 0000000000000000000000000000000000000000..6d11acee7a986129c8452514c52f22ae74918d32 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D72SfKQ0)mkB)o&-i|s$ov1a&)2Df zUncQ=n=AEegZ}^1-v5re{X6RV_khE%%|?HATm9K>{dF?`-~IOgPkMfxCiHu!#lIsi zzcv|unhr+H_2DMF`xdT0)_FgV zc7N#P`tOYIr#{b5{hsfeJ!ch3-8FF8H%aGpfyaF_mrn=XpN6{qI^q4q-|f#qpLcs* zfA99Gi{jbYr}Z-3{ns|1zlVHEgE^jsy8&JF@v%oakkT&+@(cb?5@3j0YVjSYHN(@z zF@!@l^`NU5lcRvk!TGjLhY#Pq`|02D#cb1D9xULEJ!uxE_HyG?Bgxv{uvG!U63^UQ z?cRB08BR9Y>0l?n-+#;d-$y6cH*eZ!ZSGY!ZRI6piLNv*a|5=n?5efP6LJnUCOmdH b`jDB`p5xusReH`qI~hD({an^LB{Ts5WgfZ2 literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/wave.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/wave.png new file mode 100644 index 0000000000000000000000000000000000000000..1a747c8fc7d1b83d2497215b6a6c072a5034fe17 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D4$@fKQ0)|2wg+ry#CqWD^Xw8_`JQI`}$hmk<$|=@7?p~Y{b87(L0XM z`Mx{o-;L-OR||g~3;TUC?AMXdKbNBZUX8BUdgbq>$e*{8exC_X+wkQ7?bxJs&;Q+w z`F%S4GN{$pNB($ZuuapAP1y$OM?7@|C0b1mcHly3)Gn6>Eal| zA9!#Npu1^%BZ;F3m~KE=m#S{#}3Gvuf2W&!^s{#=WmTzg%OoSgxP%l>f`} zo%Q?ohP}J=?QMSK^wYB^tuBp!%WtiDUivt%rWoG@wTi|wB60Q;GOZYwrg5#RZ~w`g UktHF23}_#Nr>mdKI;Vst01|u1YybcN literal 0 HcmV?d00001 From 3e4b21c8cfff80bd6cbb9a2d8eeecf61aa3e219b Mon Sep 17 00:00:00 2001 From: Hydrox6 Date: Sun, 10 Nov 2019 01:01:44 +0000 Subject: [PATCH 05/66] clues: correct direction of Miscellania island coordinate clue --- .../client/plugins/cluescrolls/clues/CoordinateClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java index e085efc313..6da83f5263 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java @@ -127,7 +127,7 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati .put(new WorldPoint(3058, 3884, 0), "Wilderness. Near runite ore north of Lava Maze.") .put(new WorldPoint(3290, 3889, 0), "Wilderness. Demonic Ruins.") .put(new WorldPoint(3770, 3897, 0), "Small Island north of Fossil Island.") - .put(new WorldPoint(2505, 3899, 0), "Small Island north-east of Miscellania (AJS).") + .put(new WorldPoint(2505, 3899, 0), "Small Island north-west of Miscellania (AJS).") .put(new WorldPoint(3285, 3942, 0), "Wilderness. Rogues' Castle.") .put(new WorldPoint(3159, 3959, 0), "Wilderness. North of Deserted Keep, west of Resource Area.") .put(new WorldPoint(3039, 3960, 0), "Wilderness. Pirates' Hideout.") From 6d8c81f183850eb5e9b75c8028291146e87aad0e Mon Sep 17 00:00:00 2001 From: David Date: Tue, 1 Oct 2019 01:00:40 +0100 Subject: [PATCH 06/66] worldmap: add rc-altar icons to worldmap --- .../worldmap/RunecraftingAltarLocation.java | 62 ++++++++++++++++++ .../worldmap/RunecraftingAltarPoint.java | 39 +++++++++++ .../plugins/worldmap/WorldMapConfig.java | 11 ++++ .../plugins/worldmap/WorldMapPlugin.java | 10 +++ .../plugins/worldmap/air_altar_icon.png | Bin 0 -> 480 bytes .../plugins/worldmap/astral_altar_icon.png | Bin 0 -> 487 bytes .../plugins/worldmap/blood_altar_icon.png | Bin 0 -> 468 bytes .../plugins/worldmap/body_altar_icon.png | Bin 0 -> 504 bytes .../plugins/worldmap/chaos_altar_icon.png | Bin 0 -> 488 bytes .../plugins/worldmap/cosmic_altar_icon.png | Bin 0 -> 487 bytes .../plugins/worldmap/death_altar_icon.png | Bin 0 -> 489 bytes .../plugins/worldmap/earth_altar_icon.png | Bin 0 -> 466 bytes .../plugins/worldmap/fire_altar_icon.png | Bin 0 -> 457 bytes .../plugins/worldmap/law_altar_icon.png | Bin 0 -> 487 bytes .../plugins/worldmap/mind_altar_icon.png | Bin 0 -> 506 bytes .../plugins/worldmap/nature_altar_icon.png | Bin 0 -> 502 bytes .../plugins/worldmap/soul_altar_icon.png | Bin 0 -> 469 bytes .../plugins/worldmap/water_altar_icon.png | Bin 0 -> 470 bytes .../plugins/worldmap/wrath_altar_icon.png | Bin 0 -> 467 bytes 19 files changed, 122 insertions(+) create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarLocation.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarPoint.java create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/air_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/astral_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/blood_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/body_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/chaos_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/cosmic_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/death_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/earth_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/fire_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/law_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/mind_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/nature_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/soul_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/water_altar_icon.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/wrath_altar_icon.png diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarLocation.java new file mode 100644 index 0000000000..c2f8319635 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarLocation.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2019, Dava96 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.worldmap; + +import lombok.Getter; +import net.runelite.api.coords.WorldPoint; + +@Getter +enum RunecraftingAltarLocation +{ + AIR_ALTAR("Air Altar", 1, new WorldPoint(2985, 3293, 0), "air_altar_icon.png"), + MIND_ALTAR("Mind Altar", 2, new WorldPoint(2982, 3514, 0), "mind_altar_icon.png"), + WATER_ALTAR("Water Altar", 5, new WorldPoint(3185, 3165, 0), "water_altar_icon.png"), + EARTH_ALTAR("Earth Altar", 9, new WorldPoint(3306, 3474, 0), "earth_altar_icon.png"), + FIRE_ALTAR("Fire Altar", 14, new WorldPoint(3313, 3255, 0), "fire_altar_icon.png"), + BODY_ALTAR("Body Altar", 20, new WorldPoint(3053, 3445, 0), "body_altar_icon.png"), + COSMIC_ALTAR("Cosmic Altar", 27, new WorldPoint(2408, 4377, 0), "cosmic_altar_icon.png"), + CHAOS_ALTAR("Chaos Altar", 35, new WorldPoint(3060, 3591, 0), "chaos_altar_icon.png"), + ASTRAL_ALTAR("Astral Altar", 40, new WorldPoint(2158, 3864, 0), "astral_altar_icon.png"), + NATURE_ALTAR("Nature Altar", 44, new WorldPoint(2869, 3019, 0), "nature_altar_icon.png"), + LAW_ALTAR("Law Altar", 54, new WorldPoint(2858, 3381, 0), "law_altar_icon.png"), + DEATH_ALTAR("Death Altar", 65, new WorldPoint(1860, 4639, 0), "death_altar_icon.png"), + BLOOD_ALTAR("Blood Altar", 77, new WorldPoint(1716, 3827, 0), "blood_altar_icon.png"), + SOUL_ALTAR("Soul Altar", 90, new WorldPoint(1814, 3856, 0), "soul_altar_icon.png"), + WRATH_ALTAR("Wrath Altar", 95, new WorldPoint(2446, 2825, 0), "wrath_altar_icon.png"); + + private final String tooltip; + private final WorldPoint location; + private final int levelReq; + private final String iconPath; + + RunecraftingAltarLocation(String description, int level, WorldPoint location, String iconPath) + { + this.tooltip = description + " - Level " + level; + this.location = location; + this.levelReq = level; + this.iconPath = iconPath; + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarPoint.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarPoint.java new file mode 100644 index 0000000000..11cdad457f --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/RunecraftingAltarPoint.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2019, Dava96 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.worldmap; + +import net.runelite.client.ui.overlay.worldmap.WorldMapPoint; +import net.runelite.client.util.ImageUtil; + +class RunecraftingAltarPoint extends WorldMapPoint +{ + RunecraftingAltarPoint(RunecraftingAltarLocation point) + { + super(point.getLocation(), WorldMapPlugin.BLANK_ICON); + setImage(ImageUtil.getResourceStreamFromClass(WorldMapPlugin.class, point.getIconPath())); + setTooltip(point.getTooltip()); + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapConfig.java index 7ebe417ef2..4070a77b1a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapConfig.java @@ -218,4 +218,15 @@ public interface WorldMapConfig extends Config { return true; } + + @ConfigItem( + keyName = WorldMapPlugin.CONFIG_KEY_RUNECRAFTING_ALTAR_ICON, + name = "Show runecrafting altar locations", + description = "Show the icons of runecrafting altars", + position = 18 + ) + default boolean runecraftingAltarIcon() + { + return true; + } } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java index 32e34d013b..37ff9a5192 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/WorldMapPlugin.java @@ -79,6 +79,7 @@ public class WorldMapPlugin extends Plugin static final String CONFIG_KEY_RARE_TREE_TOOLTIPS = "rareTreeTooltips"; static final String CONFIG_KEY_RARE_TREE_LEVEL_ICON = "rareTreeIcon"; static final String CONFIG_KEY_TRANSPORATION_TELEPORT_TOOLTIPS = "transportationTooltips"; + static final String CONFIG_KEY_RUNECRAFTING_ALTAR_ICON = "runecraftingAltarIcon"; static { @@ -151,6 +152,7 @@ public class WorldMapPlugin extends Plugin worldMapPointManager.removeIf(MinigamePoint.class::isInstance); worldMapPointManager.removeIf(FarmingPatchPoint.class::isInstance); worldMapPointManager.removeIf(RareTreePoint.class::isInstance); + worldMapPointManager.removeIf(RunecraftingAltarPoint.class::isInstance); agilityLevel = 0; woodcuttingLevel = 0; } @@ -304,6 +306,14 @@ public class WorldMapPlugin extends Plugin } }).map(TeleportPoint::new) .forEach(worldMapPointManager::add); + + worldMapPointManager.removeIf(RunecraftingAltarPoint.class::isInstance); + if (config.runecraftingAltarIcon()) + { + Arrays.stream(RunecraftingAltarLocation.values()) + .map(RunecraftingAltarPoint::new) + .forEach(worldMapPointManager::add); + } } private void updateQuestStartPointIcons() diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/air_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/air_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ae281d896cb466738dfc2f4f83cc62e932e65f13 GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%IeC>>w&1etiHUwxw^W!x~8SNx~00NqoJV_h#DJuTig0tTl;`yTkGVmF0gf7KpSUF zm;kqQ-n6OnrcGNsYu4h~Ks0;B`~@o(%wMr!!O8^-)-GMTZt0SBOP6k1xpLFWRhw6> z+`MYl_ODl^)$cU9ZXwNPKeTI%>W_62*|-8o{d z7j^BL^Szs!#6>gTe~DWM4f D2oBO< literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/astral_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/astral_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..10b4aecccedb98d561ab2a8fb572db3751f5127d GIT binary patch literal 487 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%IeC>>&wgP%gdXqtDCE9TB@sCs%ttL8ajcfv7xuMwYRmcueG%gNVc_3?&<%>{%=3FIcf){)z<)R?c6ra>0VNOO~!(x^&&rCF_`K8PQg{~8( zFV)J~Yrbtx^6G@kj%<$$|4;arViQ02Rx{I|8Cl0yKICy&=;5*~Md~e2fp<}0l=RL+ z-wy@9`_W~lT@y9Sv~De*YtzM(Vq6ku1J*GIKD))L_%KlC-=<7a2DOHBZ2#}9aab67 Rr6(Qad{0+Dmvv4FO#mUqa;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%IeC>>&wgP%gdXqt6M;*rn8};v$3H|MzFWFt*^DU4@kDPPVVXgThs-#YsQ2LaO>tx zn>ugWw8gV#EuIZTvzN@CwPOB)6$=)uoWEe@f(2`rEM2>F>AIy$)-7GSY30gID_3n= zwQBRKm77;|*g-*<1{5oFU7alY=;wu;T(woPxBYV4cGQ@uO2IoY&xov7oR^I=nt zy^GjeXJs7xxqrTl*29#Q>K|;~=bNbQ<4`DlWl?;MAz?+g2fvQ^4X`Npkda=Ll~t6TU7VFwoDD?TWqEmJdHH4ec~wP4 z)kQ^hWo30`<@G>RURGaT-dtVXTwT*rUENY$)6vk-2}F$zy{&D1t*w1PvaNM;SNG)Z zE}*3|CQN|aJ8#<5dDEsXo;7RnY#^GwWcI8T^B1gGuwdo<1uGXUSi5BD+NDd^EnTv1 z>C#OrS8iIlYSXG!n^&#eylU0a;_L4jtLOn}LB*L{QMpm7^d%y&xmKC@ZTdJG(e5t2i5ovdi-F%JTBd^7E>S zimHo>>dMOM%F643sJyJcyu7)(y1BZhrMkMMx~8L{p%aK28+uz?dt2N3T3h>C+a`B) zfi3L<+B;*y1i01nrcIqUZQ9~lvlh<=qS-6vFIcf)!O8^-)-GMTZt0SBOP6k1xpLFW zRhw3=+PrGz=2fe>$u~@%{X}rXN{_0%x^N<5qb3 zOkf>@s1WNS2bY#>8*Qx*S2HEB%wTlcddPWmRGi1UMLgfHh0G3}`zh+iT~!Yb-}!Ng zxn0Z#!U>Pa;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%IeC>>w&1etiHUwxw^Uqglak(8ajcfv7xuMt+%bMueG(WwXLtMb#hl1*t#yDjWZ@p zfLl6m+SGZ|rY)W|Yw>I#n!RN9tQGSYtXMFA#exMZ7c5x2bm_XKOV%x2x@qOgO)FPz zTD5BPs+F5pt=hhJ-S&0sc5T|Ud(+0Ov+wr&5mt^2oaJG5iRp`APL-<3M!F0%;e zNzRfWzhEE@0mUh^7Xn#pJY5_^IAmE5?)7tW6ll1ZpEjL4IzU2LSelttwpIVY;m67n zT-HfTJ556F?6$U_r_5l|z}^tB^~1hPQFb0_3w_vQy<;<{7N2W9tLIrei}hyx>_aji zU)A4!mbc)oW&6e-yv6pWN84HR^Kz7#Qa;_L4jtLOn}LB*L{P9GJ-r|!y(lZIC_B42E2}sgh_cJ_^2+k^%kuN8ii)a> zit5VB>dMONfvCK!zP!A-y1Kc#rlq>NrMjl0p`jCq8XJ0B+xl8t`+#Iy>*TI3u#H_n zOJ_`&0JnGEw5f|{&00Jgh-R;tzhK3J1uN$-Sh--q+NDd^EnTv1>C#OrS8iIhYV)d< zn^&#czINUAb?bI*+O&Jq#@(AX?c26(|F*6Bw{1JLW5=PLJD)swP_Hm$A<%oAB|(0{ zKpFyyQ)Yt%w|KfZhH%KT9@O<`c9dwnnEq_<=9^wD6BcwWY~d2&GP18@bQWE-WRq_| zD2ws#Gvd!V8blqK1U?;Gyys2tIh|d1cTUp}sxMqGYj{WO^z}FMRvqO$XtZOtrkfD& zmR)al3NQbWyyJO!VAO}>r8d#u_bGk~Fqe6{?t!?=-_P;<*$>{d^{m*Dx}UXcQ$W(1 zZBGmQ-`-MpENeVpFrk$zNv`(y2EFH}Rw~RmuKJ^^c5{V`x+9y^+K>Fl7I{yoImoXI O@`~k#MzRR8QbYPa00+}4s)&(sI=Whgcu`(jZ1(B>G;>R0Zs?mqB`!-4n_I0=HL(S-a(V1qNpamy??-} zxH>*YC9<}8rPXZNT11EMpB}9&+!(#2$+^>7iY)_y09?4Zhic0pB|V#~VrKY)1Odo7 zw|d<9@#V?N&i!k%rL_PwrTFL97yK(M+uXV(tM;lfF$yY?C{pOQnNlh?Dw>q*TieT4 zHBByh94|Kz7N4OP8##NWJ%F998)5qVkY7zh(`0haST<_Qm|4k8T^pmS;^^sqm}{N` z92`2pt!lj3fI#5(z54*nCX--he{lHEuR1;b7yt%?!F=!c0G6Yj6DtsTf&c&j07*qo IM6N<$f_Kc>TL1t6 literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/fire_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/fire_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f556a54ce9ab3f68b14927ae1cff31f48ec6a612 GIT binary patch literal 457 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%InL^>dVWUtE*c;sHU@_p|i1}x3#UWwY9IcZE{x^*!(V_6*DGGfZH-}+SJ9fW-Xo# zM6;L7p0!+2WX1diD;6wRxnRNCB}>;XUAk`Rl66a$Zd$o=)5=wwR;}8+YUSottG2IQ zw|(8ZU7I%T-n4P|rcL{{ZQH+X>;7%q4(-@+Xy?wZy+t2^Ug9hX@(Tvi5Kx>ldm)gu zz|+MsghQ6~prPMk2Z6SW@8?HKM>jD=Etz2VeLvHkMzPM0HYP`*_3335{tRmv!Wk}} zvGl$6r}vRsjoqtrw^Dr9mljWZ9&}Qm>L*9DUEA|(^+wD!wIPPz-FCkEkec$uw)ufk zRziyH!LEb({!*L_4Xct<<}o(hVV8UM$ChEb#=Z4y)&2en{ayl5CNpPOZ!Ui0q_ZW` itafuGM}ug>hJ*I=9o;)EPThSCaa;_L4jtLOn}LB*O7VU{dU`=ddQnzZQFeB5R#tH~5M`I;<(1{-m*wYG6%|z% z71foM)s>akmzUL-mp4~eH&@rRR9ClD*K{;AbOKRhLvL$aZ(CbmYinO?TVGr2~yTRdyl;@Lnnd&T?(D;6wRxnRNCB}>;XUAk`Rl66a$Zd$o= z)5=wwSFPN$b03w`<|{LpWqv4_f;(1qw7=%zwtmo$b_f-bu=Xr?s>5|NbjsQpsyC zE)WyBu<^}Y>&KQ%4*Ufy0zTaS%fjM3*cO&#&s{Ndmd*2k8Eb_uoGnvat#2-|Z2p18 zrc7S-Yby&Yx9+d}z4P?b`HvpwZ&6S%3b46ZXYN+9mUrn@%k5JmK2H!`tXS-S>HTJ@ zqgN-~D7H91;rn7IS=)w-mls~(I<>`K_~~J1fixd0&AWY*cQIUGW>NpaUc~3O>iTI( QL6AQ@UHx3vIVCg!0HfF3YybcN literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/mind_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/mind_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b0aaeecf2a19467fa3c0cb9a6e536c8bde8c0976 GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LDR&6T4dJ-r|!y(lZIC_B42E2}sgh_cJ_^2+k^%kuN8ii)a> zit5VB>dMONfvCK!zP!A-y1Kc#rlq>NrMjl0p`jCq8XJ0BTYFpEdfVFiT3h>C+xpsC zCwFy$?d<|uJ!8TIxb5?%O`SJw+TvNW7S9Hv*-K{6S}}jYiUkW+&R?){!Gg6*mabj8 zbluV=>y|Fvv~uO9RjW3yTDg7gy6x-M?b@_y_oj`zH*MOtZQK5BTla6XBJL g;|gnooWjfp@*91F1ROTmB!Il*>FVdQ&MBb@06ahBDgXcg literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/nature_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/nature_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ee53dbd5a3f753be91715cdda0115ac658ceacfb GIT binary patch literal 502 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LB*uuG&MJ-r|!y(lZIC_B42E2}sgh_cJ_^2+k^%kuN8ii)a> zit5VB>dMONfvCK!zP!A-y1Kc#rlq>NrMjl0p`jCq8XJ0BTYFpEdfVFiT3h>C+xpsC zCwFy$?d<|uJ!8TIxb5?%O`SJw+TvNW7SEc!c=oKtvu7`vJ!{4M1uGWJU$J1p%J~ac zE?BU3$pfi@LpWqv58C=2b`WT|m|rJT zt*xS>($&$X#;ePIVrwIFfMauu%cX###;tp;H}6qr5NY62*dcX(U0yy<*g-yZ-B;`M z)+dXeT72URYr(bYuQr?upLgZ2t%Jq99N8q?=BZ7`5M^32}s fEt3PIhuIJI57q%qlO89gTe~DWM4fSIXjf literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/soul_altar_icon.png b/runelite-client/src/main/resources/net/runelite/client/plugins/worldmap/soul_altar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..08615a949efc5396ff59522395bf232b9c8b297c GIT binary patch literal 469 zcmeAS@N?(olHy`uVBq!ia0vp^{2a;_L4jtLOn}LC`AU(YxBfTgqt0+6WI4i3-8;G*Y^76{^^2_q`s)~xLi;C*X z%IkrsysWvpx&?%4IvN@}fvB;ex3#smwXLtUwGT+PwNCEp0$bDtv}@|LTQeq1fZI54 z+SGZ|rY)W|Yw>I#n!RN9tQ8C9uUN2P<@^OJ7c5x2Wa-+aOV=%3vTo_pO)FP!TDfY| zs#Tj;t=ztL-S&0sc5T|Ud(+0Ov+wr&5mt^2oaJG5iRp`AO$Q~xUiy~kM+ynO31{{Gutm~Mc zb1-lp;8NHj_1yE$z09_R&#UFG#KzvMk~qG6Ss+X0&Xz;dLbu-ip3QdSlSXksSKt2j z=d**=b!-G*9O67+Rn#gwbaahHT&f8ET32-mj!F<4|zB* rbo?!(%HdukHh14m6P5a;_L4jtLOn}LB*L~40KdU`=ddQnzZQFeB5R#tH~5M`I;<(1{-m*wYG6%|z% z71foM)s>akmzUL-mp4~ew}4PhXG240V?%FiTVHEyACPQoo!r$0wx|ne*Nh1h;MUEX zHg(>#X^UsgT09$wW-pmNYsLHpD;6wRIe)>*1q;?LS-N)V(sfIhtXsNt)5?{bR<7E# zYSrddD>tuNwSDcn?d#U<+O%o+rj5HdZQ8eO+x~4^_ix*FXvdC2J9o;j+x8RaJdJT^CG z+I^YFuz_h0L(8hx;>%I%RPq;onXDHzJM8DF?U(G&wAV&g#IweVLDYcLFI8} zfQtQp5p(|ipOcM^0(6q43O-xT>011jF<~Q*$oDx6XCxdA*PbwXFhga;_L4jtLOn}LDR)WD!1J-r|!y(lZIC_B42E2}sgh_cJ_^2+k^%kuN8ii)a> zit5VB>dMONfvCK!xw^W!x~8SNx~00NqoJX*p`o|6wYRmcueG(WwQX`&7uc>Ypmj4Q zOn}=sZ`#y()21z+HEZ!~Aey~o_N=9%;VTv_SUG>e$^{G7E?v5A>5_Fzmu_0Qa?{FH zn^vvbylUn4wd=O8Teo}D#@(AX?c26(|F*6Bw{1JLW5=PLJJ;~7bOU;fvn0qb7)V1v zamwt4K-LmZ7sn6|S=NJw-pqy)3>UtuW>&ZJ@jY6>*CfK8{(nE0UQ_dwyhmD(l)k)r zDs-RQ;1Hve=gq%bMRk{a71!rqQuFE*>aRW3wtAhr(4$|Q)&50gzkOR;7pY}9ub%nC zhdDY8y0cQ+-d=mxw=AMyqjPGQj`Pp8G0Xnu<`wz6>Z)I!a6W2}{HD Date: Sun, 10 Nov 2019 11:11:07 -0500 Subject: [PATCH 07/66] woodcutting plugin: add arctic pine logs --- .../woodcutting/WoodcuttingPlugin.java | 5 +- .../woodcutting/WoodcuttingPluginTest.java | 130 ++++++++++++++++++ 2 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 runelite-client/src/test/java/net/runelite/client/plugins/woodcutting/WoodcuttingPluginTest.java diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java index 04df4a2c11..01ced70693 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/woodcutting/WoodcuttingPlugin.java @@ -29,6 +29,7 @@ import java.time.Duration; import java.time.Instant; import java.util.HashSet; import java.util.Set; +import java.util.regex.Pattern; import javax.inject.Inject; import lombok.Getter; import net.runelite.api.ChatMessageType; @@ -63,6 +64,8 @@ import net.runelite.client.ui.overlay.OverlayMenuEntry; @PluginDependency(XpTrackerPlugin.class) public class WoodcuttingPlugin extends Plugin { + private static final Pattern WOOD_CUT_PATTERN = Pattern.compile("You get (?:some|an)[\\w ]+(?:logs?|mushrooms)\\."); + @Inject private Notifier notifier; @@ -148,7 +151,7 @@ public class WoodcuttingPlugin extends Plugin { if (event.getType() == ChatMessageType.SPAM || event.getType() == ChatMessageType.GAMEMESSAGE) { - if (event.getMessage().startsWith("You get some") && (event.getMessage().endsWith("logs.") || event.getMessage().endsWith("mushrooms."))) + if (WOOD_CUT_PATTERN.matcher(event.getMessage()).matches()) { if (session == null) { diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/woodcutting/WoodcuttingPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/woodcutting/WoodcuttingPluginTest.java new file mode 100644 index 0000000000..ed9c6a599a --- /dev/null +++ b/runelite-client/src/test/java/net/runelite/client/plugins/woodcutting/WoodcuttingPluginTest.java @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2019, Jordan Zomerlei + * Copyright (c) 2019, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.woodcutting; + +import com.google.inject.Guice; +import com.google.inject.testing.fieldbinder.Bind; +import com.google.inject.testing.fieldbinder.BoundFieldModule; +import javax.inject.Inject; +import net.runelite.api.ChatMessageType; +import net.runelite.api.Client; +import net.runelite.api.events.ChatMessage; +import net.runelite.client.Notifier; +import net.runelite.client.ui.overlay.OverlayManager; +import static org.junit.Assert.assertNotNull; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; +import static org.mockito.Mockito.when; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class WoodcuttingPluginTest +{ + private static final String BIRDS_NEST_MESSAGE = "A bird's nest falls out of the tree."; + + @Inject + WoodcuttingPlugin woodcuttingPlugin; + + @Mock + @Bind + WoodcuttingConfig woodcuttingConfig; + + @Mock + @Bind + Notifier notifier; + + @Mock + @Bind + Client client; + + @Mock + @Bind + WoodcuttingOverlay woodcuttingOverlay; + + @Mock + @Bind + WoodcuttingTreesOverlay woodcuttingTreesOverlay; + + @Mock + @Bind + OverlayManager overlayManager; + + @Before + public void before() + { + Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this); + } + + @Test + public void testLogs() + { + ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.SPAM, "", "You get some logs.", "", 0); + woodcuttingPlugin.onChatMessage(chatMessage); + assertNotNull(woodcuttingPlugin.getSession()); + } + + @Test + public void testOakLogs() + { + ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.SPAM, "", "You get some oak logs.", "", 0); + woodcuttingPlugin.onChatMessage(chatMessage); + assertNotNull(woodcuttingPlugin.getSession()); + } + + @Test + public void testArcticLogs() + { + ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.SPAM, "", "You get an arctic log.", "", 0); + woodcuttingPlugin.onChatMessage(chatMessage); + assertNotNull(woodcuttingPlugin.getSession()); + } + + @Test + public void testMushrooms() + { + ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.SPAM, "", "You get some mushrooms.", "", 0); + woodcuttingPlugin.onChatMessage(chatMessage); + assertNotNull(woodcuttingPlugin.getSession()); + } + + @Test + public void testBirdsNest() + { + ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.GAMEMESSAGE, "", BIRDS_NEST_MESSAGE, "", 0); + + when(woodcuttingConfig.showNestNotification()).thenReturn(true); + woodcuttingPlugin.onChatMessage(chatMessage); + verify(notifier).notify("A bird nest has spawned!"); + + when(woodcuttingConfig.showNestNotification()).thenReturn(false); + woodcuttingPlugin.onChatMessage(chatMessage); + verifyNoMoreInteractions(notifier); + } +} \ No newline at end of file From 7f68db7362ef1cba3e7a0305a7648beff2c124c5 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 10 Nov 2019 13:38:39 -0500 Subject: [PATCH 08/66] client session manager: fix task crash from being unable to acquire a session id --- .../main/java/net/runelite/client/ClientSessionManager.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java index f672a0d05e..b206c8464b 100644 --- a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java @@ -32,6 +32,7 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; +import net.runelite.client.util.RunnableExceptionLogger; @Singleton @Slf4j @@ -62,7 +63,7 @@ public class ClientSessionManager log.warn("error opening session", ex); } - scheduledFuture = executorService.scheduleWithFixedDelay(this::ping, 1, 10, TimeUnit.MINUTES); + scheduledFuture = executorService.scheduleWithFixedDelay(RunnableExceptionLogger.wrap(this::ping), 1, 10, TimeUnit.MINUTES); } public void shutdown() @@ -96,7 +97,8 @@ public class ClientSessionManager } catch (IOException ex) { - log.warn(null, ex); + log.warn("unable to open session", ex); + return; } try From 52c3a1902f8ac0b00c5b2337e9e1b7a32952bbfc Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 10 Nov 2019 14:33:03 -0500 Subject: [PATCH 09/66] api: change LocalPlayerDeath event to PlayerDeath --- .../events/{LocalPlayerDeath.java => PlayerDeath.java} | 9 +++++++-- .../plugins/deathindicator/DeathIndicatorPlugin.java | 6 +++--- .../client/plugins/screenshot/ScreenshotPlugin.java | 6 +++--- .../net/runelite/client/plugins/timers/TimersPlugin.java | 9 ++++++--- 4 files changed, 19 insertions(+), 11 deletions(-) rename runelite-api/src/main/java/net/runelite/api/events/{LocalPlayerDeath.java => PlayerDeath.java} (90%) diff --git a/runelite-api/src/main/java/net/runelite/api/events/LocalPlayerDeath.java b/runelite-api/src/main/java/net/runelite/api/events/PlayerDeath.java similarity index 90% rename from runelite-api/src/main/java/net/runelite/api/events/LocalPlayerDeath.java rename to runelite-api/src/main/java/net/runelite/api/events/PlayerDeath.java index e46b815f49..0b048818c8 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/LocalPlayerDeath.java +++ b/runelite-api/src/main/java/net/runelite/api/events/PlayerDeath.java @@ -24,9 +24,14 @@ */ package net.runelite.api.events; +import lombok.Value; +import net.runelite.api.Player; + /** - * An event when the local player dies. + * An event fired when a player dies. */ -public class LocalPlayerDeath +@Value +public class PlayerDeath { + private final Player player; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java index 4db2cce475..3667439385 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java @@ -40,7 +40,7 @@ import net.runelite.api.coords.WorldPoint; import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; -import net.runelite.api.events.LocalPlayerDeath; +import net.runelite.api.events.PlayerDeath; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.game.ItemManager; @@ -145,9 +145,9 @@ public class DeathIndicatorPlugin extends Plugin } @Subscribe - public void onLocalPlayerDeath(LocalPlayerDeath death) + public void onPlayerDeath(PlayerDeath playerDeath) { - if (client.isInInstancedRegion()) + if (client.isInInstancedRegion() || playerDeath.getPlayer() != client.getLocalPlayer()) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index c32ae795e8..1c4123e795 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -65,7 +65,7 @@ import net.runelite.api.SpriteID; import net.runelite.api.WorldType; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameTick; -import net.runelite.api.events.LocalPlayerDeath; +import net.runelite.api.events.PlayerDeath; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetID.BARROWS_REWARD_GROUP_ID; @@ -279,9 +279,9 @@ public class ScreenshotPlugin extends Plugin } @Subscribe - public void onLocalPlayerDeath(LocalPlayerDeath death) + public void onPlayerDeath(PlayerDeath playerDeath) { - if (config.screenshotPlayerDeath()) + if (playerDeath.getPlayer() == client.getLocalPlayer() && config.screenshotPlayerDeath()) { takeScreenshot("Death " + format(new Date())); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index 8408b3b4d4..0a2772f253 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -53,7 +53,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.GraphicChanged; import net.runelite.api.events.ItemContainerChanged; -import net.runelite.api.events.LocalPlayerDeath; +import net.runelite.api.events.PlayerDeath; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.VarbitChanged; @@ -886,9 +886,12 @@ public class TimersPlugin extends Plugin } @Subscribe - public void onLocalPlayerDeath(LocalPlayerDeath event) + public void onPlayerDeath(PlayerDeath playerDeath) { - infoBoxManager.removeIf(t -> t instanceof TimerTimer && ((TimerTimer) t).getTimer().isRemovedOnDeath()); + if (playerDeath.getPlayer() == client.getLocalPlayer()) + { + infoBoxManager.removeIf(t -> t instanceof TimerTimer && ((TimerTimer) t).getTimer().isRemovedOnDeath()); + } } private TimerTimer createGameTimer(final GameTimer timer) From 48aee49f5d5c0002f816ae1f54c2e3218ac6f759 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sun, 10 Nov 2019 21:14:52 +0100 Subject: [PATCH 10/66] Add method for attaching clear listener to IconTextField Signed-off-by: Tomas Slusny --- .../net/runelite/client/ui/components/IconTextField.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/IconTextField.java b/runelite-client/src/main/java/net/runelite/client/ui/components/IconTextField.java index c02bab2c5a..0408837302 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/components/IconTextField.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/IconTextField.java @@ -29,6 +29,7 @@ package net.runelite.client.ui.components; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; +import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; @@ -222,6 +223,11 @@ public class IconTextField extends JPanel textField.addKeyListener(keyListener); } + public void addClearListener(Consumer actionEventConsumer) + { + clearButton.addActionListener(actionEventConsumer::accept); + } + public void addKeyListener(Consumer keyEventConsumer) { addKeyListener(new net.runelite.client.input.KeyListener() From 56141049008b08d2b27d2df2603eff696d3a15fc Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sun, 10 Nov 2019 21:15:19 +0100 Subject: [PATCH 11/66] Clear skill calculator selection on clear button press Signed-off-by: Tomas Slusny --- .../runelite/client/plugins/skillcalculator/SkillCalculator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java index 7e69b798d2..9c7b92806e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/skillcalculator/SkillCalculator.java @@ -88,6 +88,7 @@ class SkillCalculator extends JPanel searchBar.setPreferredSize(new Dimension(PluginPanel.PANEL_WIDTH - 20, 30)); searchBar.setBackground(ColorScheme.DARKER_GRAY_COLOR); searchBar.setHoverBackgroundColor(ColorScheme.DARK_GRAY_HOVER_COLOR); + searchBar.addClearListener(e -> onSearch()); searchBar.addKeyListener(e -> onSearch()); setLayout(new DynamicGridLayout(0, 1, 0, 5)); From 639006997cac569b1c71c604cc58a7ef014dafa9 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sun, 10 Nov 2019 21:15:37 +0100 Subject: [PATCH 12/66] Clear grand exchange selection on clear button press Signed-off-by: Tomas Slusny --- .../GrandExchangeSearchPanel.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java index 90dcf0269d..2200cb234e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java @@ -103,6 +103,7 @@ class GrandExchangeSearchPanel extends JPanel searchBar.setBackground(ColorScheme.DARKER_GRAY_COLOR); searchBar.setHoverBackgroundColor(ColorScheme.DARK_GRAY_HOVER_COLOR); searchBar.addActionListener(e -> executor.execute(() -> priceLookup(false))); + searchBar.addClearListener(e -> updateSearch()); searchItemsPanel.setLayout(new GridBagLayout()); searchItemsPanel.setBackground(ColorScheme.DARK_GRAY_COLOR); @@ -149,7 +150,7 @@ class GrandExchangeSearchPanel extends JPanel executor.execute(() -> priceLookup(true)); } - private void priceLookup(boolean exactMatch) + private boolean updateSearch() { String lookup = searchBar.getText(); @@ -157,7 +158,7 @@ class GrandExchangeSearchPanel extends JPanel { searchItemsPanel.removeAll(); SwingUtilities.invokeLater(searchItemsPanel::updateUI); - return; + return false; } // Input is not empty, add searching label @@ -165,8 +166,17 @@ class GrandExchangeSearchPanel extends JPanel searchBar.setBackground(ColorScheme.DARKER_GRAY_COLOR); searchBar.setEditable(false); searchBar.setIcon(IconTextField.Icon.LOADING); + return true; + } - List result = itemManager.search(lookup); + private void priceLookup(boolean exactMatch) + { + if (!updateSearch()) + { + return; + } + + List result = itemManager.search(searchBar.getText()); if (result.isEmpty()) { searchBar.setIcon(IconTextField.Icon.ERROR); @@ -177,7 +187,7 @@ class GrandExchangeSearchPanel extends JPanel } // move to client thread to lookup item composition - clientThread.invokeLater(() -> processResult(result, lookup, exactMatch)); + clientThread.invokeLater(() -> processResult(result, searchBar.getText(), exactMatch)); } private void processResult(List result, String lookup, boolean exactMatch) From b89528ec4643a586668550229901089665de7fab Mon Sep 17 00:00:00 2001 From: Hydrox6 Date: Sun, 10 Nov 2019 21:06:25 +0000 Subject: [PATCH 13/66] clues: fix yew tree Sherlock challenge --- .../client/plugins/cluescrolls/clues/SkillChallengeClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java index ced104cc30..eb5d246e43 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java @@ -137,7 +137,7 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll new SkillChallengeClue("Mine a piece of mithril ore.", ANY_PICKAXE), new SkillChallengeClue("Smith a mithril 2h sword.", item(ItemID.HAMMER), xOfItem(ItemID.MITHRIL_BAR, 3)), new SkillChallengeClue("Catch a raw shark.", ANY_HARPOON), - new SkillChallengeClue("Chop a yew tree.", ANY_AXE), + new SkillChallengeClue("Cut a yew log.", ANY_AXE), new SkillChallengeClue("Fix a magical lamp in Dorgesh-Kaan.", item(ItemID.LIGHT_ORB)), new SkillChallengeClue("Burn a yew log.", item(ItemID.YEW_LOGS), item(ItemID.TINDERBOX)), new SkillChallengeClue("Cook a swordfish", "cook a swordfish", item(ItemID.RAW_SWORDFISH)), From 6ec3c32d20b24aeb0fb3e4b336bf6843fb2e7efc Mon Sep 17 00:00:00 2001 From: winterdaze <35933468+winterdaze@users.noreply.github.com> Date: Mon, 11 Nov 2019 04:11:55 -0500 Subject: [PATCH 14/66] timers: Do not reset divine potion timers on death (#10235) --- .../runelite/client/plugins/timers/GameTimer.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/GameTimer.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/GameTimer.java index 37ca5e82a3..b2c3aa7289 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/GameTimer.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/GameTimer.java @@ -76,12 +76,12 @@ enum GameTimer HOME_TELEPORT(SpriteID.SPELL_LUMBRIDGE_HOME_TELEPORT, GameTimerImageType.SPRITE, "Home Teleport", 30, ChronoUnit.MINUTES), MINIGAME_TELEPORT(SpriteID.TAB_QUESTS_RED_MINIGAMES, GameTimerImageType.SPRITE, "Minigame Teleport", 20, ChronoUnit.MINUTES), DRAGON_FIRE_SHIELD(ItemID.DRAGONFIRE_SHIELD_11284, GameTimerImageType.ITEM, "Dragonfire Shield Special", 2, ChronoUnit.MINUTES), - DIVINE_SUPER_ATTACK(ItemID.DIVINE_SUPER_ATTACK_POTION4, GameTimerImageType.ITEM, "Divine Super Attack", 5, ChronoUnit.MINUTES, true), - DIVINE_SUPER_STRENGTH(ItemID.DIVINE_SUPER_STRENGTH_POTION4, GameTimerImageType.ITEM, "Divine Super Strength", 5, ChronoUnit.MINUTES, true), - DIVINE_SUPER_DEFENCE(ItemID.DIVINE_SUPER_DEFENCE_POTION4, GameTimerImageType.ITEM, "Divine Super Defence", 5, ChronoUnit.MINUTES, true), - DIVINE_SUPER_COMBAT(ItemID.DIVINE_SUPER_COMBAT_POTION4, GameTimerImageType.ITEM, "Divine Super Combat", 5, ChronoUnit.MINUTES, true), - DIVINE_RANGING(ItemID.DIVINE_RANGING_POTION4, GameTimerImageType.ITEM, "Divine Ranging", 5, ChronoUnit.MINUTES, true), - DIVINE_MAGIC(ItemID.DIVINE_MAGIC_POTION4, GameTimerImageType.ITEM, "Divine Magic", 5, ChronoUnit.MINUTES, true); + DIVINE_SUPER_ATTACK(ItemID.DIVINE_SUPER_ATTACK_POTION4, GameTimerImageType.ITEM, "Divine Super Attack", 5, ChronoUnit.MINUTES), + DIVINE_SUPER_STRENGTH(ItemID.DIVINE_SUPER_STRENGTH_POTION4, GameTimerImageType.ITEM, "Divine Super Strength", 5, ChronoUnit.MINUTES), + DIVINE_SUPER_DEFENCE(ItemID.DIVINE_SUPER_DEFENCE_POTION4, GameTimerImageType.ITEM, "Divine Super Defence", 5, ChronoUnit.MINUTES), + DIVINE_SUPER_COMBAT(ItemID.DIVINE_SUPER_COMBAT_POTION4, GameTimerImageType.ITEM, "Divine Super Combat", 5, ChronoUnit.MINUTES), + DIVINE_RANGING(ItemID.DIVINE_RANGING_POTION4, GameTimerImageType.ITEM, "Divine Ranging", 5, ChronoUnit.MINUTES), + DIVINE_MAGIC(ItemID.DIVINE_MAGIC_POTION4, GameTimerImageType.ITEM, "Divine Magic", 5, ChronoUnit.MINUTES); private final Duration duration; private final Integer graphicId; From e3edc16f869efd0f81fc39ddb02547267587ed7b Mon Sep 17 00:00:00 2001 From: 15987632 Date: Sun, 10 Nov 2019 22:20:24 -0500 Subject: [PATCH 15/66] raids plugin: fix rotation solver --- .../runelite/client/plugins/raids/Raid.java | 19 +++++++++++++++++++ .../client/plugins/raids/RaidsPlugin.java | 4 +++- .../plugins/raids/RotationSolverTest.java | 8 ++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java index a237fc03cd..87181b4085 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java @@ -98,6 +98,25 @@ public class Raid return combatRooms.toArray(new RaidRoom[0]); } + void setCombatRooms(RaidRoom[] combatRooms) + { + int index = 0; + + for (Room room : layout.getRooms()) + { + if (room == null) + { + continue; + } + + if (rooms[room.getPosition()].getType() == RoomType.COMBAT) + { + rooms[room.getPosition()] = combatRooms[index]; + index++; + } + } + } + public String toCode() { StringBuilder builder = new StringBuilder(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index 5047c4e625..f25ba51534 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -320,7 +320,9 @@ public class RaidsPlugin extends Plugin } raid.updateLayout(layout); - RotationSolver.solve(raid.getCombatRooms()); + RaidRoom[] rooms = raid.getCombatRooms(); + RotationSolver.solve(rooms); + raid.setCombatRooms(rooms); overlay.setScoutOverlayShown(true); if (config.layoutMessage()) diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java index 5c2bba30e6..38039ca832 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java @@ -69,4 +69,12 @@ public class RotationSolverTest RotationSolver.solve(rooms); assertArrayEquals(new RaidRoom[]{VASA, SHAMANS, VESPULA, GUARDIANS}, rooms); } + + @Test + public void testSolve5() + { + RaidRoom[] rooms = new RaidRoom[]{GUARDIANS, UNKNOWN_COMBAT, SHAMANS, VASA}; + RotationSolver.solve(rooms); + assertArrayEquals(new RaidRoom[]{GUARDIANS, VESPULA, SHAMANS, VASA}, rooms); + } } \ No newline at end of file From 4beb8766abc218152b78977bd5f72bb5de4216d8 Mon Sep 17 00:00:00 2001 From: winterdaze <35933468+winterdaze@users.noreply.github.com> Date: Mon, 11 Nov 2019 19:24:08 -0500 Subject: [PATCH 16/66] Make GWD kill count overlay movable (#10238) --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 6 ++++++ .../src/main/java/net/runelite/api/widgets/WidgetInfo.java | 2 ++ .../java/net/runelite/client/ui/overlay/WidgetOverlay.java | 1 + 3 files changed, 9 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index f1dbef7b29..3ccaf94371 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -147,6 +147,7 @@ public class WidgetID public static final int SEED_VAULT_GROUP_ID = 631; public static final int EXPLORERS_RING_ALCH_GROUP_ID = 483; public static final int OPTIONS_GROUP_ID = 261; + public static final int GWD_KC_GROUP_ID = 406; static class WorldMap { @@ -589,6 +590,11 @@ public class WidgetID static final int REWARD_TEXT = 57; } + static class GWD + { + static final int CONTAINER = 7; + } + static class LevelUp { static final int SKILL = 1; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index d0fd4a8c5b..fe2e03e720 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -387,6 +387,8 @@ public enum WidgetInfo MOTHERLODE_MINE(WidgetID.MOTHERLODE_MINE_GROUP_ID, 0), + GWD_KC(WidgetID.GWD_KC_GROUP_ID, WidgetID.GWD.CONTAINER), + PUZZLE_BOX(WidgetID.PUZZLE_BOX_GROUP_ID, WidgetID.PuzzleBox.VISIBLE_BOX), LIGHT_BOX(WidgetID.LIGHT_BOX_GROUP_ID, WidgetID.LightBox.LIGHT_BOX), diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java index 87a4de12ac..442df47631 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java @@ -45,6 +45,7 @@ public class WidgetOverlay extends Overlay .put(WidgetInfo.FOSSIL_ISLAND_OXYGENBAR, OverlayPosition.TOP_LEFT) .put(WidgetInfo.EXPERIENCE_TRACKER_WIDGET, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.RAIDS_POINTS_INFOBOX, OverlayPosition.TOP_RIGHT) + .put(WidgetInfo.GWD_KC, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.TITHE_FARM, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.PEST_CONTROL_BOAT_INFO, OverlayPosition.TOP_LEFT) .put(WidgetInfo.PEST_CONTROL_INFO, OverlayPosition.TOP_LEFT) From fd3a235d7f029d9e4c5a241a4b41be3921457d31 Mon Sep 17 00:00:00 2001 From: neeerp Date: Sat, 2 Nov 2019 20:08:01 -0400 Subject: [PATCH 17/66] music plugin: add more area mute options This adds an option to mute your own area sounds, sounds from npcs, and sounds with no source. --- .../client/plugins/music/MusicConfig.java | 38 ++++++++++++++++++- .../client/plugins/music/MusicPlugin.java | 18 ++++++++- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicConfig.java index e425a10f08..16eea65c9f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicConfig.java @@ -31,16 +31,50 @@ import net.runelite.client.config.ConfigItem; @ConfigGroup("music") public interface MusicConfig extends Config { + @ConfigItem( + keyName = "muteOwnAreaSounds", + name = "Mute player area sounds", + description = "Mute area sounds caused by yourself", + position = 0 + ) + default boolean muteOwnAreaSounds() + { + return false; + } + @ConfigItem( keyName = "muteOtherAreaSounds", - name = "Mute others' area sounds", - description = "Mute area sounds caused from other players" + name = "Mute other players' area sounds", + description = "Mute area sounds caused by other players", + position = 1 ) default boolean muteOtherAreaSounds() { return false; } + @ConfigItem( + keyName = "muteOtherAreaNPCSounds", + name = "Mute NPCs' area sounds", + description = "Mute area sounds caused by NPCs", + position = 2 + ) + default boolean muteNpcAreaSounds() + { + return false; + } + + @ConfigItem( + keyName = "muteOtherAreaEnvironmentSounds", + name = "Mute environment area sounds", + description = "Mute area sounds caused by neither NPCs nor players", + position = 3 + ) + default boolean muteEnvironmentAreaSounds() + { + return false; + } + @ConfigItem( keyName = "musicVolume", name = "", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java index 02b95e1e44..3aca086669 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java @@ -40,6 +40,7 @@ import lombok.Setter; import net.runelite.api.Actor; import net.runelite.api.Client; import net.runelite.api.GameState; +import net.runelite.api.NPC; import net.runelite.api.Player; import net.runelite.api.ScriptID; import net.runelite.api.SoundEffectID; @@ -557,11 +558,26 @@ public class MusicPlugin extends Plugin public void onAreaSoundEffectPlayed(AreaSoundEffectPlayed areaSoundEffectPlayed) { Actor source = areaSoundEffectPlayed.getSource(); - if (source != client.getLocalPlayer() + if (source == client.getLocalPlayer() + && musicConfig.muteOwnAreaSounds()) + { + areaSoundEffectPlayed.consume(); + } + else if (source != client.getLocalPlayer() && source instanceof Player && musicConfig.muteOtherAreaSounds()) { areaSoundEffectPlayed.consume(); } + else if (source instanceof NPC + && musicConfig.muteNpcAreaSounds()) + { + areaSoundEffectPlayed.consume(); + } + else if (source == null + && musicConfig.muteEnvironmentAreaSounds()) + { + areaSoundEffectPlayed.consume(); + } } } \ No newline at end of file From 3775bdacabe35a6cc369053aae98667604bfc02e Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 8 Nov 2019 10:34:06 -0500 Subject: [PATCH 18/66] api: add fake xp drop event --- .../net/runelite/api/events/FakeXpDrop.java | 35 +++ .../net/runelite/client/callback/Hooks.java | 25 ++ .../src/main/scripts/FakeXpDrop.hash | 1 + .../src/main/scripts/FakeXpDrop.rs2asm | 256 ++++++++++++++++++ 4 files changed, 317 insertions(+) create mode 100644 runelite-api/src/main/java/net/runelite/api/events/FakeXpDrop.java create mode 100644 runelite-client/src/main/scripts/FakeXpDrop.hash create mode 100644 runelite-client/src/main/scripts/FakeXpDrop.rs2asm diff --git a/runelite-api/src/main/java/net/runelite/api/events/FakeXpDrop.java b/runelite-api/src/main/java/net/runelite/api/events/FakeXpDrop.java new file mode 100644 index 0000000000..67cbeea22d --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/events/FakeXpDrop.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2019, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api.events; + +import lombok.Value; +import net.runelite.api.Skill; + +@Value +public class FakeXpDrop +{ + private final Skill skill; + private final int xp; +} diff --git a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java index ca2053e446..9954f322dc 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java @@ -47,11 +47,14 @@ import net.runelite.api.MainBufferProvider; import net.runelite.api.NullItemID; import net.runelite.api.RenderOverview; import net.runelite.api.Renderable; +import net.runelite.api.Skill; import net.runelite.api.WorldMapManager; import net.runelite.api.events.BeforeMenuRender; import net.runelite.api.events.BeforeRender; +import net.runelite.api.events.FakeXpDrop; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; +import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.hooks.Callbacks; import net.runelite.api.hooks.DrawCallbacks; import net.runelite.api.widgets.Widget; @@ -550,4 +553,26 @@ public class Hooks implements Callbacks client.getCallbacks().post(event); return event.isConsumed(); } + + @Subscribe + public void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent) + { + if (!scriptCallbackEvent.getEventName().equals("fakeXpDrop")) + { + return; + } + + final int[] intStack = client.getIntStack(); + final int intStackSize = client.getIntStackSize(); + + final int statId = intStack[intStackSize - 2]; + final int xp = intStack[intStackSize - 1]; + + Skill skill = Skill.values()[statId]; + FakeXpDrop fakeXpDrop = new FakeXpDrop( + skill, + xp + ); + eventBus.post(fakeXpDrop); + } } diff --git a/runelite-client/src/main/scripts/FakeXpDrop.hash b/runelite-client/src/main/scripts/FakeXpDrop.hash new file mode 100644 index 0000000000..cf5e37e931 --- /dev/null +++ b/runelite-client/src/main/scripts/FakeXpDrop.hash @@ -0,0 +1 @@ +32FBC48F8C6D8E62E02BCF09F444BA036F76133B6596396F0AB9E474687D9F3F \ No newline at end of file diff --git a/runelite-client/src/main/scripts/FakeXpDrop.rs2asm b/runelite-client/src/main/scripts/FakeXpDrop.rs2asm new file mode 100644 index 0000000000..93ac905034 --- /dev/null +++ b/runelite-client/src/main/scripts/FakeXpDrop.rs2asm @@ -0,0 +1,256 @@ +.id 2091 +.int_stack_count 2 +.string_stack_count 0 +.int_var_count 2 +.string_var_count 0 + iload 0 ; stat + iload 1 ; xp + sconst "fakeXpDrop" + runelite_callback + pop_int + pop_int + iconst 105 + iconst 83 + iconst 681 + get_varc_int 207 + coordx + enum + iload 0 + if_icmpeq LABEL9 + jump LABEL16 +LABEL9: + get_varc_int 207 + iconst 0 + iconst 0 + iload 1 + movecoord + set_varc_int 207 + jump LABEL216 +LABEL16: + iconst 105 + iconst 83 + iconst 681 + get_varc_int 208 + coordx + enum + iload 0 + if_icmpeq LABEL25 + jump LABEL32 +LABEL25: + get_varc_int 208 + iconst 0 + iconst 0 + iload 1 + movecoord + set_varc_int 208 + jump LABEL216 +LABEL32: + iconst 105 + iconst 83 + iconst 681 + get_varc_int 209 + coordx + enum + iload 0 + if_icmpeq LABEL41 + jump LABEL48 +LABEL41: + get_varc_int 209 + iconst 0 + iconst 0 + iload 1 + movecoord + set_varc_int 209 + jump LABEL216 +LABEL48: + iconst 105 + iconst 83 + iconst 681 + get_varc_int 210 + coordx + enum + iload 0 + if_icmpeq LABEL57 + jump LABEL64 +LABEL57: + get_varc_int 210 + iconst 0 + iconst 0 + iload 1 + movecoord + set_varc_int 210 + jump LABEL216 +LABEL64: + iconst 105 + iconst 83 + iconst 681 + get_varc_int 211 + coordx + enum + iload 0 + if_icmpeq LABEL73 + jump LABEL80 +LABEL73: + get_varc_int 211 + iconst 0 + iconst 0 + iload 1 + movecoord + set_varc_int 211 + jump LABEL216 +LABEL80: + iconst 105 + iconst 83 + iconst 681 + get_varc_int 212 + coordx + enum + iload 0 + if_icmpeq LABEL89 + jump LABEL96 +LABEL89: + get_varc_int 212 + iconst 0 + iconst 0 + iload 1 + movecoord + set_varc_int 212 + jump LABEL216 +LABEL96: + iconst 105 + iconst 83 + iconst 681 + get_varc_int 213 + coordx + enum + iload 0 + if_icmpeq LABEL105 + jump LABEL112 +LABEL105: + get_varc_int 213 + iconst 0 + iconst 0 + iload 1 + movecoord + set_varc_int 213 + jump LABEL216 +LABEL112: + get_varc_int 207 + iconst -1 + if_icmpeq LABEL116 + jump LABEL127 +LABEL116: + iconst 0 + iconst 83 + iconst 105 + iconst 81 + iload 0 + enum + iconst 0 + iload 1 + movecoord + set_varc_int 207 + jump LABEL216 +LABEL127: + get_varc_int 208 + iconst -1 + if_icmpeq LABEL131 + jump LABEL142 +LABEL131: + iconst 0 + iconst 83 + iconst 105 + iconst 81 + iload 0 + enum + iconst 0 + iload 1 + movecoord + set_varc_int 208 + jump LABEL216 +LABEL142: + get_varc_int 209 + iconst -1 + if_icmpeq LABEL146 + jump LABEL157 +LABEL146: + iconst 0 + iconst 83 + iconst 105 + iconst 81 + iload 0 + enum + iconst 0 + iload 1 + movecoord + set_varc_int 209 + jump LABEL216 +LABEL157: + get_varc_int 210 + iconst -1 + if_icmpeq LABEL161 + jump LABEL172 +LABEL161: + iconst 0 + iconst 83 + iconst 105 + iconst 81 + iload 0 + enum + iconst 0 + iload 1 + movecoord + set_varc_int 210 + jump LABEL216 +LABEL172: + get_varc_int 211 + iconst -1 + if_icmpeq LABEL176 + jump LABEL187 +LABEL176: + iconst 0 + iconst 83 + iconst 105 + iconst 81 + iload 0 + enum + iconst 0 + iload 1 + movecoord + set_varc_int 211 + jump LABEL216 +LABEL187: + get_varc_int 212 + iconst -1 + if_icmpeq LABEL191 + jump LABEL202 +LABEL191: + iconst 0 + iconst 83 + iconst 105 + iconst 81 + iload 0 + enum + iconst 0 + iload 1 + movecoord + set_varc_int 212 + jump LABEL216 +LABEL202: + get_varc_int 213 + iconst -1 + if_icmpeq LABEL206 + jump LABEL216 +LABEL206: + iconst 0 + iconst 83 + iconst 105 + iconst 81 + iload 0 + enum + iconst 0 + iload 1 + movecoord + set_varc_int 213 +LABEL216: + return From e12d0bd23bdda7ebb73b6f9686d1e7b0bee2c29e Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 8 Nov 2019 10:34:20 -0500 Subject: [PATCH 19/66] speccounter: support fake xpdrops --- .../specialcounter/SpecialCounterPlugin.java | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java index 59330554c1..ad45a84565 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java @@ -40,9 +40,11 @@ import net.runelite.api.NPCComposition; import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.VarPlayer; +import net.runelite.api.events.FakeXpDrop; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.NpcDespawned; +import net.runelite.api.events.StatChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.client.callback.ClientThread; import net.runelite.client.eventbus.Subscribe; @@ -65,6 +67,7 @@ public class SpecialCounterPlugin extends Plugin private int currentWorld = -1; private int specialPercentage = -1; private int specialHitpointsExperience = -1; + private int specialHitpointsGained = -1; private boolean specialUsed; private double modifier = 1d; @@ -138,6 +141,25 @@ public class SpecialCounterPlugin extends Plugin specialUsed = true; specialHitpointsExperience = client.getSkillExperience(Skill.HITPOINTS); + specialHitpointsGained = -1; + } + + @Subscribe + public void onStatChanged(StatChanged statChanged) + { + if (specialUsed && statChanged.getSkill() == Skill.HITPOINTS) + { + specialHitpointsGained = statChanged.getXp() - specialHitpointsExperience; + } + } + + @Subscribe + public void onFakeXpDrop(FakeXpDrop fakeXpDrop) + { + if (specialUsed && fakeXpDrop.getSkill() == Skill.HITPOINTS) + { + specialHitpointsGained = fakeXpDrop.getXp(); + } } @Subscribe @@ -149,13 +171,11 @@ public class SpecialCounterPlugin extends Plugin } int interactingId = checkInteracting(); - - if (interactingId > -1 && specialHitpointsExperience != -1 && specialUsed) + if (interactingId > -1 && specialUsed) { + int deltaExperience = specialHitpointsGained; + specialUsed = false; - int hpXp = client.getSkillExperience(Skill.HITPOINTS); - int deltaExperience = hpXp - specialHitpointsExperience; - specialHitpointsExperience = -1; if (deltaExperience > 0) { From 87c6811819921b17689068be9aa202696df27983 Mon Sep 17 00:00:00 2001 From: BenDol Date: Thu, 6 Sep 2018 10:08:12 +1200 Subject: [PATCH 20/66] defaultworld: add option to use last world as default --- .../defaultworld/DefaultWorldConfig.java | 32 ++++++++++++++++++- .../defaultworld/DefaultWorldPlugin.java | 7 +++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldConfig.java index 480d4c891d..3a750f2e42 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldConfig.java @@ -28,9 +28,11 @@ import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -@ConfigGroup("defaultworld") +@ConfigGroup(DefaultWorldConfig.GROUP) public interface DefaultWorldConfig extends Config { + final String GROUP = "defaultworld"; + @ConfigItem( keyName = "defaultWorld", name = "Default world", @@ -40,4 +42,32 @@ public interface DefaultWorldConfig extends Config { return 0; } + + @ConfigItem( + keyName = "useLastWorld", + name = "Use Last World", + description = "Use the last world you used as the default" + ) + default boolean useLastWorld() + { + return false; + } + + @ConfigItem( + keyName = "lastWorld", + name = "", + description = "", + hidden = true + ) + default int lastWorld() + { + return 0; + } + + @ConfigItem( + keyName = "lastWorld", + name = "", + description = "" + ) + void lastWorld(int lastWorld); } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java index 279d7abf49..1f97074772 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java @@ -91,6 +91,11 @@ public class DefaultWorldPlugin extends Plugin @Subscribe public void onGameStateChanged(GameStateChanged event) { + if (event.getGameState() == GameState.LOGGED_IN) + { + config.lastWorld(client.getWorld()); + } + applyWorld(); } @@ -155,7 +160,7 @@ public class DefaultWorldPlugin extends Plugin log.debug("Stored old world {}", worldCache); } - final int newWorld = config.getWorld(); + final int newWorld = !config.useLastWorld() ? config.getWorld() : config.lastWorld(); changeWorld(newWorld); } } From 530d05a369971aaca6309fdd3e0fd28d3c7e2b94 Mon Sep 17 00:00:00 2001 From: "Daniel (Danomate)" Date: Wed, 13 Nov 2019 04:13:58 +1030 Subject: [PATCH 21/66] cannon: add cannon spot for trolls at Quidamortem (#10242) --- .../java/net/runelite/client/plugins/cannon/CannonSpots.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java index 848fd1dcd6..b8b8ddd9c5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java @@ -40,7 +40,7 @@ public enum CannonSpots BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0), new WorldPoint(1421, 10089, 1)), ELVES(new WorldPoint(2044, 4635, 0), new WorldPoint(3278, 6098, 0)), SUQAHS(new WorldPoint(2114, 3943, 0)), - TROLLS(new WorldPoint(2401, 3856, 0)), + TROLLS(new WorldPoint(2401, 3856, 0), new WorldPoint(1242, 3517, 0)), GREATER_DEMONS(new WorldPoint(1435, 10086, 2)), BRINE_RAT(new WorldPoint(2707, 10132, 0)), DAGGANOTH(new WorldPoint(2524, 10020, 0)), From 51e951e4dc9229e963d00d048e766160fd77ccbb Mon Sep 17 00:00:00 2001 From: dekvall Date: Wed, 13 Nov 2019 23:07:12 +0100 Subject: [PATCH 22/66] attack styles: add test for swap between bludgeon and bow When swapping between bludgeon and bow, onWidgetHiddenChanged is called before the weapon varbit is set. Since that varbit determines which widgets should be hidden we would like to make sure the widget is set to hidden even after a varbit change. --- .../attackstyles/AttackStylesPluginTest.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java index 6a6a55a1c0..3b900c283d 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/attackstyles/AttackStylesPluginTest.java @@ -33,6 +33,7 @@ import net.runelite.api.Client; import net.runelite.api.Skill; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; +import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.api.widgets.Widget; @@ -43,8 +44,11 @@ import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; import org.mockito.Mock; +import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.mockito.junit.MockitoJUnitRunner; @@ -169,6 +173,60 @@ public class AttackStylesPluginTest WidgetInfo.COMBAT_STYLE_THREE)); } + /* + * Verify that the defensive style is hidden when switching from bludgeon to bow + */ + @Test + public void testHiddenLongrange() + { + final ArgumentCaptor captor = ArgumentCaptor.forClass(Boolean.class); + final ConfigChanged warnForAttackEvent = new ConfigChanged(); + warnForAttackEvent.setGroup("attackIndicator"); + warnForAttackEvent.setKey("warnForDefensive"); + warnForAttackEvent.setNewValue("true"); + attackPlugin.onConfigChanged(warnForAttackEvent); + + // verify there is a warned skill + Set warnedSkills = attackPlugin.getWarnedSkills(); + assertTrue(warnedSkills.contains(Skill.DEFENCE)); + + // Set up mock widget for strength and longrange + final Widget widget = mock(Widget.class); + when(client.getWidget(WidgetInfo.COMBAT_STYLE_FOUR)).thenReturn(widget); + + // Set up hidden changed event + final WidgetHiddenChanged widgetHiddenChanged = new WidgetHiddenChanged(); + widgetHiddenChanged.setWidget(widget); + when(widget.getId()).thenReturn(WidgetInfo.COMBAT_STYLE_FOUR.getPackedId()); + + // Enable hiding widgets + final ConfigChanged hideWidgetEvent = new ConfigChanged(); + hideWidgetEvent.setGroup("attackIndicator"); + hideWidgetEvent.setKey("removeWarnedStyles"); + hideWidgetEvent.setNewValue("true"); + attackPlugin.onConfigChanged(hideWidgetEvent); + when(attackConfig.removeWarnedStyles()).thenReturn(true); + + // equip bludgeon on player + when(client.getVar(Varbits.EQUIPPED_WEAPON_TYPE)).thenReturn(WeaponType.TYPE_26.ordinal()); + attackPlugin.onVarbitChanged(new VarbitChanged()); + attackPlugin.onWidgetHiddenChanged(widgetHiddenChanged); + + // verify that the agressive style style widget is showing + verify(widget, atLeastOnce()).setHidden(captor.capture()); + assertFalse(captor.getValue()); + + // equip bow on player + // the equipped weaopn varbit will change after the hiddenChanged event has been dispatched + attackPlugin.onWidgetHiddenChanged(widgetHiddenChanged); + when(client.getVar(Varbits.EQUIPPED_WEAPON_TYPE)).thenReturn(WeaponType.TYPE_3.ordinal()); + attackPlugin.onVarbitChanged(new VarbitChanged()); + + // verify that the longrange attack style widget is now hidden + verify(widget, atLeastOnce()).setHidden(captor.capture()); + assertTrue(captor.getValue()); + } + private boolean isAtkHidden() { if (attackPlugin.getHiddenWidgets().size() == 0) From 0ea88f2ecf4c8f18c9953fd7a64df2f14e3d7927 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 14 Nov 2019 10:35:56 +0000 Subject: [PATCH 23/66] Update Item IDs to 2019-11-14-rev182 --- .../main/java/net/runelite/api/ItemID.java | 29 +++++++++++++++ .../java/net/runelite/api/NullItemID.java | 36 +++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index c460d07ef4..8b955ca420 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -11325,5 +11325,34 @@ public final class ItemID public static final int BOUNTY_HUNTER_HAT_TIER_4 = 24344; public static final int BOUNTY_HUNTER_HAT_TIER_5 = 24346; public static final int BOUNTY_HUNTER_HAT_TIER_6 = 24348; + public static final int SCROLL_BOX_BEGINNER = 24361; + public static final int SCROLL_BOX_EASY = 24362; + public static final int SCROLL_BOX_MEDIUM = 24363; + public static final int SCROLL_BOX_HARD = 24364; + public static final int SCROLL_BOX_ELITE = 24365; + public static final int SCROLL_BOX_MASTER = 24366; + public static final int CABBAGE_24367 = 24367; + public static final int TWISTED_SLAYER_HELMET = 24370; + public static final int TWISTED_LEAGUE_DRAGON_TROPHY = 24372; + public static final int TWISTED_LEAGUE_RUNE_TROPHY = 24374; + public static final int TWISTED_LEAGUE_ADAMANT_TROPHY = 24376; + public static final int TWISTED_LEAGUE_MITHRIL_TROPHY = 24378; + public static final int TWISTED_LEAGUE_STEEL_TROPHY = 24380; + public static final int TWISTED_LEAGUE_IRON_TROPHY = 24382; + public static final int TWISTED_LEAGUE_BRONZE_TROPHY = 24384; + public static final int TWISTED_HAT_T3 = 24387; + public static final int TWISTED_COAT_T3 = 24389; + public static final int TWISTED_TROUSERS_T3 = 24391; + public static final int TWISTED_BOOTS_T3 = 24393; + public static final int TWISTED_CANE = 24395; + public static final int TWISTED_HAT_T2 = 24397; + public static final int TWISTED_COAT_T2 = 24399; + public static final int TWISTED_TROUSERS_T2 = 24401; + public static final int TWISTED_BOOTS_T2 = 24403; + public static final int TWISTED_HAT_T1 = 24405; + public static final int TWISTED_COAT_T1 = 24407; + public static final int TWISTED_TROUSERS_T1 = 24409; + public static final int TWISTED_BOOTS_T1 = 24411; + public static final int TWISTED_LEAGUE_BANNER = 24413; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullItemID.java b/runelite-api/src/main/java/net/runelite/api/NullItemID.java index f5a405debc..91f4b15a8d 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullItemID.java @@ -12814,5 +12814,41 @@ public final class NullItemID public static final int NULL_24345 = 24345; public static final int NULL_24347 = 24347; public static final int NULL_24349 = 24349; + public static final int NULL_24350 = 24350; + public static final int NULL_24351 = 24351; + public static final int NULL_24352 = 24352; + public static final int NULL_24353 = 24353; + public static final int NULL_24354 = 24354; + public static final int NULL_24355 = 24355; + public static final int NULL_24356 = 24356; + public static final int NULL_24357 = 24357; + public static final int NULL_24358 = 24358; + public static final int NULL_24359 = 24359; + public static final int NULL_24360 = 24360; + public static final int NULL_24368 = 24368; + public static final int NULL_24369 = 24369; + public static final int NULL_24371 = 24371; + public static final int NULL_24373 = 24373; + public static final int NULL_24375 = 24375; + public static final int NULL_24377 = 24377; + public static final int NULL_24379 = 24379; + public static final int NULL_24381 = 24381; + public static final int NULL_24383 = 24383; + public static final int NULL_24385 = 24385; + public static final int NULL_24386 = 24386; + public static final int NULL_24388 = 24388; + public static final int NULL_24390 = 24390; + public static final int NULL_24392 = 24392; + public static final int NULL_24394 = 24394; + public static final int NULL_24396 = 24396; + public static final int NULL_24398 = 24398; + public static final int NULL_24400 = 24400; + public static final int NULL_24402 = 24402; + public static final int NULL_24404 = 24404; + public static final int NULL_24406 = 24406; + public static final int NULL_24408 = 24408; + public static final int NULL_24410 = 24410; + public static final int NULL_24412 = 24412; + public static final int NULL_24414 = 24414; /* This file is automatically generated. Do not edit. */ } From 95220a437133087a89b8e811d33c60c08fca1fe8 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 14 Nov 2019 10:35:56 +0000 Subject: [PATCH 24/66] Update Item variations to 2019-11-14-rev182 --- .../src/main/resources/item_variations.json | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/resources/item_variations.json b/runelite-client/src/main/resources/item_variations.json index 8958eaa923..66ef2d3c50 100644 --- a/runelite-client/src/main/resources/item_variations.json +++ b/runelite-client/src/main/resources/item_variations.json @@ -2456,7 +2456,8 @@ 1965, 1967, 22519, - 22520 + 22520, + 24367 ], "empty cup": [ 1980, @@ -7784,7 +7785,8 @@ 21888, 21890, 23073, - 23075 + 23075, + 24370 ], "slayer ring": [ 11866, @@ -9638,5 +9640,33 @@ 24344, 24346, 24348 + ], + "scroll box": [ + 24361, + 24362, + 24363, + 24364, + 24365, + 24366 + ], + "twisted hat": [ + 24387, + 24397, + 24405 + ], + "twisted coat": [ + 24389, + 24399, + 24407 + ], + "twisted trousers": [ + 24391, + 24401, + 24409 + ], + "twisted boots": [ + 24393, + 24403, + 24411 ] } \ No newline at end of file From 5e96c4db4b53b7bc8e9defa0d8f916375f749c4f Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 14 Nov 2019 10:35:57 +0000 Subject: [PATCH 25/66] Update Object IDs to 2019-11-14-rev182 --- .../java/net/runelite/api/NullObjectID.java | 18 ++++++++++++++++ .../main/java/net/runelite/api/ObjectID.java | 21 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index feaf84d503..86b6e4a5bd 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -18041,6 +18041,8 @@ public final class NullObjectID public static final int NULL_37436 = 37436; public static final int NULL_37437 = 37437; public static final int NULL_37438 = 37438; + public static final int NULL_37439 = 37439; + public static final int NULL_37440 = 37440; public static final int NULL_37446 = 37446; public static final int NULL_37447 = 37447; public static final int NULL_37448 = 37448; @@ -18052,5 +18054,21 @@ public final class NullObjectID public static final int NULL_37455 = 37455; public static final int NULL_37456 = 37456; public static final int NULL_37457 = 37457; + public static final int NULL_37467 = 37467; + public static final int NULL_37468 = 37468; + public static final int NULL_37469 = 37469; + public static final int NULL_37470 = 37470; + public static final int NULL_37471 = 37471; + public static final int NULL_37472 = 37472; + public static final int NULL_37473 = 37473; + public static final int NULL_37474 = 37474; + public static final int NULL_37475 = 37475; + public static final int NULL_37476 = 37476; + public static final int NULL_37477 = 37477; + public static final int NULL_37478 = 37478; + public static final int NULL_37479 = 37479; + public static final int NULL_37480 = 37480; + public static final int NULL_37481 = 37481; + public static final int NULL_37490 = 37490; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index 1b3e52cf3b..3eaebb674f 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -19385,7 +19385,28 @@ public final class ObjectID public static final int ROUGH_WALL_37431 = 37431; public static final int STREAK_INFO = 37434; public static final int SWAMPY_SINK = 37435; + public static final int SHUTTERED_WINDOW_37441 = 37441; + public static final int DECORATIVE_WINDOW_37442 = 37442; + public static final int STAINEDGLASS_WINDOW_37443 = 37443; public static final int LOG_PILE_37444 = 37444; public static final int HOTSPOT_MARKER = 37445; + public static final int DECORATIVE_WINDOW_37450 = 37450; + public static final int STAINEDGLASS_WINDOW_37458 = 37458; + public static final int DECORATIVE_WINDOW_37459 = 37459; + public static final int STAINEDGLASS_WINDOW_37460 = 37460; + public static final int DECORATIVE_WINDOW_37461 = 37461; + public static final int STAINEDGLASS_WINDOW_37462 = 37462; + public static final int DOOR_37463 = 37463; + public static final int DOOR_37464 = 37464; + public static final int DOOR_37465 = 37465; + public static final int DOOR_37466 = 37466; + public static final int LEAGUE_FIRSTS_BOARD = 37482; + public static final int DRAGON_TROPHY_DISPLAY = 37483; + public static final int DRAGON_TROPHY_DISPLAY_37484 = 37484; + public static final int DRAGON_TROPHY_DISPLAY_37485 = 37485; + public static final int DRAGON_TROPHY_DISPLAY_37486 = 37486; + public static final int DRAGON_TROPHY_DISPLAY_37487 = 37487; + public static final int DRAGON_TROPHY_DISPLAY_37488 = 37488; + public static final int DRAGON_TROPHY_DISPLAY_37489 = 37489; /* This file is automatically generated. Do not edit. */ } From abaaf3a121dd82aa3fed82052fc83cbee34937f5 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 14 Nov 2019 10:35:57 +0000 Subject: [PATCH 26/66] Update NPC IDs to 2019-11-14-rev182 --- runelite-api/src/main/java/net/runelite/api/NpcID.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NpcID.java b/runelite-api/src/main/java/net/runelite/api/NpcID.java index fac80584cc..c40eac4e49 100644 --- a/runelite-api/src/main/java/net/runelite/api/NpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java @@ -308,7 +308,8 @@ public final class NpcID public static final int FROG = 312; public static final int REACHER_313 = 313; public static final int DR_JEKYLL_314 = 314; - public static final int PAUL = 317; + public static final int LEAGUES_TUTOR = 315; + public static final int LEAGUES_TUTOR_316 = 316; public static final int DARK_CORE = 318; public static final int CORPOREAL_BEAST = 319; public static final int DARK_ENERGY_CORE = 320; @@ -7160,6 +7161,7 @@ public final class NpcID public static final int REVENANT_DARK_BEAST = 7938; public static final int REVENANT_KNIGHT = 7939; public static final int REVENANT_DRAGON = 7940; + public static final int PAUL = 7941; public static final int EMBLEM_TRADER_7943 = 7943; public static final int FISHING_SPOT_7946 = 7946; public static final int FISHING_SPOT_7947 = 7947; From ab92e56d080c990e96e3a7b92601e4134e4a5e9b Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 14 Nov 2019 10:36:03 +0000 Subject: [PATCH 27/66] Update Scripts to 2019-11-14-rev182 --- .../src/main/scripts/ChatSplitBuilder.hash | 2 +- .../src/main/scripts/ChatSplitBuilder.rs2asm | 20 +-- .../main/scripts/OptionsPanelRebuilder.hash | 2 +- .../main/scripts/OptionsPanelRebuilder.rs2asm | 26 ++-- .../main/scripts/QuestListShowProgress.hash | 2 +- .../main/scripts/QuestListShowProgress.rs2asm | 144 +++++++++++------- .../src/main/scripts/ResetChatboxInput.hash | 2 +- .../src/main/scripts/ResetChatboxInput.rs2asm | 14 +- 8 files changed, 122 insertions(+), 90 deletions(-) diff --git a/runelite-client/src/main/scripts/ChatSplitBuilder.hash b/runelite-client/src/main/scripts/ChatSplitBuilder.hash index 9e67531c83..dae4dd64a2 100644 --- a/runelite-client/src/main/scripts/ChatSplitBuilder.hash +++ b/runelite-client/src/main/scripts/ChatSplitBuilder.hash @@ -1 +1 @@ -5BCAA21926CF079794AAF3DA80E512297DD6F8353741929302FE6490D17DDF8C \ No newline at end of file +2A7509A05B336AC79015C479B39CDB3E1D3F10A57C6B96B2162E87352B4F25A3 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm b/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm index 354aa42e71..ed561e82ef 100644 --- a/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm +++ b/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm @@ -62,7 +62,7 @@ LABEL49: iconst 73 iconst 73 iload 6 - iconst 10551325 + iconst 10551326 enum if_getheight add @@ -361,9 +361,9 @@ CHAT_FILTER: iload 15 ; Load the messageType iload 12 ; Load the id of the messageNode sconst "chatFilterCheck" - runelite_callback - pop_int ; Pop the id of the messageNode - pop_int ; Pop the messageType + runelite_callback + pop_int ; Pop the id of the messageNode + pop_int ; Pop the messageType iconst 1 ; 2nd half of conditional sstore 0 ; Override the message with our filtered message if_icmpeq LABEL327 ; Check if we are building this message @@ -380,8 +380,8 @@ LABEL330: iload 12 ; Load the id of the messageNode sconst "" ; Push a container for the timestamp sconst "addTimestamp" ; Push event name - runelite_callback ; Invoke callback - pop_int ; Pop the id of the messageNode + runelite_callback ; Invoke callback + pop_int ; Pop the id of the messageNode sconst "From " sload 1 sconst ":" @@ -409,8 +409,8 @@ LABEL351: iload 12 ; Load the id of the messageNode sconst "" ; Push container for the timestamp sconst "addTimestamp" ; Push event name - runelite_callback ; Invoke callback - pop_int ; Pop the id of the messageNode + runelite_callback ; Invoke callback + pop_int ; Pop the id of the messageNode sconst "To " sload 1 sconst ":" @@ -438,8 +438,8 @@ LABEL372: iload 12 ; Load the id of the messageNode sconst "" ; Push a container for the timestamp sconst "addTimestamp" ; Push event name - runelite_callback ; Invoke callback - pop_int ; Pop the id of the messageNode + runelite_callback ; Invoke callback + pop_int ; Pop the id of the messageNode sload 0 ; Load the log in/out message join_string 2 ; Add the timestamp to the message iload 9 diff --git a/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash b/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash index 95e14db861..a90e9082b0 100644 --- a/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash +++ b/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash @@ -1 +1 @@ -1D663B889321070027599B4B8437A321C0C83336C703BBBA34BE22A183E1D7B9 \ No newline at end of file +A55D398EBF2C1CE70F2CFC6BEA21939307B69840DEBF46E0384EC2E7EFBBC58A \ No newline at end of file diff --git a/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm b/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm index afb820ff0f..9a2fbfe92f 100644 --- a/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm +++ b/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm @@ -12,19 +12,19 @@ iconst 73 iconst 73 iload 1 - iconst 10551306 + iconst 10551307 enum istore 3 iconst 73 iconst 73 iload 1 - iconst 10551301 + iconst 10551302 enum istore 4 iconst 73 iconst 73 iload 1 - iconst 10551308 + iconst 10551309 enum istore 5 iconst 103 @@ -76,14 +76,14 @@ LABEL70: iconst 0 iload 16 - iconst 39387148 + iconst 39387149 if_getwidth sub invoke 1045 istore 14 iconst 0 iload 17 - iconst 39387148 + iconst 39387149 if_getheight sub invoke 1045 @@ -248,7 +248,7 @@ LABEL163: iconst 73 iconst 73 iload 1 - iconst 10551307 + iconst 10551308 enum iload 5 iload 8 @@ -260,7 +260,7 @@ LABEL242: iconst 73 iconst 73 iload 1 - iconst 10551307 + iconst 10551308 enum iload 3 iconst 0 @@ -386,7 +386,7 @@ LABEL316: iconst 73 iconst 73 iload 1 - iconst 10551307 + iconst 10551308 enum iload 5 iload 8 @@ -398,7 +398,7 @@ LABEL359: iconst 73 iconst 73 iload 1 - iconst 10551307 + iconst 10551308 enum iload 3 iconst 0 @@ -408,7 +408,7 @@ LABEL369: iconst 73 iconst 73 iload 1 - iconst 10551309 + iconst 10551310 enum istore 18 iload 18 @@ -472,7 +472,7 @@ LABEL423: iconst 73 iconst 73 iload 1 - iconst 10551311 + iconst 10551312 enum istore 18 iconst 0 @@ -487,7 +487,7 @@ LABEL437: iconst 73 iconst 73 iload 1 - iconst 10551303 + iconst 10551304 enum if_hassub iconst 1 @@ -542,7 +542,7 @@ LABEL481: iconst 73 iconst 73 iload 1 - iconst 10551303 + iconst 10551304 enum istore 18 iconst 0 diff --git a/runelite-client/src/main/scripts/QuestListShowProgress.hash b/runelite-client/src/main/scripts/QuestListShowProgress.hash index d3899f1431..c235a4ae9b 100644 --- a/runelite-client/src/main/scripts/QuestListShowProgress.hash +++ b/runelite-client/src/main/scripts/QuestListShowProgress.hash @@ -1 +1 @@ -A6B3A7BFE7B688A08F69B91A7FD5C7184D71147D3DAF74B1262369D85DBB3A03 \ No newline at end of file +FC7F8B54745582D6DD530D5458E129B67D6B3CFF61BACD4BBE7BC8C40E26F3C6 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm b/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm index 275080edfc..ca43ff61b9 100644 --- a/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm +++ b/runelite-client/src/main/scripts/QuestListShowProgress.rs2asm @@ -15,39 +15,49 @@ LABEL8: iload 5 iload 6 if_icmplt LABEL12 - jump LABEL56 + jump LABEL64 LABEL12: iload 0 iload 5 cc_find iconst 1 if_icmpeq LABEL18 - jump LABEL51 + jump LABEL59 LABEL18: iload 5 invoke 1357 istore 3 + iload 5 + invoke 3236 + iconst 1 + if_icmpeq LABEL26 + jump LABEL29 +LABEL26: + iconst 10461087 + istore 4 + jump LABEL45 +LABEL29: iload 3 iconst 2 - if_icmpeq LABEL25 - jump LABEL28 -LABEL25: + if_icmpeq LABEL33 + jump LABEL36 +LABEL33: iconst 901389 istore 4 - jump LABEL37 -LABEL28: + jump LABEL45 +LABEL36: iload 3 iconst 0 - if_icmpeq LABEL32 - jump LABEL35 -LABEL32: + if_icmpeq LABEL40 + jump LABEL43 +LABEL40: iconst 16776960 istore 4 - jump LABEL37 -LABEL35: + jump LABEL45 +LABEL43: iconst 16711680 istore 4 -LABEL37: +LABEL45: iload 4 cc_setcolour iconst 85 @@ -62,54 +72,64 @@ LABEL37: iload 4 sconst "Iii" cc_setonmouseleave -LABEL51: +LABEL59: iload 5 iconst 1 add istore 5 jump LABEL8 -LABEL56: +LABEL64: iconst 0 invoke 2245 istore 6 istore 5 -LABEL60: +LABEL68: iload 5 iload 6 - if_icmplt LABEL64 - jump LABEL108 -LABEL64: + if_icmplt LABEL72 + jump LABEL124 +LABEL72: iload 1 iload 5 cc_find iconst 1 - if_icmpeq LABEL70 - jump LABEL103 -LABEL70: + if_icmpeq LABEL78 + jump LABEL119 +LABEL78: iload 5 invoke 1358 istore 3 + iload 5 + invoke 3237 + iconst 1 + if_icmpeq LABEL86 + jump LABEL89 +LABEL86: + iconst 10461087 + istore 4 + jump LABEL105 +LABEL89: iload 3 iconst 2 - if_icmpeq LABEL77 - jump LABEL80 -LABEL77: + if_icmpeq LABEL93 + jump LABEL96 +LABEL93: iconst 901389 istore 4 - jump LABEL89 -LABEL80: + jump LABEL105 +LABEL96: iload 3 iconst 0 - if_icmpeq LABEL84 - jump LABEL87 -LABEL84: + if_icmpeq LABEL100 + jump LABEL103 +LABEL100: iconst 16776960 istore 4 - jump LABEL89 -LABEL87: + jump LABEL105 +LABEL103: iconst 16711680 istore 4 -LABEL89: +LABEL105: iload 4 cc_setcolour iconst 85 @@ -124,54 +144,64 @@ LABEL89: iload 4 sconst "Iii" cc_setonmouseleave -LABEL103: +LABEL119: iload 5 iconst 1 add istore 5 - jump LABEL60 -LABEL108: + jump LABEL68 +LABEL124: iconst 0 invoke 2265 istore 6 istore 5 -LABEL112: +LABEL128: iload 5 iload 6 - if_icmplt LABEL116 - jump LABEL160 -LABEL116: + if_icmplt LABEL132 + jump LABEL184 +LABEL132: iload 2 iload 5 cc_find iconst 1 - if_icmpeq LABEL122 - jump LABEL155 -LABEL122: + if_icmpeq LABEL138 + jump LABEL179 +LABEL138: iload 5 invoke 1359 istore 3 + iload 5 + invoke 3238 + iconst 1 + if_icmpeq LABEL146 + jump LABEL149 +LABEL146: + iconst 10461087 + istore 4 + jump LABEL165 +LABEL149: iload 3 iconst 2 - if_icmpeq LABEL129 - jump LABEL132 -LABEL129: + if_icmpeq LABEL153 + jump LABEL156 +LABEL153: iconst 901389 istore 4 - jump LABEL141 -LABEL132: + jump LABEL165 +LABEL156: iload 3 iconst 0 - if_icmpeq LABEL136 - jump LABEL139 -LABEL136: + if_icmpeq LABEL160 + jump LABEL163 +LABEL160: iconst 16776960 istore 4 - jump LABEL141 -LABEL139: + jump LABEL165 +LABEL163: iconst 16711680 istore 4 -LABEL141: +LABEL165: iload 4 cc_setcolour iconst 85 @@ -186,13 +216,13 @@ LABEL141: iload 4 sconst "Iii" cc_setonmouseleave -LABEL155: +LABEL179: iload 5 iconst 1 add istore 5 - jump LABEL112 -LABEL160: + jump LABEL128 +LABEL184: sconst "questProgressUpdated" runelite_callback return diff --git a/runelite-client/src/main/scripts/ResetChatboxInput.hash b/runelite-client/src/main/scripts/ResetChatboxInput.hash index 12bd3c5bb1..2c90f09832 100644 --- a/runelite-client/src/main/scripts/ResetChatboxInput.hash +++ b/runelite-client/src/main/scripts/ResetChatboxInput.hash @@ -1 +1 @@ -E8B1910003198AB024BADC89831AF1735A2C77256C23551212105F25439E022D \ No newline at end of file +9985AC752BF689CA5353232CF302B41E83EC1901D8615B507EA10DFAA9F5AF9A \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm b/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm index 40f4b02c6f..17070abc16 100644 --- a/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm +++ b/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm @@ -165,16 +165,18 @@ LABEL40: get_varc_int 41 iconst 1337 if_icmpeq LABEL154 - jump LABEL156 + jump LABEL158 LABEL154: invoke 2526 pop_int -LABEL156: + clientclock + set_varc_int 384 +LABEL158: invoke 1972 iconst 1 - if_icmpeq LABEL160 - jump LABEL161 -LABEL160: + if_icmpeq LABEL162 + jump LABEL163 +LABEL162: invoke 2581 -LABEL161: +LABEL163: return From 161447e316113dde9076e1db372e1bfeea6ff87c Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 14 Nov 2019 10:36:04 +0000 Subject: [PATCH 28/66] Update Widget IDs to 2019-11-14-rev182 Lost widget 629.3 --- .../net/runelite/api/widgets/WidgetID.java | 189 +++++++++--------- .../net/runelite/api/widgets/WidgetInfo.java | 2 - 2 files changed, 91 insertions(+), 100 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 3ccaf94371..7c27c4fd9e 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -131,7 +131,6 @@ public class WidgetID public static final int FULLSCREEN_MAP_GROUP_ID = 165; public static final int QUESTLIST_GROUP_ID = 399; public static final int SKILLS_GROUP_ID = 320; - public static final int QUESTTAB_GROUP_ID = 629; public static final int MUSIC_GROUP_ID = 239; public static final int BARROWS_PUZZLE_GROUP_ID = 25; public static final int KEPT_ON_DEATH_GROUP_ID = 4; @@ -327,120 +326,120 @@ public class WidgetID static class Viewport { - static final int MINIMAP_RESIZABLE_WIDGET = 17; - static final int MINIMAP_RESIZABLE_CLICKBOX = 18; - static final int MINIMAP_RESIZABLE_DRAW_AREA = 25; - static final int MINIMAP_RESIZABLE_DECORATIONS = 27; - static final int MINIMAP_RESIZABLE_ORB_HOLDER = 28; - static final int MINIMAP_RESIZABLE_LOGOUT_BUTTON = 30; + static final int MINIMAP_RESIZABLE_WIDGET = 18; + static final int MINIMAP_RESIZABLE_CLICKBOX = 19; + static final int MINIMAP_RESIZABLE_DRAW_AREA = 26; + static final int MINIMAP_RESIZABLE_DECORATIONS = 28; + static final int MINIMAP_RESIZABLE_ORB_HOLDER = 29; + static final int MINIMAP_RESIZABLE_LOGOUT_BUTTON = 31; static final int FIXED_VIEWPORT = 17; - static final int RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX = 12; - static final int RESIZABLE_VIEWPORT_BOTTOM_LINE = 12; + static final int RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX = 13; + static final int RESIZABLE_VIEWPORT_BOTTOM_LINE = 13; } static class FixedViewport { static final int MINIMAP = 3; static final int MINIMAP_DRAW_AREA = 8; - static final int CLAN_CHAT_TAB = 31; - static final int FRIENDS_TAB = 33; - static final int IGNORES_TAB = 32; - static final int LOGOUT_TAB = 34; - static final int OPTIONS_TAB = 35; - static final int EMOTES_TAB = 36; - static final int MUSIC_TAB = 37; - static final int CLAN_CHAT_ICON = 38; - static final int FRIENDS_ICON = 40; - static final int IGNORES_ICON = 39; - static final int LOGOUT_ICON = 41; - static final int OPTIONS_ICON = 42; - static final int EMOTES_ICON = 43; - static final int MUSIC_ICON = 44; - static final int COMBAT_TAB = 48; - static final int STATS_TAB = 49; - static final int QUESTS_TAB = 50; - static final int INVENTORY_TAB = 51; - static final int EQUIPMENT_TAB = 52; - static final int PRAYER_TAB = 53; - static final int MAGIC_TAB = 54; - static final int COMBAT_ICON = 55; - static final int STATS_ICON = 56; - static final int QUESTS_ICON = 57; - static final int INVENTORY_ICON = 58; - static final int EQUIPMENT_ICON = 59; - static final int PRAYER_ICON = 60; - static final int MAGIC_ICON = 61; - static final int ROOT_INTERFACE_CONTAINER = 62; - static final int BANK_CONTAINER = 64; - static final int INTERFACE_CONTAINER = 65; - static final int INVENTORY_CONTAINER = 69; + static final int CLAN_CHAT_TAB = 32; + static final int FRIENDS_TAB = 34; + static final int IGNORES_TAB = 33; + static final int LOGOUT_TAB = 35; + static final int OPTIONS_TAB = 36; + static final int EMOTES_TAB = 37; + static final int MUSIC_TAB = 38; + static final int CLAN_CHAT_ICON = 39; + static final int FRIENDS_ICON = 41; + static final int IGNORES_ICON = 40; + static final int LOGOUT_ICON = 42; + static final int OPTIONS_ICON = 43; + static final int EMOTES_ICON = 44; + static final int MUSIC_ICON = 45; + static final int COMBAT_TAB = 49; + static final int STATS_TAB = 50; + static final int QUESTS_TAB = 51; + static final int INVENTORY_TAB = 52; + static final int EQUIPMENT_TAB = 53; + static final int PRAYER_TAB = 54; + static final int MAGIC_TAB = 55; + static final int COMBAT_ICON = 56; + static final int STATS_ICON = 57; + static final int QUESTS_ICON = 58; + static final int INVENTORY_ICON = 59; + static final int EQUIPMENT_ICON = 60; + static final int PRAYER_ICON = 61; + static final int MAGIC_ICON = 62; + static final int ROOT_INTERFACE_CONTAINER = 63; + static final int BANK_CONTAINER = 65; + static final int INTERFACE_CONTAINER = 66; + static final int INVENTORY_CONTAINER = 70; } static class ResizableViewport { - static final int CLAN_CHAT_TAB = 35; - static final int FRIENDS_TAB = 37; - static final int IGNORES_TAB = 36; - static final int LOGOUT_TAB = 38; - static final int OPTIONS_TAB = 39; - static final int EMOTES_TAB = 40; - static final int MUSIC_TAB = 41; - static final int CLAN_CHAT_ICON = 42; - static final int FRIENDS_ICON = 44; - static final int IGNORES_ICON = 43; - static final int LOGOUT_ICON = 45; - static final int OPTIONS_ICON = 46; - static final int EMOTES_ICON = 47; - static final int MUSIC_ICON = 48; - static final int COMBAT_TAB = 51; - static final int STATS_TAB = 52; - static final int QUESTS_TAB = 53; - static final int INVENTORY_TAB = 54; - static final int EQUIPMENT_TAB = 55; - static final int PRAYER_TAB = 56; - static final int MAGIC_TAB = 57; - static final int COMBAT_ICON = 58; - static final int STATS_ICON = 59; - static final int QUESTS_ICON = 60; - static final int INVENTORY_ICON = 61; - static final int EQUIPMENT_ICON = 62; - static final int PRAYER_ICON = 63; - static final int MAGIC_ICON = 64; - static final int INTERFACE_CONTAINER = 65; - static final int INVENTORY_CONTAINER = 71; + static final int CLAN_CHAT_TAB = 36; + static final int FRIENDS_TAB = 38; + static final int IGNORES_TAB = 37; + static final int LOGOUT_TAB = 39; + static final int OPTIONS_TAB = 40; + static final int EMOTES_TAB = 41; + static final int MUSIC_TAB = 42; + static final int CLAN_CHAT_ICON = 43; + static final int FRIENDS_ICON = 45; + static final int IGNORES_ICON = 44; + static final int LOGOUT_ICON = 46; + static final int OPTIONS_ICON = 47; + static final int EMOTES_ICON = 48; + static final int MUSIC_ICON = 49; + static final int COMBAT_TAB = 52; + static final int STATS_TAB = 53; + static final int QUESTS_TAB = 54; + static final int INVENTORY_TAB = 55; + static final int EQUIPMENT_TAB = 56; + static final int PRAYER_TAB = 57; + static final int MAGIC_TAB = 58; + static final int COMBAT_ICON = 59; + static final int STATS_ICON = 60; + static final int QUESTS_ICON = 61; + static final int INVENTORY_ICON = 62; + static final int EQUIPMENT_ICON = 63; + static final int PRAYER_ICON = 64; + static final int MAGIC_ICON = 65; + static final int INTERFACE_CONTAINER = 66; + static final int INVENTORY_CONTAINER = 72; } static class ResizableViewportBottomLine { - static final int LOGOUT_BUTTON_OVERLAY = 29; + static final int LOGOUT_BUTTON_OVERLAY = 30; static final int CMB_TAB = 50; - static final int CMB_ICON = 57; + static final int CMB_ICON = 58; static final int SKILLS_TAB = 51; - static final int SKILLS_ICON = 58; + static final int SKILLS_ICON = 59; static final int QUESTS_TAB = 52; - static final int QUESTS_ICON = 59; - static final int INVENTORY_TAB = 53; - static final int INVENTORY_ICON = 60; + static final int QUESTS_ICON = 60; + static final int INVENTORY_TAB = 54; + static final int INVENTORY_ICON = 61; static final int EQUIP_TAB = 54; - static final int EQUIP_ICON = 61; - static final int PRAYER_TAB = 55; - static final int PRAYER_ICON = 62; + static final int EQUIP_ICON = 62; + static final int PRAYER_TAB = 56; + static final int PRAYER_ICON = 63; static final int SPELL_TAB = 56; static final int SPELL_ICON = 53; static final int FC_TAB = 35; - static final int FC_ICON = 41; + static final int FC_ICON = 42; static final int IGNORE_TAB = 36; static final int IGNORE_ICON = 42; static final int FRIEND_TAB = 37; - static final int FRIEND_ICON = 43; + static final int FRIEND_ICON = 44; static final int SETTINGS_TAB = 38; - static final int SETTINGS_ICON = 44; + static final int SETTINGS_ICON = 45; static final int EMOTE_TAB = 39; - static final int EMOTE_ICON = 45; + static final int EMOTE_ICON = 46; static final int MUSIC_TAB = 40; - static final int MUSIC_ICON = 46; - static final int MAGIC_ICON = 63; - static final int INVENTORY_CONTAINER = 71; + static final int MUSIC_ICON = 47; + static final int MAGIC_ICON = 64; + static final int INVENTORY_CONTAINER = 72; } static class Chatbox @@ -732,22 +731,22 @@ public class WidgetID static class StandardSpellBook { - static final int LUMBRIDGE_HOME_TELEPORT = 4; + static final int LUMBRIDGE_HOME_TELEPORT = 5; } static class AncientSpellBook { - static final int EDGEVILLE_HOME_TELEPORT = 98; + static final int EDGEVILLE_HOME_TELEPORT = 99; } static class LunarSpellBook { - static final int LUNAR_HOME_TELEPORT = 99; + static final int LUNAR_HOME_TELEPORT = 100; } static class ArceuusSpellBook { - static final int ARCEUUS_HOME_TELEPORT = 143; + static final int ARCEUUS_HOME_TELEPORT = 144; } static class Pvp @@ -781,7 +780,7 @@ public class WidgetID static class FullScreenMap { - static final int ROOT = 25; + static final int ROOT = 26; } static class QuestList @@ -793,12 +792,6 @@ public class WidgetID static final int MEMBERS_CONTAINER = 7; static final int MINIQUEST_CONTAINER = 8; } - - static class QuestTab - { - static final int QUEST_TAB = 3; - } - static class Music { static final int CONTAINER = 0; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index fe2e03e720..aa1260990b 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -492,8 +492,6 @@ public enum WidgetInfo QUESTLIST_MEMBERS_CONTAINER(WidgetID.QUESTLIST_GROUP_ID, WidgetID.QuestList.MEMBERS_CONTAINER), QUESTLIST_MINIQUEST_CONTAINER(WidgetID.QUESTLIST_GROUP_ID, WidgetID.QuestList.MINIQUEST_CONTAINER), - QUESTTAB_QUEST_TAB(WidgetID.QUESTTAB_GROUP_ID, WidgetID.QuestTab.QUEST_TAB), - ITEMS_KEPT_ON_DEATH_TEXT(WidgetID.ITEMS_KEPT_ON_DEATH_GROUP_ID, WidgetID.KeptOnDeath.KEPT_ITEMS_TEXT), ITEMS_KEPT_ON_DEATH_CONTAINER(WidgetID.ITEMS_KEPT_ON_DEATH_GROUP_ID, WidgetID.KeptOnDeath.KEPT_ITEMS_CONTAINER), ITEMS_LOST_ON_DEATH_TEXT(WidgetID.ITEMS_KEPT_ON_DEATH_GROUP_ID, WidgetID.KeptOnDeath.LOST_ITEMS_TEXT), From 1d3752cfe859ae78ec542daa4580f2418d6fd9a6 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 14 Nov 2019 11:35:31 +0000 Subject: [PATCH 29/66] Release 1.5.40 --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- protocol-api/pom.xml | 2 +- protocol/pom.xml | 2 +- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 8daf7f36bd..1755e54ac2 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index c9e352ffc5..c8270dd25c 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index b03f047c6a..58a655421a 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 cache diff --git a/http-api/pom.xml b/http-api/pom.xml index 2da378f990..e11097e2e9 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 61d4417e37..7c8946a81d 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 Web Service diff --git a/pom.xml b/pom.xml index bddc36e7cb..958174b149 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 pom RuneLite @@ -59,7 +59,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - HEAD + runelite-parent-1.5.40 diff --git a/protocol-api/pom.xml b/protocol-api/pom.xml index 48b477fea0..634d21c678 100644 --- a/protocol-api/pom.xml +++ b/protocol-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 protocol-api diff --git a/protocol/pom.xml b/protocol/pom.xml index 0a0b5acf19..4c1cec5091 100644 --- a/protocol/pom.xml +++ b/protocol/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 protocol diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 1ca34f0020..1d1ceef326 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 858bb1afcf..1dc9664ea9 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index aee8c1da80..ae26d00710 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40-SNAPSHOT + 1.5.40 script-assembler-plugin From 11e83ac02bc9b560cf3460bddd19a91cbdc76416 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 14 Nov 2019 11:35:38 +0000 Subject: [PATCH 30/66] Bump for 1.5.41-SNAPSHOT --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- protocol-api/pom.xml | 2 +- protocol/pom.xml | 2 +- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 1755e54ac2..14b78dedc0 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index c8270dd25c..8b1cfbfbce 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index 58a655421a..2d6b2902ba 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT cache diff --git a/http-api/pom.xml b/http-api/pom.xml index e11097e2e9..d6f31c6e57 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 7c8946a81d..6a1acf76f9 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT Web Service diff --git a/pom.xml b/pom.xml index 958174b149..40db9c24b6 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT pom RuneLite @@ -59,7 +59,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - runelite-parent-1.5.40 + HEAD diff --git a/protocol-api/pom.xml b/protocol-api/pom.xml index 634d21c678..18a385b30b 100644 --- a/protocol-api/pom.xml +++ b/protocol-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT protocol-api diff --git a/protocol/pom.xml b/protocol/pom.xml index 4c1cec5091..1de9223e25 100644 --- a/protocol/pom.xml +++ b/protocol/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT protocol diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 1d1ceef326..f773eb6747 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 1dc9664ea9..557e5b84d4 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index ae26d00710..632c879b8a 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.40 + 1.5.41-SNAPSHOT script-assembler-plugin From 11e175324080b2c54de6531b096a2f79a30625ba Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 14 Nov 2019 10:19:27 -0500 Subject: [PATCH 31/66] raid plugin: fix layout command room order --- .../runelite/client/plugins/raids/Raid.java | 21 ++++++++++++++++--- .../client/plugins/raids/RaidsPlugin.java | 7 ++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java index 87181b4085..574dcebb2a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java @@ -136,10 +136,13 @@ public class Raid return builder.toString(); } - public String toRoomString() + /** + * Get the raid rooms in the order they are in the raid + * @return + */ + List getOrderedRooms() { - final StringBuilder sb = new StringBuilder(); - + List orderedRooms = new ArrayList<>(); for (Room r : getLayout().getRooms()) { final int position = r.getPosition(); @@ -150,6 +153,18 @@ public class Raid continue; } + orderedRooms.add(room); + } + + return orderedRooms; + } + + String toRoomString() + { + final StringBuilder sb = new StringBuilder(); + + for (RaidRoom room : getOrderedRooms()) + { switch (room.getType()) { case PUZZLE: diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index f25ba51534..f96f9c0a9d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -32,6 +32,7 @@ import java.text.DecimalFormat; import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import java.util.concurrent.ScheduledExecutorService; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -53,7 +54,6 @@ import net.runelite.api.Tile; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; -import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.VarbitChanged; import net.runelite.client.callback.ClientThread; import net.runelite.client.chat.ChatColorType; @@ -64,6 +64,7 @@ import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.events.ChatInput; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.game.SpriteManager; import net.runelite.client.plugins.Plugin; @@ -665,9 +666,9 @@ public class RaidsPlugin extends Plugin } final String playerName = client.getLocalPlayer().getName(); - RaidRoom[] rooms = raid.getRooms(); + List orderedRooms = raid.getOrderedRooms(); - LayoutRoom[] layoutRooms = Arrays.stream(rooms) + LayoutRoom[] layoutRooms = orderedRooms.stream() .map(room -> LayoutRoom.valueOf(room.name())) .toArray(LayoutRoom[]::new); From a60d0f1a217c84fad98d61f270231103d4a62ff5 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Mon, 11 Nov 2019 05:03:03 -0700 Subject: [PATCH 32/66] runelite-client: Use archive-patcher for the client-patch archive-patcher is faster and produces a smaller patch than the previous bsdiff solution. this also introduces vanilla and patched client caching, which significantly boosts startup time. --- runelite-client/pom.xml | 10 +- .../java/net/runelite/client/RuneLite.java | 1 + .../net/runelite/client/RuneLiteModule.java | 2 +- .../net/runelite/client/rs/ClientLoader.java | 552 +++++++++++------- .../client/rs/CountingInputStream.java | 81 +++ .../runelite/client/rs/TeeInputStream.java | 95 +++ 6 files changed, 505 insertions(+), 236 deletions(-) create mode 100644 runelite-client/src/main/java/net/runelite/client/rs/CountingInputStream.java create mode 100644 runelite-client/src/main/java/net/runelite/client/rs/TeeInputStream.java diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 557e5b84d4..8858fe86e1 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -158,15 +158,9 @@ runtime - io.sigpipe - jbsdiff + net.runelite + archive-patcher 1.0 - - - org.tukaani - xz - - diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 61e155b3e6..f70ba2dd63 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -79,6 +79,7 @@ import org.slf4j.LoggerFactory; public class RuneLite { public static final File RUNELITE_DIR = new File(System.getProperty("user.home"), ".runelite"); + public static final File CACHE_DIR = new File(RUNELITE_DIR, "cache"); public static final File PROFILES_DIR = new File(RUNELITE_DIR, "profiles"); public static final File SCREENSHOT_DIR = new File(RUNELITE_DIR, "screenshots"); public static final File LOGS_DIR = new File(RUNELITE_DIR, "logs"); diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java index 5d9bbf1531..56076b3368 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java @@ -74,7 +74,7 @@ public class RuneLiteModule extends AbstractModule bindConstant().annotatedWith(Names.named("developerMode")).to(developerMode); bind(ScheduledExecutorService.class).toInstance(new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor())); bind(OkHttpClient.class).toInstance(RuneLiteAPI.CLIENT.newBuilder() - .cache(new Cache(new File(RuneLite.RUNELITE_DIR, "cache" + File.separator + "okhttp"), MAX_OKHTTP_CACHE_SIZE)) + .cache(new Cache(new File(RuneLite.CACHE_DIR, "okhttp"), MAX_OKHTTP_CACHE_SIZE)) .build()); bind(MenuManager.class); bind(ChatMessageManager.class); diff --git a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java index dbd2c0c95e..6a9015d370 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java @@ -1,7 +1,7 @@ /* * Copyright (c) 2016-2017, Adam * Copyright (c) 2018, Tomas Slusny - * Copyright (c) 2018 Abex + * Copyright (c) 2019 Abex * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,32 +26,37 @@ */ package net.runelite.client.rs; +import com.google.archivepatcher.applier.FileByFileV1DeltaApplier; import com.google.common.base.Strings; import com.google.common.hash.Hashing; -import com.google.common.io.ByteStreams; -import com.google.common.reflect.TypeToken; -import com.google.gson.Gson; -import io.sigpipe.jbsdiff.InvalidHeaderException; -import io.sigpipe.jbsdiff.Patch; +import com.google.common.hash.HashingOutputStream; +import com.google.common.io.Files; import java.applet.Applet; import java.io.ByteArrayOutputStream; -import java.io.FilterInputStream; +import java.io.DataInputStream; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.URL; +import java.net.URLClassLoader; +import java.nio.channels.Channels; +import java.nio.channels.FileChannel; +import java.nio.channels.FileLock; +import java.nio.file.StandardOpenOption; import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.util.Arrays; import java.util.Collection; -import java.util.HashMap; -import java.util.Map; import java.util.function.Supplier; import java.util.jar.JarEntry; import java.util.jar.JarInputStream; import javax.swing.SwingUtilities; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; +import net.runelite.client.RuneLite; import static net.runelite.client.rs.ClientUpdateCheckMode.AUTO; import static net.runelite.client.rs.ClientUpdateCheckMode.NONE; import static net.runelite.client.rs.ClientUpdateCheckMode.VANILLA; @@ -61,16 +66,22 @@ import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; import okhttp3.Request; import okhttp3.Response; -import org.apache.commons.compress.compressors.CompressorException; @Slf4j +@SuppressWarnings("deprecation") public class ClientLoader implements Supplier { private static final int NUM_ATTEMPTS = 6; + private static File LOCK_FILE = new File(RuneLite.CACHE_DIR, "cache.lock"); + private static File VANILLA_CACHE = new File(RuneLite.CACHE_DIR, "vanilla.cache"); + private static File PATCHED_CACHE = new File(RuneLite.CACHE_DIR, "patched.cache"); private ClientUpdateCheckMode updateCheckMode; private Object client = null; + private HostSupplier hostSupplier = new HostSupplier(); + private RSConfig config; + public ClientLoader(ClientUpdateCheckMode updateCheckMode) { this.updateCheckMode = updateCheckMode; @@ -101,234 +112,38 @@ public class ClientLoader implements Supplier try { SplashScreen.stage(0, null, "Fetching applet viewer config"); + downloadConfig(); - HostSupplier hostSupplier = new HostSupplier(); + SplashScreen.stage(.05, null, "Waiting for other clients to start"); - String host = null; - RSConfig config; - for (int attempt = 0; ; attempt++) + LOCK_FILE.getParentFile().mkdirs(); + try (FileChannel lockfile = FileChannel.open(LOCK_FILE.toPath(), + StandardOpenOption.CREATE, StandardOpenOption.READ, StandardOpenOption.WRITE); + FileLock flock = lockfile.lock()) { - try + SplashScreen.stage(.05, null, "Downloading Old School RuneScape"); + updateVanilla(); + + if (updateCheckMode == AUTO) { - config = ClientConfigLoader.fetch(host); - - if (Strings.isNullOrEmpty(config.getCodeBase()) || Strings.isNullOrEmpty(config.getInitialJar()) || Strings.isNullOrEmpty(config.getInitialClass())) - { - throw new IOException("Invalid or missing jav_config"); - } - - break; - } - catch (IOException e) - { - log.info("Failed to get jav_config from host \"{}\" ({})", host, e.getMessage()); - - if (attempt >= NUM_ATTEMPTS) - { - throw e; - } - - host = hostSupplier.get(); + SplashScreen.stage(.35, null, "Patching"); + applyPatch(); } } - Map zipFile = new HashMap<>(); - { - Certificate[] jagexCertificateChain = getJagexCertificateChain(); - String codebase = config.getCodeBase(); - String initialJar = config.getInitialJar(); - HttpUrl url = HttpUrl.parse(codebase + initialJar); - - for (int attempt = 0; ; attempt++) - { - zipFile.clear(); - - Request request = new Request.Builder() - .url(url) - .build(); - - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) - { - int length = (int) response.body().contentLength(); - if (length < 0) - { - length = 3 * 1024 * 1024; - } - final int flength = length; - InputStream istream = new FilterInputStream(response.body().byteStream()) - { - private int read = 0; - - @Override - public int read(byte[] b, int off, int len) throws IOException - { - int thisRead = super.read(b, off, len); - this.read += thisRead; - SplashScreen.stage(.05, .35, null, "Downloading Old School RuneScape", this.read, flength, true); - return thisRead; - } - }; - JarInputStream jis = new JarInputStream(istream); - - byte[] tmp = new byte[4096]; - ByteArrayOutputStream buffer = new ByteArrayOutputStream(756 * 1024); - for (; ; ) - { - JarEntry metadata = jis.getNextJarEntry(); - if (metadata == null) - { - break; - } - - buffer.reset(); - for (; ; ) - { - int n = jis.read(tmp); - if (n <= -1) - { - break; - } - buffer.write(tmp, 0, n); - } - - if (!Arrays.equals(metadata.getCertificates(), jagexCertificateChain)) - { - if (metadata.getName().startsWith("META-INF/")) - { - // META-INF/JAGEXLTD.SF and META-INF/JAGEXLTD.RSA are not signed, but we don't need - // anything in META-INF anyway. - continue; - } - else - { - throw new VerificationException("Unable to verify jar entry: " + metadata.getName()); - } - } - - zipFile.put(metadata.getName(), buffer.toByteArray()); - } - break; - } - catch (IOException e) - { - log.info("Failed to download gamepack from \"{}\" ({})", url, e.getMessage()); - - if (attempt >= NUM_ATTEMPTS) - { - throw e; - } - - url = url.newBuilder().host(hostSupplier.get()).build(); - } - } - } - - if (updateCheckMode == AUTO) - { - SplashScreen.stage(.35, null, "Patching"); - Map hashes; - try (InputStream is = ClientLoader.class.getResourceAsStream("/patch/hashes.json")) - { - if (is == null) - { - SwingUtilities.invokeLater(() -> - new FatalErrorDialog("The client-patch is missing from the classpath. If you are building " + - "the client you need to re-run maven") - .addBuildingGuide() - .open()); - throw new NullPointerException(); - } - hashes = new Gson().fromJson(new InputStreamReader(is), new TypeToken>() - { - }.getType()); - } - - for (Map.Entry file : hashes.entrySet()) - { - byte[] bytes = zipFile.get(file.getKey()); - - String ourHash = null; - if (bytes != null) - { - ourHash = Hashing.sha512().hashBytes(bytes).toString(); - } - - if (!file.getValue().equals(ourHash)) - { - log.debug("{} had a hash mismatch; falling back to vanilla. {} != {}", file.getKey(), file.getValue(), ourHash); - log.info("Client is outdated!"); - updateCheckMode = VANILLA; - break; - } - } - } - - if (updateCheckMode == AUTO) - { - ByteArrayOutputStream patchOs = new ByteArrayOutputStream(756 * 1024); - int patchCount = 0; - - for (Map.Entry file : zipFile.entrySet()) - { - byte[] bytes; - try (InputStream is = ClientLoader.class.getResourceAsStream("/patch/" + file.getKey() + ".bs")) - { - if (is == null) - { - continue; - } - - bytes = ByteStreams.toByteArray(is); - } - - patchOs.reset(); - Patch.patch(file.getValue(), bytes, patchOs); - file.setValue(patchOs.toByteArray()); - - ++patchCount; - SplashScreen.stage(.38, .45, null, "Patching", patchCount, zipFile.size(), false); - } - - log.debug("Patched {} classes", patchCount); - } + File jarFile = updateCheckMode == AUTO ? PATCHED_CACHE : VANILLA_CACHE; + URL jar = jarFile.toURI().toURL(); SplashScreen.stage(.465, "Starting", "Starting Old School RuneScape"); - String initialClass = config.getInitialClass(); - - ClassLoader rsClassLoader = new ClassLoader(ClientLoader.class.getClassLoader()) - { - @Override - protected Class findClass(String name) throws ClassNotFoundException - { - String path = name.replace('.', '/').concat(".class"); - byte[] data = zipFile.get(path); - if (data == null) - { - throw new ClassNotFoundException(name); - } - - return defineClass(name, data, 0, data.length); - } - }; - - Class clientClass = rsClassLoader.loadClass(initialClass); - - Applet rs = (Applet) clientClass.newInstance(); - rs.setStub(new RSAppletStub(config)); - - if (rs instanceof Client) - { - log.info("client-patch {}", ((Client) rs).getBuildID()); - } + Applet rs = loadClient(jar); SplashScreen.stage(.5, null, "Starting core classes"); return rs; } catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException - | CompressorException | InvalidHeaderException | CertificateException | VerificationException - | SecurityException e) + | VerificationException | SecurityException e) { log.error("Error loading RS!", e); @@ -337,10 +152,293 @@ public class ClientLoader implements Supplier } } - private static Certificate[] getJagexCertificateChain() throws CertificateException + private void downloadConfig() throws IOException { - CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); - Collection certificates = certificateFactory.generateCertificates(ClientLoader.class.getResourceAsStream("jagex.crt")); - return certificates.toArray(new Certificate[certificates.size()]); + String host = null; + for (int attempt = 0; ; attempt++) + { + try + { + config = ClientConfigLoader.fetch(host); + + if (Strings.isNullOrEmpty(config.getCodeBase()) || Strings.isNullOrEmpty(config.getInitialJar()) || Strings.isNullOrEmpty(config.getInitialClass())) + { + throw new IOException("Invalid or missing jav_config"); + } + + break; + } + catch (IOException e) + { + log.info("Failed to get jav_config from host \"{}\" ({})", host, e.getMessage()); + + if (attempt >= NUM_ATTEMPTS) + { + throw e; + } + + host = hostSupplier.get(); + } + } + } + + private void updateVanilla() throws IOException, VerificationException + { + Certificate[] jagexCertificateChain = getJagexCertificateChain(); + + // Get the mtime of the first thing in the vanilla cache + // we check this against what the server gives us to let us skip downloading and patching the whole thing + + try (FileChannel vanilla = FileChannel.open(VANILLA_CACHE.toPath(), + StandardOpenOption.CREATE, StandardOpenOption.READ, StandardOpenOption.WRITE)) + { + long vanillaCacheMTime = -1; + boolean vanillaCacheIsInvalid = false; + try + { + JarInputStream vanillaCacheTest = new JarInputStream(Channels.newInputStream(vanilla)); + vanillaCacheTest.skip(Long.MAX_VALUE); + JarEntry je = vanillaCacheTest.getNextJarEntry(); + if (je != null) + { + verifyJarEntry(je, jagexCertificateChain); + vanillaCacheMTime = je.getLastModifiedTime().toMillis(); + } + else + { + vanillaCacheIsInvalid = true; + } + } + catch (Exception e) + { + log.info("Failed to read the vanilla cache: {}", e.toString()); + vanillaCacheIsInvalid = true; + } + vanilla.position(0); + + // Start downloading the vanilla client + + String codebase = config.getCodeBase(); + String initialJar = config.getInitialJar(); + HttpUrl url = HttpUrl.parse(codebase + initialJar); + + for (int attempt = 0; ; attempt++) + { + Request request = new Request.Builder() + .url(url) + .build(); + + try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + { + // Its important to not close the response manually - this should be the only close or + // try-with-resources on this stream or it's children + + int length = (int) response.body().contentLength(); + if (length < 0) + { + length = 3 * 1024 * 1024; + } + else + { + if (!vanillaCacheIsInvalid && vanilla.size() != length) + { + // The zip trailer filetab can be missing and the ZipInputStream will not notice + log.info("Vanilla cache is the wrong size"); + vanillaCacheIsInvalid = true; + } + } + final int flength = length; + TeeInputStream copyStream = new TeeInputStream(new CountingInputStream(response.body().byteStream(), + read -> SplashScreen.stage(.05, .35, null, "Downloading Old School RuneScape", read, flength, true))); + + // Save the bytes from the mtime test so we can write it to disk + // if the test fails, or the cache doesn't verify + ByteArrayOutputStream preRead = new ByteArrayOutputStream(); + copyStream.setOut(preRead); + + JarInputStream networkJIS = new JarInputStream(copyStream); + + // Get the mtime from the first entry so check it against the cache + { + JarEntry je = networkJIS.getNextJarEntry(); + networkJIS.skip(Long.MAX_VALUE); + verifyJarEntry(je, jagexCertificateChain); + long vanillaClientMTime = je.getLastModifiedTime().toMillis(); + if (!vanillaCacheIsInvalid && vanillaClientMTime != vanillaCacheMTime) + { + log.info("Vanilla cache is out of date: {} != {}", vanillaClientMTime, vanillaCacheMTime); + vanillaCacheIsInvalid = true; + } + } + + // the mtime matches so the cache is probably up to date, but just make sure its fully + // intact before closing the server connection + if (!vanillaCacheIsInvalid) + { + try + { + // as with the request stream, its important to not early close vanilla too + JarInputStream vanillaCacheTest = new JarInputStream(Channels.newInputStream(vanilla)); + verifyWholeJar(vanillaCacheTest, jagexCertificateChain); + } + catch (Exception e) + { + log.warn("Failed to verify the vanilla cache", e); + vanillaCacheIsInvalid = true; + } + } + + if (vanillaCacheIsInvalid) + { + // the cache is not up to date, commit our peek to the file and write the rest of it, while verifying + vanilla.position(0); + OutputStream out = Channels.newOutputStream(vanilla); + out.write(preRead.toByteArray()); + copyStream.setOut(out); + verifyWholeJar(networkJIS, jagexCertificateChain); + copyStream.skip(Long.MAX_VALUE); // write the trailer to the file too + out.flush(); + vanilla.truncate(vanilla.position()); + } + else + { + log.info("Using cached vanilla client"); + } + return; + } + catch (IOException e) + { + log.warn("Failed to download gamepack from \"{}\"", url, e); + + if (attempt >= NUM_ATTEMPTS) + { + throw e; + } + + url = url.newBuilder().host(hostSupplier.get()).build(); + } + } + } + } + + private void applyPatch() throws IOException + { + byte[] vanillaHash = new byte[64]; + byte[] appliedPatchHash = new byte[64]; + + try (InputStream is = ClientLoader.class.getResourceAsStream("/client.serial")) + { + if (is == null) + { + SwingUtilities.invokeLater(() -> + new FatalErrorDialog("The client-patch is missing from the classpath. If you are building " + + "the client you need to re-run maven") + .addBuildingGuide() + .open()); + throw new NullPointerException(); + } + + DataInputStream dis = new DataInputStream(is); + dis.readFully(vanillaHash); + dis.readFully(appliedPatchHash); + } + + byte[] vanillaCacheHash = Files.asByteSource(VANILLA_CACHE).hash(Hashing.sha512()).asBytes(); + if (!Arrays.equals(vanillaHash, vanillaCacheHash)) + { + log.info("Client is outdated!"); + updateCheckMode = VANILLA; + return; + } + + if (PATCHED_CACHE.exists()) + { + byte[] diskBytes = Files.asByteSource(PATCHED_CACHE).hash(Hashing.sha512()).asBytes(); + if (!Arrays.equals(diskBytes, appliedPatchHash)) + { + log.warn("Cached patch hash mismatches, regenerating patch"); + } + else + { + log.info("Using cached patched client"); + return; + } + } + + try (HashingOutputStream hos = new HashingOutputStream(Hashing.sha512(), new FileOutputStream(PATCHED_CACHE)); + InputStream patch = ClientLoader.class.getResourceAsStream("/client.patch")) + { + new FileByFileV1DeltaApplier().applyDelta(VANILLA_CACHE, patch, hos); + + if (!Arrays.equals(hos.hash().asBytes(), appliedPatchHash)) + { + log.error("Patched client hash mismatch"); + updateCheckMode = VANILLA; + return; + } + } + catch (IOException e) + { + log.error("Unable to apply patch despite hash matching", e); + updateCheckMode = VANILLA; + return; + } + } + + private Applet loadClient(URL url) throws ClassNotFoundException, IllegalAccessException, InstantiationException + { + URLClassLoader rsClassLoader = new URLClassLoader(new URL[]{url}); + + String initialClass = config.getInitialClass(); + Class clientClass = rsClassLoader.loadClass(initialClass); + + Applet rs = (Applet) clientClass.newInstance(); + rs.setStub(new RSAppletStub(config)); + + if (rs instanceof Client) + { + log.info("client-patch {}", ((Client) rs).getBuildID()); + } + + return rs; + } + + private static Certificate[] getJagexCertificateChain() + { + try + { + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); + Collection certificates = certificateFactory.generateCertificates(ClientLoader.class.getResourceAsStream("jagex.crt")); + return certificates.toArray(new Certificate[0]); + } + catch (CertificateException e) + { + throw new RuntimeException("Unable to parse pinned certificates", e); + } + } + + private void verifyJarEntry(JarEntry je, Certificate[] certs) throws VerificationException + { + switch (je.getName()) + { + case "META-INF/JAGEXLTD.SF": + case "META-INF/JAGEXLTD.RSA": + // You can't sign the signing files + return; + default: + if (!Arrays.equals(je.getCertificates(), certs)) + { + throw new VerificationException("Unable to verify jar entry: " + je.getName()); + } + } + } + + private void verifyWholeJar(JarInputStream jis, Certificate[] certs) throws IOException, VerificationException + { + for (JarEntry je; (je = jis.getNextJarEntry()) != null; ) + { + jis.skip(Long.MAX_VALUE); + verifyJarEntry(je, certs); + } } } diff --git a/runelite-client/src/main/java/net/runelite/client/rs/CountingInputStream.java b/runelite-client/src/main/java/net/runelite/client/rs/CountingInputStream.java new file mode 100644 index 0000000000..5f44362b1a --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/rs/CountingInputStream.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2019 Abex + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.rs; + +import java.io.FilterInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.function.IntConsumer; + +class CountingInputStream extends FilterInputStream +{ + private final IntConsumer changed; + + CountingInputStream(InputStream in, IntConsumer changed) + { + super(in); + this.changed = changed; + } + + private int read = 0; + + @Override + public int read(byte[] b, int off, int len) throws IOException + { + int thisRead = super.read(b, off, len); + if (thisRead > 0) + { + this.read += thisRead; + } + changed.accept(this.read); + return thisRead; + } + + @Override + public int read() throws IOException + { + int val = super.read(); + if (val != -1) + { + this.read++; + } + return val; + } + + @Override + public long skip(long n) throws IOException + { + long thisRead = in.skip(n); + this.read += thisRead; + changed.accept(this.read); + return thisRead; + } + + @Override + public boolean markSupported() + { + return false; + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/rs/TeeInputStream.java b/runelite-client/src/main/java/net/runelite/client/rs/TeeInputStream.java new file mode 100644 index 0000000000..6b9b08910d --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/rs/TeeInputStream.java @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2019 Abex + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.rs; + +import java.io.FilterInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import lombok.Getter; +import lombok.Setter; + +class TeeInputStream extends FilterInputStream +{ + @Getter + @Setter + private OutputStream out; + + TeeInputStream(InputStream in) + { + super(in); + } + + @Override + public int read(byte[] b, int off, int len) throws IOException + { + int thisRead = super.read(b, off, len); + + if (thisRead > 0) + { + out.write(b, off, thisRead); + } + + return thisRead; + } + + @Override + public int read() throws IOException + { + int val = super.read(); + if (val != -1) + { + out.write(val); + } + return val; + } + + @Override + public long skip(long n) throws IOException + { + byte[] buf = new byte[(int) Math.min(n, 0x4000)]; + long total = 0; + for (; n > 0; ) + { + int read = (int) Math.min(n, buf.length); + + read = read(buf, 0, read); + if (read == -1) + { + break; + } + + total += read; + n -= read; + } + return total; + } + + @Override + public boolean markSupported() + { + return false; + } +} From 0e4cf964eb3d35776a6b888a41f9676d0910a93d Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Fri, 15 Nov 2019 09:55:45 +0100 Subject: [PATCH 33/66] Update build.gradle.kts --- build.gradle.kts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 2a04395001..6ffad698ea 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -122,13 +122,6 @@ subprojects { options.encoding = "UTF-8" } - withType { - isPreserveFileTimestamps = false - isReproducibleFileOrder = true - dirMode = 493 - fileMode = 420 - } - withType { group = "verification" From f837197823bc4f806ae4b49670918ac89c946dd0 Mon Sep 17 00:00:00 2001 From: winterdaze <35933468+winterdaze@users.noreply.github.com> Date: Fri, 15 Nov 2019 04:33:23 -0500 Subject: [PATCH 34/66] Shorten NMZ overlay text to prevent overlapping (#10241) --- .../client/plugins/nightmarezone/NightmareZoneOverlay.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneOverlay.java index 231d7f82c2..feacb57e4a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneOverlay.java @@ -111,7 +111,7 @@ class NightmareZoneOverlay extends Overlay .right(QuantityFormatter.formatNumber(currentPoints)) .build()); panelComponent.getChildren().add(LineComponent.builder() - .left("Points/Hour: ") + .left("Points/Hr: ") .right(QuantityFormatter.formatNumber(plugin.getPointsPerHour())) .build()); panelComponent.getChildren().add(LineComponent.builder() From 71d2e74732c7a5ffc29d7a0db3de118328640707 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 15 Nov 2019 09:13:11 -0500 Subject: [PATCH 35/66] Remove SEASONAL_DEADMAN world type Co-authored-by: Hydrox6 --- .../http/api/hiscore/HiscoreEndpoint.java | 1 - .../net/runelite/http/api/worlds/WorldType.java | 1 - .../http/service/worlds/ServiceWorldType.java | 3 +-- .../src/main/java/net/runelite/api/WorldType.java | 9 ++------- .../client/plugins/hiscore/HiscorePanel.java | 4 ---- .../plugins/opponentinfo/OpponentInfoPlugin.java | 4 ---- .../plugins/screenshot/ScreenshotPlugin.java | 3 +-- .../client/plugins/timers/TimersPlugin.java | 1 - .../client/plugins/worldhopper/WorldTableRow.java | 3 +-- .../client/plugins/xptracker/XpWorldType.java | 3 --- .../client/plugins/hiscore/seasonal_deadman.png | Bin 311 -> 0 bytes 11 files changed, 5 insertions(+), 27 deletions(-) delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/seasonal_deadman.png diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java index a88f2e208e..4b0b39b0f4 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java @@ -35,7 +35,6 @@ public enum HiscoreEndpoint HARDCORE_IRONMAN("Hardcore Ironman", "https://services.runescape.com/m=hiscore_oldschool_hardcore_ironman/index_lite.ws"), ULTIMATE_IRONMAN("Ultimate Ironman", "https://services.runescape.com/m=hiscore_oldschool_ultimate/index_lite.ws"), DEADMAN("Deadman", "https://services.runescape.com/m=hiscore_oldschool_deadman/index_lite.ws"), - SEASONAL_DEADMAN("Seasonal Deadman", "https://services.runescape.com/m=hiscore_oldschool_seasonal/index_lite.ws"), DEADMAN_TOURNAMENT("Deadman Tournament", "https://services.runescape.com/m=hiscore_oldschool_tournament/index_lite.ws"); private final String name; diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java index c94a7c70e6..5c9af6cc10 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java +++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java @@ -34,6 +34,5 @@ public enum WorldType LAST_MAN_STANDING, TOURNAMENT, DEADMAN, - SEASONAL_DEADMAN, DEADMAN_TOURNAMENT } diff --git a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java index c6aa598321..9cfa5a5a41 100644 --- a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java +++ b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java @@ -36,8 +36,7 @@ enum ServiceWorldType LAST_MAN_STANDING(WorldType.LAST_MAN_STANDING, 1 << 14), TOURNAMENT(WorldType.TOURNAMENT, 1 << 25), DEADMAN_TOURNAMENT(WorldType.DEADMAN_TOURNAMENT, 1 << 26), - DEADMAN(WorldType.DEADMAN, 1 << 29), - SEASONAL_DEADMAN(WorldType.SEASONAL_DEADMAN, 1 << 30); + DEADMAN(WorldType.DEADMAN, 1 << 29); private final WorldType apiType; private final int mask; diff --git a/runelite-api/src/main/java/net/runelite/api/WorldType.java b/runelite-api/src/main/java/net/runelite/api/WorldType.java index 0ecfd1ed94..91c16734ca 100644 --- a/runelite-api/src/main/java/net/runelite/api/WorldType.java +++ b/runelite-api/src/main/java/net/runelite/api/WorldType.java @@ -67,11 +67,7 @@ public enum WorldType /** * Deadman world type. */ - DEADMAN(1 << 29), - /** - * Seasonal deadman world type. - */ - SEASONAL_DEADMAN(1 << 30); + DEADMAN(1 << 29); private final int mask; @@ -83,8 +79,7 @@ public enum WorldType private static final EnumSet PVP_WORLD_TYPES = EnumSet.of( DEADMAN, DEADMAN_TOURNAMENT, - PVP, - SEASONAL_DEADMAN + PVP ); /** diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index d61f8866db..fe93fb04f6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -651,10 +651,6 @@ public class HiscorePanel extends PluginPanel { return HiscoreEndpoint.DEADMAN_TOURNAMENT; } - else if (wTypes.contains(WorldType.SEASONAL_DEADMAN)) - { - return HiscoreEndpoint.SEASONAL_DEADMAN; - } else if (wTypes.contains(WorldType.DEADMAN)) { return HiscoreEndpoint.DEADMAN; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java index e038e81ab2..c387581790 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java @@ -117,10 +117,6 @@ public class OpponentInfoPlugin extends Plugin { hiscoreEndpoint = HiscoreEndpoint.DEADMAN_TOURNAMENT; } - else if (worldType.contains(WorldType.SEASONAL_DEADMAN)) - { - hiscoreEndpoint = HiscoreEndpoint.SEASONAL_DEADMAN; - } else if (worldType.contains(WorldType.DEADMAN)) { hiscoreEndpoint = HiscoreEndpoint.DEADMAN; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index 1c4123e795..e58a088118 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -616,9 +616,8 @@ public class ScreenshotPlugin extends Plugin { final EnumSet worldTypes = client.getWorldType(); final boolean dmm = worldTypes.contains(WorldType.DEADMAN); - final boolean sdmm = worldTypes.contains(WorldType.SEASONAL_DEADMAN); final boolean dmmt = worldTypes.contains(WorldType.DEADMAN_TOURNAMENT); - final boolean isDmmWorld = dmm || sdmm || dmmt; + final boolean isDmmWorld = dmm || dmmt; String playerDir = client.getLocalPlayer().getName(); if (isDmmWorld) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index 0a2772f253..67d2e6bccf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -542,7 +542,6 @@ public class TimersPlugin extends Plugin else if (HALF_TELEBLOCK_PATTERN.matcher(event.getMessage()).find()) { if (client.getWorldType().contains(WorldType.DEADMAN) - && !client.getWorldType().contains(WorldType.SEASONAL_DEADMAN) && !client.getWorldType().contains(WorldType.DEADMAN_TOURNAMENT)) { createGameTimer(DMM_FULLTB); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java index 2cf20ddd4f..077dd7f72b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java @@ -245,8 +245,7 @@ class WorldTableRow extends JPanel } else if (world.getTypes().contains(WorldType.PVP) || world.getTypes().contains(WorldType.HIGH_RISK) - || world.getTypes().contains(WorldType.DEADMAN) - || world.getTypes().contains(WorldType.SEASONAL_DEADMAN)) + || world.getTypes().contains(WorldType.DEADMAN)) { activityField.setForeground(DANGEROUS_WORLD); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java index a907381347..5126a978e4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java @@ -31,7 +31,6 @@ enum XpWorldType NORMAL, TOURNEY, DMM, - SDMM, DMMT; static XpWorldType of(WorldType type) @@ -42,8 +41,6 @@ enum XpWorldType return TOURNEY; case DEADMAN: return DMM; - case SEASONAL_DEADMAN: - return SDMM; case DEADMAN_TOURNAMENT: return DMMT; default: diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/seasonal_deadman.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/seasonal_deadman.png deleted file mode 100644 index d3632e62db3c98559117313d114b7a10d4b4319c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|&H|6fVg?3oVGw3ym^DWNDEQLT z#WBR9cWtmWU$X&^X{flE-+@_6g+tjbgxnu_lr(iN)mBe{RN9w%uguBp!JG9~H>Vvx_keqjVYjyHnxqxM zwmWw8m`)8-cRK2(cynR=<$GlUc0IDs7=wz}x^0+SRIV_Shc!L)Ua)44!SOt4x7IS$Z|N3`_;TP9(9;Z_u6{1- HoD!M Date: Fri, 15 Nov 2019 09:19:25 -0500 Subject: [PATCH 36/66] Remove DEADMAN_TOURNAMENT world type Co-authored-by: Hydrox6 --- .../http/api/hiscore/HiscoreEndpoint.java | 3 +-- .../net/runelite/http/api/worlds/WorldType.java | 3 +-- .../http/service/worlds/ServiceWorldType.java | 1 - .../main/java/net/runelite/api/WorldType.java | 5 ----- .../client/plugins/hiscore/HiscorePanel.java | 6 +----- .../plugins/opponentinfo/OpponentInfoPlugin.java | 6 +----- .../plugins/screenshot/ScreenshotPlugin.java | 5 +---- .../client/plugins/timers/TimersPlugin.java | 3 +-- .../client/plugins/xptracker/XpWorldType.java | 5 +---- .../plugins/hiscore/deadman_tournament.png | Bin 3020 -> 0 bytes 10 files changed, 7 insertions(+), 30 deletions(-) delete mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/deadman_tournament.png diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java index 4b0b39b0f4..433357c3e5 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java @@ -34,8 +34,7 @@ public enum HiscoreEndpoint IRONMAN("Ironman", "https://services.runescape.com/m=hiscore_oldschool_ironman/index_lite.ws"), HARDCORE_IRONMAN("Hardcore Ironman", "https://services.runescape.com/m=hiscore_oldschool_hardcore_ironman/index_lite.ws"), ULTIMATE_IRONMAN("Ultimate Ironman", "https://services.runescape.com/m=hiscore_oldschool_ultimate/index_lite.ws"), - DEADMAN("Deadman", "https://services.runescape.com/m=hiscore_oldschool_deadman/index_lite.ws"), - DEADMAN_TOURNAMENT("Deadman Tournament", "https://services.runescape.com/m=hiscore_oldschool_tournament/index_lite.ws"); + DEADMAN("Deadman", "https://services.runescape.com/m=hiscore_oldschool_deadman/index_lite.ws"); private final String name; private final HttpUrl hiscoreURL; diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java index 5c9af6cc10..0e4f9ace6e 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java +++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java @@ -33,6 +33,5 @@ public enum WorldType HIGH_RISK, LAST_MAN_STANDING, TOURNAMENT, - DEADMAN, - DEADMAN_TOURNAMENT + DEADMAN; } diff --git a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java index 9cfa5a5a41..402436c8fa 100644 --- a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java +++ b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java @@ -35,7 +35,6 @@ enum ServiceWorldType HIGH_RISK(WorldType.HIGH_RISK, 1 << 10), LAST_MAN_STANDING(WorldType.LAST_MAN_STANDING, 1 << 14), TOURNAMENT(WorldType.TOURNAMENT, 1 << 25), - DEADMAN_TOURNAMENT(WorldType.DEADMAN_TOURNAMENT, 1 << 26), DEADMAN(WorldType.DEADMAN, 1 << 29); private final WorldType apiType; diff --git a/runelite-api/src/main/java/net/runelite/api/WorldType.java b/runelite-api/src/main/java/net/runelite/api/WorldType.java index 91c16734ca..70e22d7f89 100644 --- a/runelite-api/src/main/java/net/runelite/api/WorldType.java +++ b/runelite-api/src/main/java/net/runelite/api/WorldType.java @@ -60,10 +60,6 @@ public enum WorldType * Tournament world type. */ TOURNAMENT(1 << 25), - /** - * Deadman Tournament world type. - */ - DEADMAN_TOURNAMENT(1 << 26), /** * Deadman world type. */ @@ -78,7 +74,6 @@ public enum WorldType private static final EnumSet PVP_WORLD_TYPES = EnumSet.of( DEADMAN, - DEADMAN_TOURNAMENT, PVP ); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index fe93fb04f6..82abca4d68 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -647,11 +647,7 @@ public class HiscorePanel extends PluginPanel { EnumSet wTypes = client.getWorldType(); - if (wTypes.contains(WorldType.DEADMAN_TOURNAMENT)) - { - return HiscoreEndpoint.DEADMAN_TOURNAMENT; - } - else if (wTypes.contains(WorldType.DEADMAN)) + if (wTypes.contains(WorldType.DEADMAN)) { return HiscoreEndpoint.DEADMAN; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java index c387581790..43b573e857 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java @@ -113,11 +113,7 @@ public class OpponentInfoPlugin extends Plugin } final EnumSet worldType = client.getWorldType(); - if (worldType.contains(WorldType.DEADMAN_TOURNAMENT)) - { - hiscoreEndpoint = HiscoreEndpoint.DEADMAN_TOURNAMENT; - } - else if (worldType.contains(WorldType.DEADMAN)) + if (worldType.contains(WorldType.DEADMAN)) { hiscoreEndpoint = HiscoreEndpoint.DEADMAN; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index e58a088118..fe73b5f4cc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -615,12 +615,9 @@ public class ScreenshotPlugin extends Plugin if (client.getLocalPlayer() != null && client.getLocalPlayer().getName() != null) { final EnumSet worldTypes = client.getWorldType(); - final boolean dmm = worldTypes.contains(WorldType.DEADMAN); - final boolean dmmt = worldTypes.contains(WorldType.DEADMAN_TOURNAMENT); - final boolean isDmmWorld = dmm || dmmt; String playerDir = client.getLocalPlayer().getName(); - if (isDmmWorld) + if (worldTypes.contains(WorldType.DEADMAN)) { playerDir += "-Deadman"; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index 67d2e6bccf..3b6f84823e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -541,8 +541,7 @@ public class TimersPlugin extends Plugin } else if (HALF_TELEBLOCK_PATTERN.matcher(event.getMessage()).find()) { - if (client.getWorldType().contains(WorldType.DEADMAN) - && !client.getWorldType().contains(WorldType.DEADMAN_TOURNAMENT)) + if (client.getWorldType().contains(WorldType.DEADMAN)) { createGameTimer(DMM_FULLTB); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java index 5126a978e4..dc31a3272e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java @@ -30,8 +30,7 @@ enum XpWorldType { NORMAL, TOURNEY, - DMM, - DMMT; + DMM; static XpWorldType of(WorldType type) { @@ -41,8 +40,6 @@ enum XpWorldType return TOURNEY; case DEADMAN: return DMM; - case DEADMAN_TOURNAMENT: - return DMMT; default: return NORMAL; } diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/deadman_tournament.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/deadman_tournament.png deleted file mode 100644 index e74b1d940b387aa63d4bffeb3e8fd257950db778..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3020 zcmV;-3p4bIP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002@Nkl9LTKw3z01X`BobB9wiH~%~%M`o9lDd zZ`p0k)+ArBjO#gWP&GbhBsVu(RBNkNv%i!i_v=@I8mup-XCOO9V&c~veehe9`LD+Z zgCvd@qX43QO^=cVI^Tfjoz`UcB$E&&N4C)a=x_$Jt6vLW|CRQScn<(Xdyd4pn%g`8 O0000 Date: Fri, 15 Nov 2019 09:37:21 -0500 Subject: [PATCH 37/66] http api: update hiscore for leagues Co-authored-by: Hydrox6 --- .../net/runelite/http/api/hiscore/HiscoreResult.java | 3 +++ .../runelite/http/api/hiscore/HiscoreResultBuilder.java | 9 ++++----- .../java/net/runelite/http/api/hiscore/HiscoreSkill.java | 5 +++-- .../http/service/hiscore/HiscoreServiceTest.java | 6 ++++-- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreResult.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreResult.java index 9af6f6e4b9..57f29c2910 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreResult.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreResult.java @@ -54,6 +54,7 @@ public class HiscoreResult private Skill runecraft; private Skill hunter; private Skill construction; + private Skill leaguePoints; private Skill bountyHunterHunter; private Skill bountyHunterRogue; private Skill clueScrollAll; @@ -115,6 +116,8 @@ public class HiscoreResult return getHunter(); case CONSTRUCTION: return getConstruction(); + case LEAGUE_POINTS: + return getLeaguePoints(); case OVERALL: return getOverall(); case BOUNTY_HUNTER_HUNTER: diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreResultBuilder.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreResultBuilder.java index a6117160a4..10394b4919 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreResultBuilder.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreResultBuilder.java @@ -26,8 +26,6 @@ package net.runelite.http.api.hiscore; import java.util.ArrayList; import java.util.List; -import net.runelite.http.api.hiscore.HiscoreResult; -import net.runelite.http.api.hiscore.Skill; public class HiscoreResultBuilder { @@ -77,9 +75,9 @@ public class HiscoreResultBuilder hiscoreResult.setRunecraft(skills.get(21)); hiscoreResult.setHunter(skills.get(22)); hiscoreResult.setConstruction(skills.get(23)); - hiscoreResult.setBountyHunterHunter(skills.get(24)); - hiscoreResult.setBountyHunterRogue(skills.get(25)); - hiscoreResult.setLastManStanding(skills.get(26)); + hiscoreResult.setLeaguePoints(skills.get(24)); + hiscoreResult.setBountyHunterHunter(skills.get(25)); + hiscoreResult.setBountyHunterRogue(skills.get(26)); hiscoreResult.setClueScrollAll(skills.get(27)); hiscoreResult.setClueScrollBeginner(skills.get(28)); hiscoreResult.setClueScrollEasy(skills.get(29)); @@ -87,6 +85,7 @@ public class HiscoreResultBuilder hiscoreResult.setClueScrollHard(skills.get(31)); hiscoreResult.setClueScrollElite(skills.get(32)); hiscoreResult.setClueScrollMaster(skills.get(33)); + hiscoreResult.setLastManStanding(skills.get(34)); return hiscoreResult; } } diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreSkill.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreSkill.java index db043dfcfb..f0864a9424 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreSkill.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreSkill.java @@ -50,16 +50,17 @@ public enum HiscoreSkill RUNECRAFT("Runecraft"), HUNTER("Hunter"), CONSTRUCTION("Construction"), + LEAGUE_POINTS("League Points"), BOUNTY_HUNTER_HUNTER("Bounty Hunter - Hunter"), BOUNTY_HUNTER_ROGUE("Bounty Hunter - Rogue"), - LAST_MAN_STANDING("Last Man Standing"), CLUE_SCROLL_ALL("Clue Scrolls (all)"), CLUE_SCROLL_BEGINNER("Clue Scrolls (beginner)"), CLUE_SCROLL_EASY("Clue Scrolls (easy)"), CLUE_SCROLL_MEDIUM("Clue Scrolls (medium)"), CLUE_SCROLL_HARD("Clue Scrolls (hard)"), CLUE_SCROLL_ELITE("Clue Scrolls (elite)"), - CLUE_SCROLL_MASTER("Clue Scrolls (master)"); + CLUE_SCROLL_MASTER("Clue Scrolls (master)"), + LAST_MAN_STANDING("Last Man Standing"); private final String name; diff --git a/http-service/src/test/java/net/runelite/http/service/hiscore/HiscoreServiceTest.java b/http-service/src/test/java/net/runelite/http/service/hiscore/HiscoreServiceTest.java index 9cda0a54ed..52aa2e3d06 100644 --- a/http-service/src/test/java/net/runelite/http/service/hiscore/HiscoreServiceTest.java +++ b/http-service/src/test/java/net/runelite/http/service/hiscore/HiscoreServiceTest.java @@ -60,16 +60,17 @@ public class HiscoreServiceTest + "638177,1,0\n" + "516239,9,1000\n" + "492790,1,0\n" + + "2,2460\n" // leagues + "-1,-1\n" + "73,1738\n" - + "-1,-1\n" + "531,1432\n" + "324,212\n" + "8008,131\n" + "1337,911\n" + "42,14113\n" + "1,777\n" - + "254,92\n"; + + "254,92\n" + + "-1,-1\n"; // lms private final MockWebServer server = new MockWebServer(); @@ -105,6 +106,7 @@ public class HiscoreServiceTest Assert.assertEquals(777, result.getClueScrollElite().getLevel()); Assert.assertEquals(254, result.getClueScrollMaster().getRank()); Assert.assertEquals(-1, result.getLastManStanding().getLevel()); + Assert.assertEquals(2460, result.getLeaguePoints().getLevel()); } } From 7463d2de1a1f4bf7f3ba962d11f04a53eb97ac13 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 15 Nov 2019 09:40:38 -0500 Subject: [PATCH 38/66] api: add league world type Co-authored-by: Hydrox6 --- .../java/net/runelite/http/api/hiscore/HiscoreEndpoint.java | 3 ++- .../main/java/net/runelite/http/api/worlds/WorldType.java | 3 ++- .../net/runelite/http/service/worlds/ServiceWorldType.java | 3 ++- runelite-api/src/main/java/net/runelite/api/WorldType.java | 6 +++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java index 433357c3e5..8e5a97dfb3 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreEndpoint.java @@ -34,7 +34,8 @@ public enum HiscoreEndpoint IRONMAN("Ironman", "https://services.runescape.com/m=hiscore_oldschool_ironman/index_lite.ws"), HARDCORE_IRONMAN("Hardcore Ironman", "https://services.runescape.com/m=hiscore_oldschool_hardcore_ironman/index_lite.ws"), ULTIMATE_IRONMAN("Ultimate Ironman", "https://services.runescape.com/m=hiscore_oldschool_ultimate/index_lite.ws"), - DEADMAN("Deadman", "https://services.runescape.com/m=hiscore_oldschool_deadman/index_lite.ws"); + DEADMAN("Deadman", "https://services.runescape.com/m=hiscore_oldschool_deadman/index_lite.ws"), + LEAGUE("Twisted League", "https://services.runescape.com/m=hiscore_oldschool_seasonal/index_lite.ws"); private final String name; private final HttpUrl hiscoreURL; diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java index 0e4f9ace6e..af543b7383 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java +++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldType.java @@ -33,5 +33,6 @@ public enum WorldType HIGH_RISK, LAST_MAN_STANDING, TOURNAMENT, - DEADMAN; + DEADMAN, + LEAGUE; } diff --git a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java index 402436c8fa..896f152752 100644 --- a/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java +++ b/http-service/src/main/java/net/runelite/http/service/worlds/ServiceWorldType.java @@ -35,7 +35,8 @@ enum ServiceWorldType HIGH_RISK(WorldType.HIGH_RISK, 1 << 10), LAST_MAN_STANDING(WorldType.LAST_MAN_STANDING, 1 << 14), TOURNAMENT(WorldType.TOURNAMENT, 1 << 25), - DEADMAN(WorldType.DEADMAN, 1 << 29); + DEADMAN(WorldType.DEADMAN, 1 << 29), + LEAGUE(WorldType.LEAGUE, 1 << 30); private final WorldType apiType; private final int mask; diff --git a/runelite-api/src/main/java/net/runelite/api/WorldType.java b/runelite-api/src/main/java/net/runelite/api/WorldType.java index 70e22d7f89..618d272796 100644 --- a/runelite-api/src/main/java/net/runelite/api/WorldType.java +++ b/runelite-api/src/main/java/net/runelite/api/WorldType.java @@ -63,7 +63,11 @@ public enum WorldType /** * Deadman world type. */ - DEADMAN(1 << 29); + DEADMAN(1 << 29), + /** + * League world type + */ + LEAGUE(1 << 30); private final int mask; From 2e024cc6883202426f1a58a015ec62e2b192a0a6 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 15 Nov 2019 09:45:46 -0500 Subject: [PATCH 39/66] hiscore plugin: add leagues Co-authored-by: Hydrox6 --- .../client/plugins/hiscore/HiscorePanel.java | 24 ++++++++++++++---- .../client/plugins/hiscore/league.png | Bin 0 -> 227 bytes .../skill_icons_small/league points.png | Bin 0 -> 304 bytes 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png create mode 100644 runelite-client/src/main/resources/skill_icons_small/league points.png diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index 82abca4d68..2a11a59d2c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -81,6 +81,7 @@ import static net.runelite.http.api.hiscore.HiscoreSkill.HERBLORE; import static net.runelite.http.api.hiscore.HiscoreSkill.HITPOINTS; import static net.runelite.http.api.hiscore.HiscoreSkill.HUNTER; import static net.runelite.http.api.hiscore.HiscoreSkill.LAST_MAN_STANDING; +import static net.runelite.http.api.hiscore.HiscoreSkill.LEAGUE_POINTS; import static net.runelite.http.api.hiscore.HiscoreSkill.MAGIC; import static net.runelite.http.api.hiscore.HiscoreSkill.MINING; import static net.runelite.http.api.hiscore.HiscoreSkill.OVERALL; @@ -276,6 +277,7 @@ public class HiscorePanel extends PluginPanel minigamePanel.setBackground(ColorScheme.DARKER_GRAY_COLOR); minigamePanel.add(makeSkillPanel(CLUE_SCROLL_ALL)); + minigamePanel.add(makeSkillPanel(LEAGUE_POINTS)); minigamePanel.add(makeSkillPanel(LAST_MAN_STANDING)); minigamePanel.add(makeSkillPanel(BOUNTY_HUNTER_ROGUE)); minigamePanel.add(makeSkillPanel(BOUNTY_HUNTER_HUNTER)); @@ -470,15 +472,17 @@ public class HiscorePanel extends PluginPanel case 0: return null; case 1: - return HiscoreSkill.OVERALL; + return OVERALL; case 2: - return HiscoreSkill.CLUE_SCROLL_ALL; + return CLUE_SCROLL_ALL; case 3: - return HiscoreSkill.LAST_MAN_STANDING; + return LEAGUE_POINTS; case 4: - return HiscoreSkill.BOUNTY_HUNTER_ROGUE; + return LAST_MAN_STANDING; case 5: - return HiscoreSkill.BOUNTY_HUNTER_HUNTER; + return BOUNTY_HUNTER_ROGUE; + case 6: + return BOUNTY_HUNTER_HUNTER; } return null; @@ -562,6 +566,12 @@ public class HiscorePanel extends PluginPanel content += "

Rank: " + rank + "

"; break; } + case LEAGUE_POINTS: + { + String rank = (result.getLeaguePoints().getRank() == -1) ? "Unranked" : QuantityFormatter.formatNumber(result.getLeaguePoints().getRank()); + content += "

Rank: " + rank + "

"; + break; + } case OVERALL: { Skill requestedSkill = result.getSkill(skill); @@ -651,6 +661,10 @@ public class HiscorePanel extends PluginPanel { return HiscoreEndpoint.DEADMAN; } + else if (wTypes.contains(WorldType.LEAGUE)) + { + return HiscoreEndpoint.LEAGUE; + } } return HiscoreEndpoint.NORMAL; } diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png b/runelite-client/src/main/resources/net/runelite/client/plugins/hiscore/league.png new file mode 100644 index 0000000000000000000000000000000000000000..b9473db51212d5e3647a34153295c19831436c22 GIT binary patch literal 227 zcmV<90382`P)s420+j9|94NojZl7H*0~2ps#$(B1k*LFk^zda dKR~3_dL8R`0;|g?e7pbv002ovPDHLkV1hamT-5*o literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/skill_icons_small/league points.png b/runelite-client/src/main/resources/skill_icons_small/league points.png new file mode 100644 index 0000000000000000000000000000000000000000..1b976d526cd13870751ec63abefd0d6d0cbe22ed GIT binary patch literal 304 zcmV-00nh%4P)8UT(#UEEoo?(VUqrdDyOXl_ Date: Fri, 15 Nov 2019 09:47:11 -0500 Subject: [PATCH 40/66] world hopper: assign leagues world color Co-authored-by: Hydrox6 --- .../runelite/client/plugins/worldhopper/WorldTableRow.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java index 077dd7f72b..31449ff61b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java @@ -62,6 +62,7 @@ class WorldTableRow extends JPanel private static final Color TOURNAMENT_WORLD = new Color(79, 145, 255); private static final Color MEMBERS_WORLD = new Color(210, 193, 53); private static final Color FREE_WORLD = new Color(200, 200, 200); + private static final Color LEAGUE_WORLD = new Color(157, 237, 1); static { @@ -249,6 +250,10 @@ class WorldTableRow extends JPanel { activityField.setForeground(DANGEROUS_WORLD); } + else if (world.getTypes().contains(WorldType.LEAGUE)) + { + activityField.setForeground(LEAGUE_WORLD); + } else if (world.getTypes().contains(WorldType.TOURNAMENT)) { activityField.setForeground(TOURNAMENT_WORLD); From ef15e79885f347cb5471c1a5b2e6bb2bf42c7842 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 15 Nov 2019 09:48:26 -0500 Subject: [PATCH 41/66] screenshot plugin: add League folder Co-authored-by: Hydrox6 --- .../runelite/client/plugins/screenshot/ScreenshotPlugin.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index fe73b5f4cc..5510a09635 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -621,6 +621,10 @@ public class ScreenshotPlugin extends Plugin { playerDir += "-Deadman"; } + else if (worldTypes.contains(WorldType.LEAGUE)) + { + playerDir += "-League"; + } playerFolder = new File(SCREENSHOT_DIR, playerDir); } else From db17dd213cae4d40226b58f771413559060eb26a Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 15 Nov 2019 09:50:48 -0500 Subject: [PATCH 42/66] opponent info: add league hiscore endpoint Co-authored-by: Hydrox6 --- .../client/plugins/opponentinfo/OpponentInfoPlugin.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java index 43b573e857..f411fc2dae 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/opponentinfo/OpponentInfoPlugin.java @@ -117,6 +117,10 @@ public class OpponentInfoPlugin extends Plugin { hiscoreEndpoint = HiscoreEndpoint.DEADMAN; } + else if (worldType.contains(WorldType.LEAGUE)) + { + hiscoreEndpoint = HiscoreEndpoint.LEAGUE; + } else { hiscoreEndpoint = HiscoreEndpoint.NORMAL; From 39e40b655ca00ce057592589fbc2efb9d917636c Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 15 Nov 2019 09:50:55 -0500 Subject: [PATCH 43/66] xptracker: add league world type Co-authored-by: Hydrox6 --- .../net/runelite/client/plugins/xptracker/XpWorldType.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java index dc31a3272e..b998a2f8b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpWorldType.java @@ -30,7 +30,8 @@ enum XpWorldType { NORMAL, TOURNEY, - DMM; + DMM, + LEAGUE; static XpWorldType of(WorldType type) { @@ -40,6 +41,8 @@ enum XpWorldType return TOURNEY; case DEADMAN: return DMM; + case LEAGUE: + return LEAGUE; default: return NORMAL; } From d76a2670de9d51711163ff6a3deb699b36092ff4 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 15 Nov 2019 10:02:05 -0500 Subject: [PATCH 44/66] chat commands: add support for league hiscores --- .../chatcommands/ChatCommandsPlugin.java | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 85b19e266c..e771a649a8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -27,6 +27,7 @@ package net.runelite.client.plugins.chatcommands; import com.google.inject.Provides; import java.io.IOException; +import java.util.EnumSet; import java.util.List; import java.util.concurrent.ScheduledExecutorService; import java.util.regex.Matcher; @@ -41,8 +42,10 @@ import net.runelite.api.Experience; import net.runelite.api.IconID; import net.runelite.api.ItemComposition; import net.runelite.api.MessageNode; +import net.runelite.api.Player; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; +import net.runelite.api.WorldType; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameTick; import net.runelite.api.events.VarbitChanged; @@ -1126,31 +1129,28 @@ public class ChatCommandsPlugin extends Plugin */ private HiscoreLookup getCorrectLookupFor(final ChatMessage chatMessage) { - final String player; - final HiscoreEndpoint ironmanStatus; + Player localPlayer = client.getLocalPlayer(); + final String player = sanitize(chatMessage.getName()); - if (chatMessage.getType().equals(ChatMessageType.PRIVATECHATOUT)) + // If we are sending the message then just use the local hiscore endpoint for the world + if (chatMessage.getType().equals(ChatMessageType.PRIVATECHATOUT) + || player.equals(localPlayer.getName())) { - player = client.getLocalPlayer().getName(); - ironmanStatus = hiscoreEndpoint; + return new HiscoreLookup(localPlayer.getName(), hiscoreEndpoint); } - else - { - player = sanitize(chatMessage.getName()); - if (player.equals(client.getLocalPlayer().getName())) + // Public chat on a leagues world is always league hiscores, regardless of icon + if (chatMessage.getType() == ChatMessageType.PUBLICCHAT || chatMessage.getType() == ChatMessageType.MODCHAT) + { + if (client.getWorldType().contains(WorldType.LEAGUE)) { - // Get ironman status from for the local player - ironmanStatus = hiscoreEndpoint; - } - else - { - // Get ironman status from their icon in chat - ironmanStatus = getHiscoreEndpointByName(chatMessage.getName()); + return new HiscoreLookup(player, HiscoreEndpoint.LEAGUE); } } - return new HiscoreLookup(player, ironmanStatus); + // Get ironman status from their icon in chat + HiscoreEndpoint endpoint = getHiscoreEndpointByName(chatMessage.getName()); + return new HiscoreLookup(player, endpoint); } /** @@ -1189,6 +1189,12 @@ public class ChatCommandsPlugin extends Plugin */ private HiscoreEndpoint getLocalHiscoreEndpointType() { + EnumSet worldType = client.getWorldType(); + if (worldType.contains(WorldType.LEAGUE)) + { + return HiscoreEndpoint.LEAGUE; + } + return toEndPoint(client.getAccountType()); } From 8478941f95e128da6b8b4257de9f87df6edaac7b Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Fri, 15 Nov 2019 19:46:14 +0100 Subject: [PATCH 45/66] Halve bootstrapplugin in size --- buildSrc/src/main/kotlin/BootstrapPlugin.kt | 97 ++++++--------------- buildSrc/src/main/kotlin/BootstrapTask.kt | 19 ++-- 2 files changed, 35 insertions(+), 81 deletions(-) diff --git a/buildSrc/src/main/kotlin/BootstrapPlugin.kt b/buildSrc/src/main/kotlin/BootstrapPlugin.kt index ff90211c7f..a28ee8ced1 100644 --- a/buildSrc/src/main/kotlin/BootstrapPlugin.kt +++ b/buildSrc/src/main/kotlin/BootstrapPlugin.kt @@ -1,85 +1,42 @@ import org.gradle.api.Plugin import org.gradle.api.Project -import org.gradle.kotlin.dsl.get -import org.gradle.kotlin.dsl.register -import java.io.File +import org.gradle.kotlin.dsl.* class BootstrapPlugin : Plugin { - override fun apply(project: Project) { - project.tasks.register("bootstrapStaging") { - dependsOn("jar") - dependsOn("shadowJar") - - type = "staging" - clientJar = project.tasks["jar"].outputs.files.singleFile - - dependsOn(project.parent!!.project(":runelite-api").tasks["jar"]) - dependsOn(project.parent!!.project(":runescape-api").tasks["jar"]) - dependsOn(project.parent!!.project(":http-api").tasks["jar"]) - dependsOn(project.parent!!.project(":injected-client").tasks["jar"]) - - doLast { - - project.copy { - from(project.tasks["jar"]) - from(project.parent!!.project(":runelite-api").tasks["jar"]) - from(project.parent!!.project(":runescape-api").tasks["jar"]) - from(project.parent!!.project(":http-api").tasks["jar"]) - from(project.parent!!.project(":injected-client").tasks["jar"]) - - into("${project.buildDir}/bootstrap/${type}/") - } - } + override fun apply(project: Project): Unit = with(project) { + val clientJar by configurations.creating { + isCanBeConsumed = false + isCanBeResolved = true + isTransitive = false + } + val bootstrapDependencies by configurations.creating { + extendsFrom(clientJar) + isCanBeConsumed = false + isCanBeResolved = true + isTransitive = false } - project.tasks.register("bootstrapStable") { - dependsOn("jar") - dependsOn("shadowJar") - - type = "stable" - clientJar = project.tasks["jar"].outputs.files.singleFile - - dependsOn(project.parent!!.project(":runelite-api").tasks["jar"]) - dependsOn(project.parent!!.project(":runescape-api").tasks["jar"]) - dependsOn(project.parent!!.project(":http-api").tasks["jar"]) - dependsOn(project.parent!!.project(":injected-client").tasks["jar"]) - - doLast { - - project.copy { - from(project.tasks["jar"]) - from(project.parent!!.project(":runelite-api").tasks["jar"]) - from(project.parent!!.project(":runescape-api").tasks["jar"]) - from(project.parent!!.project(":http-api").tasks["jar"]) - from(project.parent!!.project(":injected-client").tasks["jar"]) - - into("${project.buildDir}/bootstrap/${type}/") - } - } + dependencies { + clientJar(tasks["jar"].outputs.files) + bootstrapDependencies(project(":runelite-api")) + bootstrapDependencies(project(":runescape-api")) + bootstrapDependencies(project(":http-api")) + bootstrapDependencies(project(":injected-client")) } - project.tasks.register("bootstrapNightly") { - dependsOn("jar") - dependsOn("shadowJar") + tasks.register("bootstrapStaging", "staging") + tasks.register("bootstrapNightly", "nightly") + tasks.register("bootstrapStable", "stable") - type = "nightly" - clientJar = project.tasks["jar"].outputs.files.singleFile + tasks.withType { + dependsOn(bootstrapDependencies) - dependsOn(project.parent!!.project(":runelite-api").tasks["jar"]) - dependsOn(project.parent!!.project(":runescape-api").tasks["jar"]) - dependsOn(project.parent!!.project(":http-api").tasks["jar"]) - dependsOn(project.parent!!.project(":injected-client").tasks["jar"]) + this.clientJar = clientJar.singleFile doLast { - - project.copy { - from(project.tasks["jar"]) - from(project.parent!!.project(":runelite-api").tasks["jar"]) - from(project.parent!!.project(":runescape-api").tasks["jar"]) - from(project.parent!!.project(":http-api").tasks["jar"]) - from(project.parent!!.project(":injected-client").tasks["jar"]) - - into("${project.buildDir}/bootstrap/${type}/") + copy { + from(bootstrapDependencies) + into("${buildDir}/bootstrap/${type}/") } } } diff --git a/buildSrc/src/main/kotlin/BootstrapTask.kt b/buildSrc/src/main/kotlin/BootstrapTask.kt index a6e0652cea..60f5163696 100644 --- a/buildSrc/src/main/kotlin/BootstrapTask.kt +++ b/buildSrc/src/main/kotlin/BootstrapTask.kt @@ -1,7 +1,6 @@ import org.gradle.api.DefaultTask import org.gradle.api.tasks.Input import org.gradle.api.tasks.InputFile -import org.gradle.api.tasks.Optional import org.gradle.api.tasks.PathSensitive import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskAction @@ -9,12 +8,9 @@ import org.gradle.kotlin.dsl.extra import org.gradle.kotlin.dsl.get import java.io.File import java.security.MessageDigest +import javax.inject.Inject -open class BootstrapTask : DefaultTask() { - - @Input - @Optional - var type: String? = "stable" +open class BootstrapTask @Inject constructor(@Input val type: String) : DefaultTask() { @InputFile @PathSensitive(PathSensitivity.ABSOLUTE) @@ -42,10 +38,11 @@ open class BootstrapTask : DefaultTask() { project.configurations["runtimeClasspath"].resolvedConfiguration.resolvedArtifacts.forEach { val module = it.moduleVersion.id.toString() - val name = module.split(":")[1] - val group = module.split(":")[0] - val version = module.split(":")[2] - var path = "" + val splat = module.split(":") + val name = splat[1] + val group = splat[0] + val version = splat[2] + lateinit var path: String if (it.file.name.contains(ProjectVersions.rlVersion)) { path = "https://github.com/open-osrs/hosting/raw/master/${type}/${it.file.name}" @@ -84,7 +81,7 @@ open class BootstrapTask : DefaultTask() { } @TaskAction - fun boostrap() { + fun bootstrap() { val json = JsonBuilder( "projectVersion" to ProjectVersions.openosrsVersion, "minimumLauncherVersion" to ProjectVersions.launcherVersion, From 99fd6278e63516d0089a3a8e904737cc075fdab5 Mon Sep 17 00:00:00 2001 From: emiljensen2 <55587410+emiljensen2@users.noreply.github.com> Date: Sat, 16 Nov 2019 04:16:45 +0100 Subject: [PATCH 46/66] notifier: require client to be focused to cancel notifications --- .../src/main/java/net/runelite/client/Notifier.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/Notifier.java b/runelite-client/src/main/java/net/runelite/client/Notifier.java index 20bcf83c97..4f9653ed86 100644 --- a/runelite-client/src/main/java/net/runelite/client/Notifier.java +++ b/runelite-client/src/main/java/net/runelite/client/Notifier.java @@ -195,9 +195,9 @@ public class Notifier case SOLID_UNTIL_CANCELLED: case FLASH_UNTIL_CANCELLED: // Any interaction with the client since the notification started will cancel it after the minimum duration - if (client.getMouseIdleTicks() < MINIMUM_FLASH_DURATION_TICKS + if ((client.getMouseIdleTicks() < MINIMUM_FLASH_DURATION_TICKS || client.getKeyboardIdleTicks() < MINIMUM_FLASH_DURATION_TICKS - || client.getMouseLastPressedMillis() > mouseLastPressedMillis) + || client.getMouseLastPressedMillis() > mouseLastPressedMillis) && clientUI.isFocused()) { flashStart = null; } From 7900089edadb3ac30b2e942f67f3b61113b916fe Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sat, 16 Nov 2019 03:53:37 +0100 Subject: [PATCH 47/66] Update checkstyle allow {} on classes and anonymous classes check empty lines in imports --- config/checkstyle/checkstyle.xml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index 6f6c6e65da..35ebf4519b 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -32,6 +32,8 @@ + + @@ -42,12 +44,12 @@ - - - - + + + + + - @@ -57,6 +59,11 @@ + + + + + From 55b0845a18f9136801dfd216184b0cf0dca20ada Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sat, 16 Nov 2019 03:56:15 +0100 Subject: [PATCH 48/66] Optimize imports --- .../cache/definitions/loaders/ItemLoader.java | 5 ++-- .../net/runelite/cache/ModelDumperTest.java | 1 - .../runelite/asm/attributes/Annotations.java | 1 - .../code/instructions/InvokeStatic.java | 1 - .../net/runelite/asm/execution/Stack.java | 13 ++++---- .../asm/execution/VariableContext.java | 19 ++++++------ .../java/net/runelite/asm/pool/Field.java | 3 +- .../net/runelite/asm/signature/Signature.java | 3 +- .../net/runelite/deob/DeobAnnotations.java | 3 +- .../deob/deobfuscators/RenameUnique.java | 29 +++++++++--------- .../packethandler/PacketRead.java | 1 - .../net/runelite/gamepack/Downloader.java | 1 - .../api/ws/RuntimeTypeAdapterFactory.java | 7 ++--- .../service/util/HiscoreEndpointEditor.java | 3 +- .../java/net/runelite/api/widgets/Widget.java | 1 - .../plugins/aoewarnings/AoeWarningPlugin.java | 1 - .../barbarianassault/AboveSceneOverlay.java | 15 +++++----- .../barbarianassault/AboveWidgetsOverlay.java | 1 - .../BarbarianAssaultMenu.java | 9 +++--- .../plugins/barbarianassault/Healer.java | 7 ++--- .../plugins/barbarianassault/Scorecard.java | 1 - .../plugins/barbarianassault/Timer.java | 5 ++-- .../plugins/barbarianassault/TimerBox.java | 5 ++-- .../client/plugins/barbarianassault/Wave.java | 3 +- .../bosstimetracker/BossTimeTracker.java | 5 ++-- .../BossTimeTrackerPlugin.java | 30 +++++++++---------- .../ChatNotificationsPlugin.java | 5 ++-- .../combatcounter/CombatCounterConfig.java | 13 ++++---- .../EquipmentInspectorPlugin.java | 1 - .../GrotesqueGuardiansPlugin.java | 13 ++++---- .../GrotesqueGuardiansPrayerOverlay.java | 1 - .../loottracker/LootRecordDateFilter.java | 1 - .../nightmarezone/NightmareZonePlugin.java | 11 ++++--- .../client/plugins/runepouch/Runes.java | 23 +------------- .../SuppliesTrackerPlugin.java | 1 - .../WildernessLocationsPlugin.java | 1 - .../plugins/zalcano/ZalcanoOverlay.java | 3 +- .../testconfig/MagicMaxHitConfig.java | 1 - .../testconfig/MeleeMaxHitConfig.java | 1 - .../testconfig/RangeMaxHitConfig.java | 1 - .../net/runelite/mixins/ScriptVMMixin.java | 7 ++--- .../java/net/runelite/mixins/SpriteMixin.java | 3 +- .../mixins/StretchedModeMaxSizeMixin.java | 1 - .../runelite/mixins/StretchedModeMixin.java | 3 +- 44 files changed, 99 insertions(+), 164 deletions(-) diff --git a/cache/src/main/java/net/runelite/cache/definitions/loaders/ItemLoader.java b/cache/src/main/java/net/runelite/cache/definitions/loaders/ItemLoader.java index 6cb6c9bd41..806fa3eff8 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/loaders/ItemLoader.java +++ b/cache/src/main/java/net/runelite/cache/definitions/loaders/ItemLoader.java @@ -25,13 +25,12 @@ package net.runelite.cache.definitions.loaders; +import java.util.HashMap; import net.runelite.cache.definitions.ItemDefinition; import net.runelite.cache.io.InputStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.HashMap; - public class ItemLoader { private static final Logger logger = LoggerFactory.getLogger(ItemLoader.class); @@ -40,7 +39,7 @@ public class ItemLoader { ItemDefinition def = new ItemDefinition(id); InputStream is = new InputStream(b); - + while (true) { int opcode = is.readUnsignedByte(); diff --git a/cache/src/test/java/net/runelite/cache/ModelDumperTest.java b/cache/src/test/java/net/runelite/cache/ModelDumperTest.java index 32f5879ac1..bfd4bd9dba 100644 --- a/cache/src/test/java/net/runelite/cache/ModelDumperTest.java +++ b/cache/src/test/java/net/runelite/cache/ModelDumperTest.java @@ -25,7 +25,6 @@ package net.runelite.cache; - import com.google.common.io.Files; import java.io.File; import java.io.IOException; diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotations.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotations.java index 7c1a6ba535..6e184a89ec 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotations.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotations.java @@ -28,7 +28,6 @@ package net.runelite.asm.attributes; import java.util.ArrayList; import java.util.Iterator; import java.util.List; - import net.runelite.asm.Type; import net.runelite.asm.attributes.annotation.Annotation; import net.runelite.asm.attributes.annotation.Element; diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/InvokeStatic.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/InvokeStatic.java index 7d01d0d38c..bf85f47c95 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/InvokeStatic.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/InvokeStatic.java @@ -40,7 +40,6 @@ import net.runelite.asm.execution.InstructionContext; import net.runelite.asm.execution.Stack; import net.runelite.asm.execution.StackContext; import static net.runelite.asm.execution.StaticStep.stepInto; - import net.runelite.asm.execution.Value; import net.runelite.asm.pool.Method; import net.runelite.asm.signature.Signature; diff --git a/deobfuscator/src/main/java/net/runelite/asm/execution/Stack.java b/deobfuscator/src/main/java/net/runelite/asm/execution/Stack.java index 2d0fa58ba9..fb01c7463a 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/execution/Stack.java +++ b/deobfuscator/src/main/java/net/runelite/asm/execution/Stack.java @@ -25,11 +25,10 @@ package net.runelite.asm.execution; -import net.runelite.asm.Type; - import java.util.Arrays; import java.util.List; import net.runelite.asm.Method; +import net.runelite.asm.Type; public class Stack { @@ -40,13 +39,13 @@ public class Stack { stack = new StackContext[sz * 2]; // XXX FIXME } - + public Stack(Stack other) { this.size = other.size; this.stack = other.stack.clone(); } - + private void printStack(StackContext ctx, int level) { for (int i = 0; i < level; ++i) @@ -66,7 +65,7 @@ public class Stack printStack(stack[c], 0); throw new RuntimeException("Stack overflow"); } - + assert !i.getType().equals(Type.VOID); stack[size] = i; @@ -80,12 +79,12 @@ public class Stack return stack[--size]; } - + public int getSize() { return size; } - + public List getStack() { return Arrays.asList(stack); diff --git a/deobfuscator/src/main/java/net/runelite/asm/execution/VariableContext.java b/deobfuscator/src/main/java/net/runelite/asm/execution/VariableContext.java index d1456737e5..56eabd3979 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/execution/VariableContext.java +++ b/deobfuscator/src/main/java/net/runelite/asm/execution/VariableContext.java @@ -25,10 +25,9 @@ package net.runelite.asm.execution; -import net.runelite.asm.Type; - import java.util.ArrayList; import java.util.List; +import net.runelite.asm.Type; public class VariableContext { @@ -46,13 +45,13 @@ public class VariableContext type = ctx.getType(); value = ctx.getValue(); } - + public VariableContext(Type type) // for entrypoints { this.type = type; value = Value.UNKNOWN; } - + public VariableContext(InstructionContext i, VariableContext other) { ic = i; @@ -60,24 +59,24 @@ public class VariableContext type = other.type; value = other.value; } - + public VariableContext(InstructionContext i, Type type, Value value) { ic = i; this.type = type; this.value = value; } - + public StackContext getStackContext() { return ctx; } - + public InstructionContext getInstructionWhichStored() { return ic; } - + public Type getType() { return type; @@ -87,7 +86,7 @@ public class VariableContext { return value; } - + public void addRead(InstructionContext ctx) { if (!read.contains(ctx)) @@ -103,7 +102,7 @@ public class VariableContext { return isParameter; } - + public VariableContext markParameter() { isParameter = true; diff --git a/deobfuscator/src/main/java/net/runelite/asm/pool/Field.java b/deobfuscator/src/main/java/net/runelite/asm/pool/Field.java index ca24bb33af..5eb4a5c663 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/pool/Field.java +++ b/deobfuscator/src/main/java/net/runelite/asm/pool/Field.java @@ -25,9 +25,8 @@ package net.runelite.asm.pool; -import net.runelite.asm.Type; - import java.util.Objects; +import net.runelite.asm.Type; public class Field { diff --git a/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java b/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java index f3cd779eda..58b56deb2f 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java +++ b/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java @@ -24,8 +24,6 @@ */ package net.runelite.asm.signature; -import net.runelite.asm.Type; - import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -33,6 +31,7 @@ import java.util.List; import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; +import net.runelite.asm.Type; public class Signature { diff --git a/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java b/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java index 6294574e74..d5e83313da 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java +++ b/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java @@ -24,6 +24,7 @@ */ package net.runelite.deob; +import java.util.List; import net.runelite.asm.ClassFile; import net.runelite.asm.Field; import net.runelite.asm.Method; @@ -33,8 +34,6 @@ import net.runelite.asm.attributes.annotation.Annotation; import net.runelite.asm.attributes.annotation.Element; import net.runelite.asm.signature.Signature; -import java.util.List; - public class DeobAnnotations { public static final Type OBFUSCATED_NAME = new Type("Lnet/runelite/mapping/ObfuscatedName;"); diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/RenameUnique.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/RenameUnique.java index 1f1789afb5..06c6e905ea 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/RenameUnique.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/RenameUnique.java @@ -25,6 +25,7 @@ package net.runelite.deob.deobfuscators; +import java.util.List; import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; @@ -35,31 +36,29 @@ import net.runelite.deob.DeobAnnotations; import net.runelite.deob.Deobfuscator; import net.runelite.deob.util.NameMappings; -import java.util.List; - public class RenameUnique implements Deobfuscator { private Renamer renamer; - + private void generateClassNames(NameMappings map, ClassGroup group) { int i = 0; - + for (ClassFile cf : group.getClasses()) { if (cf.getName().length() > Deob.OBFUSCATED_NAME_MAX_LEN) { continue; } - + map.map(cf.getPoolClass(), "class" + i++); } } - + private void generateFieldNames(NameMappings map, ClassGroup group) { int i = 0; - + for (ClassFile cf : group.getClasses()) for (Field field : cf.getFields()) { @@ -67,7 +66,7 @@ public class RenameUnique implements Deobfuscator { continue; } - + map.map(field.getPoolField(), "field" + i++); } } @@ -75,7 +74,7 @@ public class RenameUnique implements Deobfuscator private void generateMethodNames(NameMappings map, ClassGroup group) { int i = 0; - + for (ClassFile cf : group.getClasses()) for (Method method : cf.getMethods()) { @@ -83,16 +82,16 @@ public class RenameUnique implements Deobfuscator { continue; } - + List virtualMethods = VirtualMethods.getVirtualMethods(method); assert !virtualMethods.isEmpty(); - + String name; if (virtualMethods.size() == 1) name = "method" + i++; else name = "vmethod" + i++; - + for (Method m : virtualMethods) map.map(m.getPoolMethod(), name); } @@ -103,13 +102,13 @@ public class RenameUnique implements Deobfuscator { group.buildClassGraph(); group.lookup(); - + NameMappings mappings = new NameMappings(); - + this.generateClassNames(mappings, group); this.generateFieldNames(mappings, group); this.generateMethodNames(mappings, group); - + renamer = new Renamer(mappings); renamer.run(group); } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/packethandler/PacketRead.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/packethandler/PacketRead.java index 18da7bc11d..8faf63dc0a 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/packethandler/PacketRead.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/packethandler/PacketRead.java @@ -25,7 +25,6 @@ package net.runelite.deob.deobfuscators.packethandler; import java.util.Objects; - import net.runelite.asm.Type; import net.runelite.asm.attributes.code.Instruction; import net.runelite.asm.execution.InstructionContext; diff --git a/deobfuscator/src/main/java/net/runelite/gamepack/Downloader.java b/deobfuscator/src/main/java/net/runelite/gamepack/Downloader.java index 350454ac8b..221ba4b4c6 100644 --- a/deobfuscator/src/main/java/net/runelite/gamepack/Downloader.java +++ b/deobfuscator/src/main/java/net/runelite/gamepack/Downloader.java @@ -1,6 +1,5 @@ package net.runelite.gamepack; - import java.io.File; import java.io.IOException; import java.net.URL; diff --git a/http-api/src/main/java/net/runelite/http/api/ws/RuntimeTypeAdapterFactory.java b/http-api/src/main/java/net/runelite/http/api/ws/RuntimeTypeAdapterFactory.java index 2819c92ceb..e99fe5cd0b 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/RuntimeTypeAdapterFactory.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/RuntimeTypeAdapterFactory.java @@ -16,10 +16,6 @@ package net.runelite.http.api.ws; -import java.io.IOException; -import java.util.LinkedHashMap; -import java.util.Map; - import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -31,6 +27,9 @@ import com.google.gson.internal.Streams; import com.google.gson.reflect.TypeToken; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; /** * Adapts values whose runtime type may differ from their declaration type. This diff --git a/http-service/src/main/java/net/runelite/http/service/util/HiscoreEndpointEditor.java b/http-service/src/main/java/net/runelite/http/service/util/HiscoreEndpointEditor.java index 816981f99a..bbc84f573a 100644 --- a/http-service/src/main/java/net/runelite/http/service/util/HiscoreEndpointEditor.java +++ b/http-service/src/main/java/net/runelite/http/service/util/HiscoreEndpointEditor.java @@ -26,9 +26,8 @@ package net.runelite.http.service.util; -import net.runelite.http.api.hiscore.HiscoreEndpoint; - import java.beans.PropertyEditorSupport; +import net.runelite.http.api.hiscore.HiscoreEndpoint; public class HiscoreEndpointEditor extends PropertyEditorSupport { diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java b/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java index 3e938a65e9..55a51700a7 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java @@ -26,7 +26,6 @@ package net.runelite.api.widgets; import java.awt.Rectangle; import java.util.Collection; - import net.runelite.api.FontTypeFace; import net.runelite.api.Point; import net.runelite.api.Sprite; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java index 7c78947a81..715ad97520 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java @@ -26,7 +26,6 @@ */ package net.runelite.client.plugins.aoewarnings; - import com.google.inject.Provides; import java.awt.Color; import java.time.Instant; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/AboveSceneOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/AboveSceneOverlay.java index 34313e61ac..3e4452f3b1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/AboveSceneOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/AboveSceneOverlay.java @@ -27,6 +27,13 @@ package net.runelite.client.plugins.barbarianassault; import com.google.common.collect.ImmutableMap; +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics2D; +import java.awt.Stroke; +import java.util.Map; +import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.Perspective; @@ -39,14 +46,6 @@ import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.OverlayUtil; -import javax.inject.Inject; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics2D; -import java.awt.Stroke; -import java.awt.BasicStroke; -import java.util.Map; - @Singleton class AboveSceneOverlay extends Overlay { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/AboveWidgetsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/AboveWidgetsOverlay.java index 5019de1647..0d97291329 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/AboveWidgetsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/AboveWidgetsOverlay.java @@ -31,7 +31,6 @@ import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; import javax.inject.Inject; - import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.Point; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultMenu.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultMenu.java index 01ea64478f..461848ce7d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultMenu.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultMenu.java @@ -26,18 +26,17 @@ package net.runelite.client.plugins.barbarianassault; import com.google.common.collect.Sets; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; import java.util.List; +import javax.inject.Inject; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import net.runelite.client.menus.AbstractComparableEntry; import net.runelite.client.menus.MenuManager; -import javax.inject.Inject; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; - class BarbarianAssaultMenu { private final MenuManager menuManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Healer.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Healer.java index c6f1e0c2ad..e7b21a1ecf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Healer.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Healer.java @@ -26,15 +26,14 @@ package net.runelite.client.plugins.barbarianassault; import com.google.common.collect.ImmutableList; +import java.time.Duration; +import java.time.Instant; +import java.util.List; import lombok.AccessLevel; import lombok.Data; import lombok.Getter; import net.runelite.api.NPC; -import java.time.Duration; -import java.time.Instant; -import java.util.List; - @Data class Healer diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Scorecard.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Scorecard.java index 59fe249b03..8e6c465b71 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Scorecard.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Scorecard.java @@ -27,7 +27,6 @@ package net.runelite.client.plugins.barbarianassault; import java.awt.Color; import java.util.ArrayList; - import java.util.List; import lombok.AccessLevel; import lombok.Getter; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Timer.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Timer.java index c936e82352..8845291326 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Timer.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Timer.java @@ -24,13 +24,12 @@ */ package net.runelite.client.plugins.barbarianassault; -import lombok.AccessLevel; -import lombok.Getter; - import java.time.Duration; import java.time.Instant; import java.time.LocalTime; import java.time.format.DateTimeFormatter; +import lombok.AccessLevel; +import lombok.Getter; class Timer { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/TimerBox.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/TimerBox.java index 36adc1efcc..1d65a35a31 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/TimerBox.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/TimerBox.java @@ -25,14 +25,13 @@ */ package net.runelite.client.plugins.barbarianassault; +import java.awt.Color; +import java.awt.image.BufferedImage; import lombok.Data; import lombok.EqualsAndHashCode; import net.runelite.client.plugins.Plugin; import net.runelite.client.ui.overlay.infobox.InfoBox; -import java.awt.Color; -import java.awt.image.BufferedImage; - @EqualsAndHashCode(callSuper = true) @Data public class TimerBox extends InfoBox diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Wave.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Wave.java index 9f90ab7612..f6d6ffd1ce 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Wave.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Wave.java @@ -27,6 +27,7 @@ package net.runelite.client.plugins.barbarianassault; import com.google.common.collect.ImmutableList; +import java.awt.Color; import lombok.AccessLevel; import lombok.Data; import lombok.Getter; @@ -35,8 +36,6 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.chat.ChatMessageBuilder; -import java.awt.Color; - @Data public class Wave { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bosstimetracker/BossTimeTracker.java b/runelite-client/src/main/java/net/runelite/client/plugins/bosstimetracker/BossTimeTracker.java index 882f415c9f..b3d026289e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bosstimetracker/BossTimeTracker.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bosstimetracker/BossTimeTracker.java @@ -24,14 +24,13 @@ */ package net.runelite.client.plugins.bosstimetracker; -import net.runelite.client.ui.overlay.infobox.InfoBox; - -import java.awt.image.BufferedImage; import java.awt.Color; +import java.awt.image.BufferedImage; import java.time.Duration; import java.time.Instant; import java.time.LocalTime; import java.time.format.DateTimeFormatter; +import net.runelite.client.ui.overlay.infobox.InfoBox; public class BossTimeTracker extends InfoBox { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bosstimetracker/BossTimeTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bosstimetracker/BossTimeTrackerPlugin.java index 02979340d1..db8e7f9653 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bosstimetracker/BossTimeTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bosstimetracker/BossTimeTrackerPlugin.java @@ -24,29 +24,27 @@ */ package net.runelite.client.plugins.bosstimetracker; -import lombok.Getter; -import net.runelite.api.ChatMessageType; -import net.runelite.api.Client; -import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.GameStateChanged; -import net.runelite.api.util.Text; -import net.runelite.client.config.ConfigManager; -import net.runelite.client.game.ItemManager; -import net.runelite.client.plugins.Plugin; -import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.plugins.PluginType; -import net.runelite.client.ui.overlay.infobox.InfoBoxManager; -import net.runelite.client.eventbus.EventBus; - -import javax.inject.Inject; import java.time.Duration; import java.time.Instant; import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; - +import javax.inject.Inject; +import lombok.Getter; +import net.runelite.api.ChatMessageType; +import net.runelite.api.Client; import static net.runelite.api.ItemID.FIRE_CAPE; import static net.runelite.api.ItemID.INFERNAL_CAPE; +import net.runelite.api.events.ChatMessage; +import net.runelite.api.events.GameStateChanged; +import net.runelite.api.util.Text; +import net.runelite.client.config.ConfigManager; +import net.runelite.client.eventbus.EventBus; +import net.runelite.client.game.ItemManager; +import net.runelite.client.plugins.Plugin; +import net.runelite.client.plugins.PluginDescriptor; +import net.runelite.client.plugins.PluginType; +import net.runelite.client.ui.overlay.infobox.InfoBoxManager; @PluginDescriptor( name = "Boss Time Tracker", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java index d6a5c16483..b7f42d4cca 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java @@ -28,7 +28,6 @@ package net.runelite.client.plugins.chatnotifications; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Strings; import com.google.inject.Provides; - import java.util.HashSet; import java.util.List; import java.util.Set; @@ -41,17 +40,17 @@ import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.MessageNode; import net.runelite.api.events.ChatMessage; -import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; +import net.runelite.api.util.Text; import net.runelite.client.Notifier; import net.runelite.client.RuneLiteProperties; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Chat Notifications", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounterConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounterConfig.java index 56a212fbab..74966f963b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounterConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounterConfig.java @@ -1,11 +1,10 @@ package net.runelite.client.plugins.combatcounter; +import java.awt.Color; import net.runelite.client.config.Alpha; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; - -import java.awt.*; import net.runelite.client.config.ConfigTitleSection; import net.runelite.client.config.Title; @@ -57,7 +56,7 @@ public interface CombatCounterConfig extends Config { return new Title(); } - + @Alpha @ConfigItem( keyName = "selfColor", @@ -70,7 +69,7 @@ public interface CombatCounterConfig extends Config { return Color.green; } - + @Alpha @ConfigItem( keyName = "totalColor", @@ -83,7 +82,7 @@ public interface CombatCounterConfig extends Config { return Color.RED; } - + @Alpha @ConfigItem( keyName = "otherColor", @@ -96,7 +95,7 @@ public interface CombatCounterConfig extends Config { return Color.white; } - + @Alpha @ConfigItem( keyName = "bgColor", @@ -109,7 +108,7 @@ public interface CombatCounterConfig extends Config { return new Color(70, 61, 50, 156); } - + @Alpha @ConfigItem( keyName = "titleColor", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java index da5dedc012..888559d75a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/equipmentinspector/EquipmentInspectorPlugin.java @@ -24,7 +24,6 @@ */ package net.runelite.client.plugins.equipmentinspector; - import com.google.inject.Provides; import java.awt.image.BufferedImage; import java.lang.reflect.InvocationTargetException; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPlugin.java index 08b063cef5..c8c8116df9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPlugin.java @@ -24,20 +24,19 @@ */ package net.runelite.client.plugins.grotesqueguardians; +import java.util.ArrayList; +import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Singleton; +import net.runelite.api.Client; +import net.runelite.api.NPC; +import static net.runelite.api.NpcID.DUSK_7888; +import net.runelite.api.events.GameTick; import net.runelite.client.eventbus.EventBus; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; import net.runelite.client.ui.overlay.OverlayManager; -import java.util.ArrayList; -import net.runelite.api.events.GameTick; -import net.runelite.api.NPC; -import javax.annotation.Nullable; -import net.runelite.api.Client; - -import static net.runelite.api.NpcID.DUSK_7888; @PluginDescriptor( diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPrayerOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPrayerOverlay.java index c0acd20c66..93e840a3e6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPrayerOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grotesqueguardians/GrotesqueGuardiansPrayerOverlay.java @@ -28,7 +28,6 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.image.BufferedImage; - import java.util.Objects; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootRecordDateFilter.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootRecordDateFilter.java index f9d5e7a0c0..926b6e8ae2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootRecordDateFilter.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootRecordDateFilter.java @@ -11,7 +11,6 @@ package net.runelite.client.plugins.loottracker; - import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; import java.time.Duration; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java index ba05d529fa..ef427c77ca 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java @@ -25,30 +25,29 @@ package net.runelite.client.plugins.nightmarezone; import com.google.inject.Provides; - import java.awt.Color; +import java.time.Duration; +import java.time.Instant; import java.util.Arrays; import javax.inject.Inject; import javax.inject.Singleton; import lombok.AccessLevel; -import java.time.Duration; -import java.time.Instant; import lombok.Getter; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; -import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; +import net.runelite.api.util.Text; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.ui.overlay.OverlayManager; -import net.runelite.api.util.Text; @PluginDescriptor( name = "Nightmare Zone", @@ -81,7 +80,7 @@ public class NightmareZonePlugin extends Plugin @Getter private int pointsPerHour; - + private Instant nmzSessionStartTime; // This starts as true since you need to get diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/Runes.java b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/Runes.java index 3185ac2741..e51485e208 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/Runes.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/Runes.java @@ -24,34 +24,13 @@ */ package net.runelite.client.plugins.runepouch; - import com.google.common.collect.ImmutableMap; import java.awt.image.BufferedImage; import java.util.Map; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; -import static net.runelite.api.ItemID.AIR_RUNE; -import static net.runelite.api.ItemID.ASTRAL_RUNE; -import static net.runelite.api.ItemID.BLOOD_RUNE; -import static net.runelite.api.ItemID.BODY_RUNE; -import static net.runelite.api.ItemID.CHAOS_RUNE; -import static net.runelite.api.ItemID.COSMIC_RUNE; -import static net.runelite.api.ItemID.DEATH_RUNE; -import static net.runelite.api.ItemID.DUST_RUNE; -import static net.runelite.api.ItemID.EARTH_RUNE; -import static net.runelite.api.ItemID.FIRE_RUNE; -import static net.runelite.api.ItemID.LAVA_RUNE; -import static net.runelite.api.ItemID.LAW_RUNE; -import static net.runelite.api.ItemID.MIND_RUNE; -import static net.runelite.api.ItemID.MIST_RUNE; -import static net.runelite.api.ItemID.MUD_RUNE; -import static net.runelite.api.ItemID.NATURE_RUNE; -import static net.runelite.api.ItemID.SMOKE_RUNE; -import static net.runelite.api.ItemID.SOUL_RUNE; -import static net.runelite.api.ItemID.STEAM_RUNE; -import static net.runelite.api.ItemID.WATER_RUNE; -import static net.runelite.api.ItemID.WRATH_RUNE; +import static net.runelite.api.ItemID.*; public enum Runes { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerPlugin.java index 7cd9e33565..45f6a2d5f8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerPlugin.java @@ -28,7 +28,6 @@ */ package net.runelite.client.plugins.suppliestracker; - import com.google.inject.Provides; import java.awt.image.BufferedImage; import java.util.ArrayDeque; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java index f599a41428..1fd026bf19 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wildernesslocations/WildernessLocationsPlugin.java @@ -9,7 +9,6 @@ package net.runelite.client.plugins.wildernesslocations; - import com.google.inject.Provides; import java.awt.Color; import javax.inject.Inject; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/zalcano/ZalcanoOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/zalcano/ZalcanoOverlay.java index 2bb2c14120..40ea51e461 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/zalcano/ZalcanoOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/zalcano/ZalcanoOverlay.java @@ -32,6 +32,7 @@ import java.awt.Graphics2D; import java.awt.Polygon; import java.awt.Shape; import java.util.List; +import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.AnimationID; import net.runelite.api.Client; @@ -40,8 +41,6 @@ import net.runelite.api.GraphicsObject; import net.runelite.api.Perspective; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; - -import javax.inject.Inject; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayPosition; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/MagicMaxHitConfig.java b/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/MagicMaxHitConfig.java index 6702012544..38dbc28382 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/MagicMaxHitConfig.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/MagicMaxHitConfig.java @@ -32,7 +32,6 @@ import net.runelite.api.ItemID; import net.runelite.api.Skill; import net.runelite.api.Varbits; import net.runelite.client.plugins.maxhit.calculators.MagicMaxHitCalculator; - import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/MeleeMaxHitConfig.java b/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/MeleeMaxHitConfig.java index be9b240de9..2dc09e06bc 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/MeleeMaxHitConfig.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/MeleeMaxHitConfig.java @@ -36,7 +36,6 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.plugins.attackstyles.WeaponType; import net.runelite.client.plugins.maxhit.calculators.MeleeMaxHitCalculator; - import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/RangeMaxHitConfig.java b/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/RangeMaxHitConfig.java index 2fa986c29c..6d975cd7b2 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/RangeMaxHitConfig.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/maxhit/calculators/testconfig/RangeMaxHitConfig.java @@ -36,7 +36,6 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.plugins.maxhit.attackstyle.WeaponType; import net.runelite.client.plugins.maxhit.calculators.RangeMaxHitCalculator; - import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java index e71992c810..22062a9e31 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java @@ -24,18 +24,17 @@ */ package net.runelite.mixins; - +import java.util.regex.Matcher; +import java.util.regex.Pattern; import net.runelite.api.Client; import static net.runelite.api.Opcodes.RUNELITE_EXECUTE; import net.runelite.api.events.ScriptCallbackEvent; -import net.runelite.api.widgets.JavaScriptCallback; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; import net.runelite.api.mixins.Replace; import net.runelite.api.mixins.Shadow; +import net.runelite.api.widgets.JavaScriptCallback; import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSScript; import net.runelite.rs.api.RSScriptEvent; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java index df5e6acd38..de48e43a8a 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java @@ -1,9 +1,8 @@ package net.runelite.mixins; -import net.runelite.api.Sprite; import java.util.HashMap; import java.util.Map; - +import net.runelite.api.Sprite; import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMaxSizeMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMaxSizeMixin.java index b80d7c8b59..7908b5422f 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMaxSizeMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMaxSizeMixin.java @@ -1,6 +1,5 @@ package net.runelite.mixins; - import java.awt.Dimension; import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Mixin; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMixin.java index 99ba3f5260..23c71c2ed6 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMixin.java @@ -1,9 +1,8 @@ package net.runelite.mixins; - -import net.runelite.api.Constants; import java.awt.Container; import java.awt.Dimension; +import net.runelite.api.Constants; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; import net.runelite.rs.api.RSClient; From b7bd7c5a08c63dcfd2010256fc8a6344a90c7dfa Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sat, 16 Nov 2019 04:37:03 +0100 Subject: [PATCH 49/66] {} where allowed --- .../net/runelite/cache/definitions/WorldMapTypeBase.java | 5 +---- .../code/instruction/types/ArrayStoreInstruction.java | 5 +---- .../code/instruction/types/ComparisonInstruction.java | 5 +---- .../code/instruction/types/ConversionInstruction.java | 5 +---- .../code/instruction/types/GetFieldInstruction.java | 4 +--- .../code/instruction/types/ReturnInstruction.java | 5 +---- .../code/instruction/types/SetFieldInstruction.java | 4 +--- .../deob/deobfuscators/unusedclass/EmptyClass.java | 5 +---- .../deob/deobfuscators/unusedclass/EmptyInterface.java | 5 +---- .../src/test/java/net/runelite/osb/HookImporter.java | 4 +--- .../test/java/net/runelite/runesuite/HookImporter.java | 4 +--- .../net/runelite/http/api/animation/AnimationClient.java | 4 +--- .../runelite/http/api/loottracker/LootTrackerClient.java | 4 +--- .../net/runelite/http/api/ws/messages/party/Part.java | 4 +--- .../runelite/http/api/ws/messages/party/UserSync.java | 4 +--- .../main/java/net/runelite/http/api/xtea/XteaClient.java | 4 +--- .../http/service/feed/twitter/TwitterService.java | 4 +--- .../net/runelite/http/service/osbuddy/OsbuddyClient.java | 4 +--- .../http/service/util/exception/NotFoundException.java | 5 +---- .../runelite/protocol/api/handshake/HandshakePacket.java | 5 +---- .../protocol/api/handshake/LoginHandshakePacket.java | 5 +---- .../src/main/java/net/runelite/api/FriendManager.java | 4 +--- .../src/main/java/net/runelite/api/KeyFocusListener.java | 4 +--- .../src/main/java/net/runelite/api/Nameable.java | 4 +--- .../net/runelite/api/annotations/VisibleForDevtools.java | 4 +--- .../src/main/java/net/runelite/api/events/Event.java | 4 +--- .../src/main/java/net/runelite/client/config/Alpha.java | 4 +--- .../src/main/java/net/runelite/client/config/Button.java | 4 +--- .../src/main/java/net/runelite/client/config/Config.java | 4 +--- .../src/main/java/net/runelite/client/config/Title.java | 4 +--- .../java/net/runelite/client/events/SessionClose.java | 5 +---- .../java/net/runelite/client/events/SessionOpen.java | 5 +---- .../main/java/net/runelite/client/input/KeyListener.java | 4 +--- .../client/plugins/achievementdiary/Requirement.java | 4 +--- .../plugins/grandexchange/GrandExchangePlugin.java | 4 +--- .../client/plugins/groundmarkers/GroundMarkerPlugin.java | 4 +--- .../plugins/inventorysetups/InventorySetupPlugin.java | 7 ++----- .../client/plugins/loottracker/LootTrackerPlugin.java | 4 +--- .../loottracker/localstorage/events/LTNameChange.java | 4 +--- .../plugins/menuentryswapper/util/GrimyHerbLookup.java | 4 +--- .../menuentryswapper/util/HerbNotFoundException.java | 4 +--- .../net/runelite/client/plugins/notes/NotesManager.java | 4 +--- .../plugins/objectindicators/ObjectIndicatorsPlugin.java | 4 +--- .../client/plugins/screenmarkers/ScreenMarkerPlugin.java | 4 +--- .../client/plugins/slayer/SlayerXpDropLookup.java | 4 +--- .../client/plugins/spellbook/SpellbookPlugin.java | 4 +--- .../client/plugins/timetracking/clocks/ClockManager.java | 8 ++------ .../client/plugins/wiki/WikiSearchChatboxTextInput.java | 4 +--- .../client/plugins/hiscore/HiscorePanelTest.java | 4 +--- .../src/main/java/net/runelite/api/mixins/Inject.java | 5 +---- .../src/main/java/net/runelite/mapping/Construct.java | 9 +++------ .../src/main/java/net/runelite/rs/api/RSCanvas.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSClanMate.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSDecimator.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSFont.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSFriend.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSFriendsList.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSIgnoreList.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSIgnored.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSKeyHandler.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSLoginType.java | 4 +--- .../main/java/net/runelite/rs/api/RSMouseHandler.java | 4 +--- .../java/net/runelite/rs/api/RSMouseWheelHandler.java | 4 +--- .../main/java/net/runelite/rs/api/RSPacketBuffer.java | 4 +--- .../src/main/java/net/runelite/rs/api/RSPcmStream.java | 4 +--- runescape-client/src/main/java/class161.java | 3 +-- runescape-client/src/main/java/class181.java | 3 +-- .../src/main/java/net/runelite/rs/Opcodes.java | 3 +-- 68 files changed, 72 insertions(+), 222 deletions(-) diff --git a/cache/src/main/java/net/runelite/cache/definitions/WorldMapTypeBase.java b/cache/src/main/java/net/runelite/cache/definitions/WorldMapTypeBase.java index d24d6d63f3..3e5229f8f9 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/WorldMapTypeBase.java +++ b/cache/src/main/java/net/runelite/cache/definitions/WorldMapTypeBase.java @@ -24,7 +24,4 @@ */ package net.runelite.cache.definitions; -public interface WorldMapTypeBase -{ - -} +public interface WorldMapTypeBase {} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ArrayStoreInstruction.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ArrayStoreInstruction.java index de019ce9e0..cf00821d10 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ArrayStoreInstruction.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ArrayStoreInstruction.java @@ -25,7 +25,4 @@ package net.runelite.asm.attributes.code.instruction.types; -public interface ArrayStoreInstruction extends MappableInstruction -{ - -} +public interface ArrayStoreInstruction extends MappableInstruction {} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ComparisonInstruction.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ComparisonInstruction.java index 25e0cdf1da..2076baeadc 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ComparisonInstruction.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ComparisonInstruction.java @@ -25,7 +25,4 @@ package net.runelite.asm.attributes.code.instruction.types; -public interface ComparisonInstruction -{ - -} +public interface ComparisonInstruction {} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ConversionInstruction.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ConversionInstruction.java index 099b281725..22b4977b71 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ConversionInstruction.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ConversionInstruction.java @@ -25,7 +25,4 @@ package net.runelite.asm.attributes.code.instruction.types; -public interface ConversionInstruction -{ - -} +public interface ConversionInstruction {} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/GetFieldInstruction.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/GetFieldInstruction.java index f5a5af480a..a9b7ab3cf3 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/GetFieldInstruction.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/GetFieldInstruction.java @@ -25,6 +25,4 @@ package net.runelite.asm.attributes.code.instruction.types; -public interface GetFieldInstruction extends FieldInstruction -{ -} +public interface GetFieldInstruction extends FieldInstruction {} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ReturnInstruction.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ReturnInstruction.java index c23a0bdfb5..ce9a7e7d37 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ReturnInstruction.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/ReturnInstruction.java @@ -25,7 +25,4 @@ package net.runelite.asm.attributes.code.instruction.types; -public interface ReturnInstruction -{ - -} +public interface ReturnInstruction {} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/SetFieldInstruction.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/SetFieldInstruction.java index 7147d93047..0e645b01ee 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/SetFieldInstruction.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instruction/types/SetFieldInstruction.java @@ -25,6 +25,4 @@ package net.runelite.asm.attributes.code.instruction.types; -public interface SetFieldInstruction extends FieldInstruction, MappableInstruction -{ -} +public interface SetFieldInstruction extends FieldInstruction, MappableInstruction {} diff --git a/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyClass.java b/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyClass.java index 371b55daf9..1d3ba8614b 100644 --- a/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyClass.java +++ b/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyClass.java @@ -24,7 +24,4 @@ */ package net.runelite.deob.deobfuscators.unusedclass; -public class EmptyClass -{ - -} +public class EmptyClass {} diff --git a/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyInterface.java b/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyInterface.java index ffcb0a3188..4f7214f5b0 100644 --- a/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyInterface.java +++ b/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/unusedclass/EmptyInterface.java @@ -24,7 +24,4 @@ */ package net.runelite.deob.deobfuscators.unusedclass; -public interface EmptyInterface -{ - -} +public interface EmptyInterface {} diff --git a/deobfuscator/src/test/java/net/runelite/osb/HookImporter.java b/deobfuscator/src/test/java/net/runelite/osb/HookImporter.java index dbb17bfe55..ac178bfa7b 100644 --- a/deobfuscator/src/test/java/net/runelite/osb/HookImporter.java +++ b/deobfuscator/src/test/java/net/runelite/osb/HookImporter.java @@ -70,9 +70,7 @@ public class HookImporter Assert.assertNotNull(is); Gson gson = new Gson(); - java.lang.reflect.Type type = new TypeToken>() - { - }.getType(); + java.lang.reflect.Type type = new TypeToken>() {}.getType(); hooks = gson.fromJson(new InputStreamReader(is), type); group = JarUtil.loadJar(IN); diff --git a/deobfuscator/src/test/java/net/runelite/runesuite/HookImporter.java b/deobfuscator/src/test/java/net/runelite/runesuite/HookImporter.java index 5c78be64f1..d72e2ea46c 100644 --- a/deobfuscator/src/test/java/net/runelite/runesuite/HookImporter.java +++ b/deobfuscator/src/test/java/net/runelite/runesuite/HookImporter.java @@ -81,9 +81,7 @@ public class HookImporter InputStream is = getClass().getResourceAsStream("hooks.json"); Gson gson = new Gson(); - java.lang.reflect.Type type = new TypeToken>() - { - }.getType(); + java.lang.reflect.Type type = new TypeToken>() {}.getType(); hooks = gson.fromJson(new InputStreamReader(is), type); } diff --git a/http-api/src/main/java/net/runelite/http/api/animation/AnimationClient.java b/http-api/src/main/java/net/runelite/http/api/animation/AnimationClient.java index 3ccea47be1..3dcf87781d 100644 --- a/http-api/src/main/java/net/runelite/http/api/animation/AnimationClient.java +++ b/http-api/src/main/java/net/runelite/http/api/animation/AnimationClient.java @@ -115,9 +115,7 @@ public class AnimationClient { InputStream in = response.body().byteStream(); // CHECKSTYLE:OFF - return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), new TypeToken>() - { - }.getType()); + return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), new TypeToken>() {}.getType()); // CHECKSTYLE:ON } catch (JsonParseException ex) diff --git a/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java b/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java index 51b9329018..716798c3b1 100644 --- a/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java +++ b/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java @@ -102,9 +102,7 @@ public class LootTrackerClient } InputStream in = response.body().byteStream(); - return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), new TypeToken>() - { - }.getType()); + return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), new TypeToken>() {}.getType()); } catch (JsonParseException ex) { diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Part.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Part.java index 0d487a3be6..b03e3dc576 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Part.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/Part.java @@ -27,6 +27,4 @@ package net.runelite.http.api.ws.messages.party; import net.runelite.api.events.Event; import net.runelite.http.api.ws.WebsocketMessage; -public class Part extends WebsocketMessage implements Event -{ -} +public class Part extends WebsocketMessage implements Event {} diff --git a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserSync.java b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserSync.java index bcb6ca0ee7..e4d08d199f 100644 --- a/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserSync.java +++ b/http-api/src/main/java/net/runelite/http/api/ws/messages/party/UserSync.java @@ -30,6 +30,4 @@ import net.runelite.api.events.Event; @Value @EqualsAndHashCode(callSuper = true) -public class UserSync extends PartyMemberMessage implements Event -{ -} +public class UserSync extends PartyMemberMessage implements Event {} diff --git a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java index 5c6789ee4b..a0c38c99b2 100644 --- a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java +++ b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java @@ -101,9 +101,7 @@ public class XteaClient { InputStream in = response.body().byteStream(); // CHECKSTYLE:OFF - return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), new TypeToken>() - { - }.getType()); + return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), new TypeToken>() {}.getType()); // CHECKSTYLE:ON } catch (JsonParseException ex) diff --git a/http-service/src/main/java/net/runelite/http/service/feed/twitter/TwitterService.java b/http-service/src/main/java/net/runelite/http/service/feed/twitter/TwitterService.java index 9bb9dc8595..12b01c127c 100644 --- a/http-service/src/main/java/net/runelite/http/service/feed/twitter/TwitterService.java +++ b/http-service/src/main/java/net/runelite/http/service/feed/twitter/TwitterService.java @@ -110,9 +110,7 @@ public class TwitterService } InputStream in = response.body().byteStream(); - Type listType = new TypeToken>() - { - }.getType(); + Type listType = new TypeToken>() {}.getType(); List statusesResponse = RuneLiteAPI.GSON .fromJson(new InputStreamReader(in), listType); diff --git a/http-service/src/main/java/net/runelite/http/service/osbuddy/OsbuddyClient.java b/http-service/src/main/java/net/runelite/http/service/osbuddy/OsbuddyClient.java index 585577511a..e522301948 100644 --- a/http-service/src/main/java/net/runelite/http/service/osbuddy/OsbuddyClient.java +++ b/http-service/src/main/java/net/runelite/http/service/osbuddy/OsbuddyClient.java @@ -58,9 +58,7 @@ public class OsbuddyClient throw new IOException("Error retrieving summary from OSBuddy: " + responseOk.message()); } - Type type = new TypeToken>() - { - }.getType(); + Type type = new TypeToken>() {}.getType(); return RuneLiteAPI.GSON.fromJson(responseOk.body().string(), type); } diff --git a/http-service/src/main/java/net/runelite/http/service/util/exception/NotFoundException.java b/http-service/src/main/java/net/runelite/http/service/util/exception/NotFoundException.java index 83e04ceca6..c7d01175ef 100644 --- a/http-service/src/main/java/net/runelite/http/service/util/exception/NotFoundException.java +++ b/http-service/src/main/java/net/runelite/http/service/util/exception/NotFoundException.java @@ -29,7 +29,4 @@ import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; @ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "Not found") -public class NotFoundException extends RuntimeException -{ - -} +public class NotFoundException extends RuntimeException {} diff --git a/protocol-api/src/main/java/net/runelite/protocol/api/handshake/HandshakePacket.java b/protocol-api/src/main/java/net/runelite/protocol/api/handshake/HandshakePacket.java index a81812813b..16794ac5e9 100644 --- a/protocol-api/src/main/java/net/runelite/protocol/api/handshake/HandshakePacket.java +++ b/protocol-api/src/main/java/net/runelite/protocol/api/handshake/HandshakePacket.java @@ -24,7 +24,4 @@ */ package net.runelite.protocol.api.handshake; -public abstract class HandshakePacket -{ - -} +public abstract class HandshakePacket {} diff --git a/protocol-api/src/main/java/net/runelite/protocol/api/handshake/LoginHandshakePacket.java b/protocol-api/src/main/java/net/runelite/protocol/api/handshake/LoginHandshakePacket.java index 16ccb85694..e19f72d725 100644 --- a/protocol-api/src/main/java/net/runelite/protocol/api/handshake/LoginHandshakePacket.java +++ b/protocol-api/src/main/java/net/runelite/protocol/api/handshake/LoginHandshakePacket.java @@ -29,7 +29,4 @@ import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = true) -public class LoginHandshakePacket extends HandshakePacket -{ - -} +public class LoginHandshakePacket extends HandshakePacket {} diff --git a/runelite-api/src/main/java/net/runelite/api/FriendManager.java b/runelite-api/src/main/java/net/runelite/api/FriendManager.java index 4bdd5a496f..2047959f2c 100644 --- a/runelite-api/src/main/java/net/runelite/api/FriendManager.java +++ b/runelite-api/src/main/java/net/runelite/api/FriendManager.java @@ -27,6 +27,4 @@ package net.runelite.api; /** * Represents the friend and ignore list manager. */ -public interface FriendManager -{ -} +public interface FriendManager {} diff --git a/runelite-api/src/main/java/net/runelite/api/KeyFocusListener.java b/runelite-api/src/main/java/net/runelite/api/KeyFocusListener.java index 990c200086..04a12649e2 100644 --- a/runelite-api/src/main/java/net/runelite/api/KeyFocusListener.java +++ b/runelite-api/src/main/java/net/runelite/api/KeyFocusListener.java @@ -27,6 +27,4 @@ package net.runelite.api; /** * Detects when the window is focused or unfocused. */ -public interface KeyFocusListener -{ -} +public interface KeyFocusListener {} diff --git a/runelite-api/src/main/java/net/runelite/api/Nameable.java b/runelite-api/src/main/java/net/runelite/api/Nameable.java index 081074594e..419f5206ed 100644 --- a/runelite-api/src/main/java/net/runelite/api/Nameable.java +++ b/runelite-api/src/main/java/net/runelite/api/Nameable.java @@ -27,6 +27,4 @@ package net.runelite.api; /** * Represents a chat entity that has a name. */ -public interface Nameable extends Comparable -{ -} +public interface Nameable extends Comparable {} diff --git a/runelite-api/src/main/java/net/runelite/api/annotations/VisibleForDevtools.java b/runelite-api/src/main/java/net/runelite/api/annotations/VisibleForDevtools.java index 9357969d16..a9db920cf8 100644 --- a/runelite-api/src/main/java/net/runelite/api/annotations/VisibleForDevtools.java +++ b/runelite-api/src/main/java/net/runelite/api/annotations/VisibleForDevtools.java @@ -33,6 +33,4 @@ import java.lang.annotation.RetentionPolicy; */ @Documented @Retention(RetentionPolicy.SOURCE) -public @interface VisibleForDevtools -{ -} +public @interface VisibleForDevtools {} diff --git a/runelite-api/src/main/java/net/runelite/api/events/Event.java b/runelite-api/src/main/java/net/runelite/api/events/Event.java index 33ea361467..b031dce09e 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/Event.java +++ b/runelite-api/src/main/java/net/runelite/api/events/Event.java @@ -1,5 +1,3 @@ package net.runelite.api.events; -public interface Event -{ -} +public interface Event {} diff --git a/runelite-client/src/main/java/net/runelite/client/config/Alpha.java b/runelite-client/src/main/java/net/runelite/client/config/Alpha.java index 79815f5ca2..51a0f4d50a 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/Alpha.java +++ b/runelite-client/src/main/java/net/runelite/client/config/Alpha.java @@ -37,6 +37,4 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @Documented -public @interface Alpha -{ -} +public @interface Alpha {} diff --git a/runelite-client/src/main/java/net/runelite/client/config/Button.java b/runelite-client/src/main/java/net/runelite/client/config/Button.java index 591332ce05..c6cc8d67ee 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/Button.java +++ b/runelite-client/src/main/java/net/runelite/client/config/Button.java @@ -1,5 +1,3 @@ package net.runelite.client.config; -public class Button -{ -} +public class Button {} diff --git a/runelite-client/src/main/java/net/runelite/client/config/Config.java b/runelite-client/src/main/java/net/runelite/client/config/Config.java index 6c95e9941a..b8d7f71701 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/Config.java +++ b/runelite-client/src/main/java/net/runelite/client/config/Config.java @@ -24,6 +24,4 @@ */ package net.runelite.client.config; -public interface Config -{ -} +public interface Config {} diff --git a/runelite-client/src/main/java/net/runelite/client/config/Title.java b/runelite-client/src/main/java/net/runelite/client/config/Title.java index e4474544a0..4605a9965c 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/Title.java +++ b/runelite-client/src/main/java/net/runelite/client/config/Title.java @@ -1,5 +1,3 @@ package net.runelite.client.config; -public class Title -{ -} +public class Title {} diff --git a/runelite-client/src/main/java/net/runelite/client/events/SessionClose.java b/runelite-client/src/main/java/net/runelite/client/events/SessionClose.java index f73d3a31b5..150b66f412 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/SessionClose.java +++ b/runelite-client/src/main/java/net/runelite/client/events/SessionClose.java @@ -35,7 +35,4 @@ import net.runelite.api.events.Event; * it has nothing to do with whether an account is being logged out. */ @Data -public class SessionClose implements Event -{ - -} +public class SessionClose implements Event {} diff --git a/runelite-client/src/main/java/net/runelite/client/events/SessionOpen.java b/runelite-client/src/main/java/net/runelite/client/events/SessionOpen.java index b1d042af2b..130305798e 100644 --- a/runelite-client/src/main/java/net/runelite/client/events/SessionOpen.java +++ b/runelite-client/src/main/java/net/runelite/client/events/SessionOpen.java @@ -35,7 +35,4 @@ import net.runelite.api.events.Event; * it has nothing to do with whether an account is being logged in. */ @Data -public class SessionOpen implements Event -{ - -} +public class SessionOpen implements Event {} diff --git a/runelite-client/src/main/java/net/runelite/client/input/KeyListener.java b/runelite-client/src/main/java/net/runelite/client/input/KeyListener.java index d8b72f4a04..b86d317c71 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/KeyListener.java +++ b/runelite-client/src/main/java/net/runelite/client/input/KeyListener.java @@ -24,6 +24,4 @@ */ package net.runelite.client.input; -public interface KeyListener extends java.awt.event.KeyListener -{ -} +public interface KeyListener extends java.awt.event.KeyListener {} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/Requirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/Requirement.java index a507cb4538..cddf78e866 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/Requirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/Requirement.java @@ -24,6 +24,4 @@ */ package net.runelite.client.plugins.achievementdiary; -public interface Requirement -{ -} +public interface Requirement {} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index 81f2fe06e6..08d685260f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -108,9 +108,7 @@ public class GrandExchangePlugin extends Plugin private static final OSBGrandExchangeClient CLIENT = new OSBGrandExchangeClient(); private static final String OSB_GE_TEXT = "
OSBuddy Actively traded price: "; private static final String BUY_LIMIT_GE_TEXT = "
Buy limit: "; - private static final TypeToken> BUY_LIMIT_TOKEN = new TypeToken>() - { - }; + private static final TypeToken> BUY_LIMIT_TOKEN = new TypeToken>() {}; @Getter(AccessLevel.PACKAGE) private NavigationButton button; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java index 711c9046a0..7d1621e535 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java @@ -140,9 +140,7 @@ public class GroundMarkerPlugin extends Plugin return GSON.fromJson(json, new GroundMarkerListTypeToken().getType()); } - private static class GroundMarkerListTypeToken extends TypeToken> - { - } + private static class GroundMarkerListTypeToken extends TypeToken> {} private GroundMarkerConfig.amount amount; @Getter(AccessLevel.PACKAGE) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java index e9bd791ff0..15ca061026 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java @@ -301,10 +301,7 @@ public class InventorySetupPlugin extends Plugin { // TODO add last resort?, serialize exception just make empty map final Gson gson = new Gson(); - Type type = new TypeToken>() - { - - }.getType(); + Type type = new TypeToken>() {}.getType(); inventorySetups.clear(); inventorySetups.putAll(gson.fromJson(json, type)); } @@ -371,7 +368,7 @@ public class InventorySetupPlugin extends Plugin { return; } - + final String setupName = panel.getSelectedInventorySetup(); if (!setupName.isEmpty()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index 5cb013712f..b4e3d9795c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -1451,9 +1451,7 @@ public class LootTrackerPlugin extends Plugin try { Collection lootRecords = new ArrayList<>(RuneLiteAPI.GSON.fromJson(new FileReader(LOOT_RECORDS_FILE), - new TypeToken>() - { - }.getType())); + new TypeToken>() {}.getType())); DSLContext dslContext = databaseManager.getDsl(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTNameChange.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTNameChange.java index 130c3ef440..04a7f348da 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTNameChange.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/localstorage/events/LTNameChange.java @@ -26,6 +26,4 @@ package net.runelite.client.plugins.loottracker.localstorage.events; import net.runelite.api.events.Event; -public class LTNameChange implements Event -{ -} \ No newline at end of file +public class LTNameChange implements Event {} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GrimyHerbLookup.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GrimyHerbLookup.java index 97236ddc37..3a0a88b953 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GrimyHerbLookup.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/GrimyHerbLookup.java @@ -17,9 +17,7 @@ public class GrimyHerbLookup { final InputStream herbFile = GrimyHerbLookup.class.getResourceAsStream("/herbs.json"); Gson gson = new Gson(); - mapping = gson.fromJson(new InputStreamReader(herbFile), new TypeToken>() - { - }.getType()); + mapping = gson.fromJson(new InputStreamReader(herbFile), new TypeToken>() {}.getType()); } public int getCleanLevel(int itemId) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/HerbNotFoundException.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/HerbNotFoundException.java index c352d90d47..eb2d0da3a4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/HerbNotFoundException.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/util/HerbNotFoundException.java @@ -1,5 +1,3 @@ package net.runelite.client.plugins.menuentryswapper.util; -public class HerbNotFoundException extends RuntimeException -{ -} +public class HerbNotFoundException extends RuntimeException {} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesManager.java index bb77880b71..933f007030 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/notes/NotesManager.java @@ -62,9 +62,7 @@ public class NotesManager if (!Strings.isNullOrEmpty(configJson)) { final Gson gson = new Gson(); - notes = gson.fromJson(configJson, new TypeToken>() - { - }.getType()); + notes = gson.fromJson(configJson, new TypeToken>() {}.getType()); } if (notes == null) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java index c7690a5369..0d961f53eb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java @@ -503,9 +503,7 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener return null; } - Set points = GSON.fromJson(json, new TypeToken>() - { - }.getType()); + Set points = GSON.fromJson(json, new TypeToken>() {}.getType()); // Prior to multiloc support the plugin would mark objects named "null", which breaks // in most cases due to the specific object being identified being ambiguous, so remove // them diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java index a12f659ede..8dd065337d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenmarkers/ScreenMarkerPlugin.java @@ -258,9 +258,7 @@ public class ScreenMarkerPlugin extends Plugin } final Gson gson = new Gson(); - final List screenMarkerData = gson.fromJson(json, new TypeToken>() - { - }.getType()); + final List screenMarkerData = gson.fromJson(json, new TypeToken>() {}.getType()); return screenMarkerData.stream().map(ScreenMarkerOverlay::new); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerXpDropLookup.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerXpDropLookup.java index 25dfef058c..612bce5a88 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerXpDropLookup.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerXpDropLookup.java @@ -44,9 +44,7 @@ class SlayerXpDropLookup try (final InputStream xpFile = getClass().getResourceAsStream("/slayer_xp.json")) { Gson gson = new Gson(); - xpMap = gson.fromJson(new InputStreamReader(xpFile), new TypeToken>>() - { - }.getType()); + xpMap = gson.fromJson(new InputStreamReader(xpFile), new TypeToken>>() {}.getType()); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java index 96b4bec1aa..a0573e14dc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/spellbook/SpellbookPlugin.java @@ -486,9 +486,7 @@ public class SpellbookPlugin extends Plugin } // CHECKSTYLE:OFF - final Collection gson = GSON.fromJson(cfg, new TypeToken>() - { - } + final Collection gson = GSON.fromJson(cfg, new TypeToken>() {} .getType()); // CHECKSTYLE:ON diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/clocks/ClockManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/clocks/ClockManager.java index 3be9dc053b..f5a48ce87e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/clocks/ClockManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/clocks/ClockManager.java @@ -153,9 +153,7 @@ public class ClockManager if (!Strings.isNullOrEmpty(timersJson)) { final Gson gson = new Gson(); - final List timers = gson.fromJson(timersJson, new TypeToken>() - { - }.getType()); + final List timers = gson.fromJson(timersJson, new TypeToken>() {}.getType()); this.timers.clear(); this.timers.addAll(timers); @@ -170,9 +168,7 @@ public class ClockManager if (!Strings.isNullOrEmpty(stopwatchesJson)) { final Gson gson = new Gson(); - final List stopwatches = gson.fromJson(stopwatchesJson, new TypeToken>() - { - }.getType()); + final List stopwatches = gson.fromJson(stopwatchesJson, new TypeToken>() {}.getType()); this.stopwatches.clear(); this.stopwatches.addAll(stopwatches); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java index 9ca40b627b..78dea24b8e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java @@ -136,9 +136,7 @@ public class WikiSearchChatboxTextInput extends ChatboxTextInput try { JsonArray jar = new JsonParser().parse(body).getAsJsonArray(); - List apredictions = gson.fromJson(jar.get(1), new TypeToken>() - { - }.getType()); + List apredictions = gson.fromJson(jar.get(1), new TypeToken>() {}.getType()); if (apredictions.size() > MAX_NUM_PREDICTIONS) { diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java index e496268ac1..6c954d062b 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java @@ -31,8 +31,6 @@ public class HiscorePanelTest @Test public void testConstructor() { - new HiscorePanel(new HiscorePlugin() - { - }); + new HiscorePanel(new HiscorePlugin() {}); } } diff --git a/runelite-mixins/src/main/java/net/runelite/api/mixins/Inject.java b/runelite-mixins/src/main/java/net/runelite/api/mixins/Inject.java index a0f40f6bb5..311bb9f4c0 100644 --- a/runelite-mixins/src/main/java/net/runelite/api/mixins/Inject.java +++ b/runelite-mixins/src/main/java/net/runelite/api/mixins/Inject.java @@ -31,7 +31,4 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR}) -public @interface Inject -{ - -} +public @interface Inject {} diff --git a/runescape-api/src/main/java/net/runelite/mapping/Construct.java b/runescape-api/src/main/java/net/runelite/mapping/Construct.java index a5b5b2541a..894456dc7c 100644 --- a/runescape-api/src/main/java/net/runelite/mapping/Construct.java +++ b/runescape-api/src/main/java/net/runelite/mapping/Construct.java @@ -34,18 +34,15 @@ import java.lang.annotation.Target; * Inject a method to create and construct an object. * The object type is inferred from the return value * of the method. - * + * * {@code * {@literal @}Construct * RSIndexedImage createIndexedImage(); * } - * + * * @author Adam */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @Documented -public @interface Construct -{ - -} +public @interface Construct {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSCanvas.java b/runescape-api/src/main/java/net/runelite/rs/api/RSCanvas.java index f0295a0770..05d6b5bc5e 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSCanvas.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSCanvas.java @@ -1,5 +1,3 @@ package net.runelite.rs.api; -public interface RSCanvas -{ -} +public interface RSCanvas {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClanMate.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClanMate.java index 1bcfb5b6df..aaa5291c8d 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClanMate.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClanMate.java @@ -2,6 +2,4 @@ package net.runelite.rs.api; import net.runelite.api.ClanMember; -public interface RSClanMate extends RSBuddy, ClanMember -{ -} +public interface RSClanMate extends RSBuddy, ClanMember {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSDecimator.java b/runescape-api/src/main/java/net/runelite/rs/api/RSDecimator.java index 401b20c13f..1a27187b57 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSDecimator.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSDecimator.java @@ -24,6 +24,4 @@ */ package net.runelite.rs.api; -public interface RSDecimator -{ -} +public interface RSDecimator {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSFont.java b/runescape-api/src/main/java/net/runelite/rs/api/RSFont.java index b12c97d946..ec246abb22 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSFont.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSFont.java @@ -1,5 +1,3 @@ package net.runelite.rs.api; -public interface RSFont extends RSAbstractFont -{ -} +public interface RSFont extends RSAbstractFont {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSFriend.java b/runescape-api/src/main/java/net/runelite/rs/api/RSFriend.java index 3b4e047066..880ae16d81 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSFriend.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSFriend.java @@ -2,6 +2,4 @@ package net.runelite.rs.api; import net.runelite.api.Friend; -public interface RSFriend extends Friend, RSBuddy -{ -} +public interface RSFriend extends Friend, RSBuddy {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSFriendsList.java b/runescape-api/src/main/java/net/runelite/rs/api/RSFriendsList.java index 5617d00bc0..5dfc75efcb 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSFriendsList.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSFriendsList.java @@ -1,5 +1,3 @@ package net.runelite.rs.api; -public interface RSFriendsList extends RSUserList -{ -} +public interface RSFriendsList extends RSUserList {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSIgnoreList.java b/runescape-api/src/main/java/net/runelite/rs/api/RSIgnoreList.java index 802fe122a0..4bf6ffc33b 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSIgnoreList.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSIgnoreList.java @@ -1,5 +1,3 @@ package net.runelite.rs.api; -public interface RSIgnoreList extends RSUserList -{ -} +public interface RSIgnoreList extends RSUserList {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSIgnored.java b/runescape-api/src/main/java/net/runelite/rs/api/RSIgnored.java index 5fcca27e00..f52ca9a620 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSIgnored.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSIgnored.java @@ -2,6 +2,4 @@ package net.runelite.rs.api; import net.runelite.api.Ignore; -public interface RSIgnored extends Ignore, RSUser -{ -} +public interface RSIgnored extends Ignore, RSUser {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSKeyHandler.java b/runescape-api/src/main/java/net/runelite/rs/api/RSKeyHandler.java index c683aa129a..2344684c6b 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSKeyHandler.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSKeyHandler.java @@ -4,6 +4,4 @@ import net.runelite.api.KeyFocusListener; import java.awt.event.FocusListener; import java.awt.event.KeyListener; -public interface RSKeyHandler extends KeyListener, FocusListener, KeyFocusListener -{ -} +public interface RSKeyHandler extends KeyListener, FocusListener, KeyFocusListener {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSLoginType.java b/runescape-api/src/main/java/net/runelite/rs/api/RSLoginType.java index ecbde757f7..41644178b3 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSLoginType.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSLoginType.java @@ -1,5 +1,3 @@ package net.runelite.rs.api; -public interface RSLoginType -{ -} +public interface RSLoginType {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSMouseHandler.java b/runescape-api/src/main/java/net/runelite/rs/api/RSMouseHandler.java index b89b833c85..7048a39b27 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSMouseHandler.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSMouseHandler.java @@ -4,6 +4,4 @@ import java.awt.event.FocusListener; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; -public interface RSMouseHandler extends MouseListener, MouseMotionListener, FocusListener -{ -} +public interface RSMouseHandler extends MouseListener, MouseMotionListener, FocusListener {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSMouseWheelHandler.java b/runescape-api/src/main/java/net/runelite/rs/api/RSMouseWheelHandler.java index 2add3af142..e749630541 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSMouseWheelHandler.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSMouseWheelHandler.java @@ -2,6 +2,4 @@ package net.runelite.rs.api; import java.awt.event.MouseWheelListener; -public interface RSMouseWheelHandler extends MouseWheelListener -{ -} +public interface RSMouseWheelHandler extends MouseWheelListener {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSPacketBuffer.java b/runescape-api/src/main/java/net/runelite/rs/api/RSPacketBuffer.java index 602a497d4a..08619c28a7 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSPacketBuffer.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSPacketBuffer.java @@ -1,5 +1,3 @@ package net.runelite.rs.api; -public interface RSPacketBuffer -{ -} +public interface RSPacketBuffer {} diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSPcmStream.java b/runescape-api/src/main/java/net/runelite/rs/api/RSPcmStream.java index 0c5e118782..558f26571c 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSPcmStream.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSPcmStream.java @@ -24,6 +24,4 @@ */ package net.runelite.rs.api; -public interface RSPcmStream -{ -} +public interface RSPcmStream {} diff --git a/runescape-client/src/main/java/class161.java b/runescape-client/src/main/java/class161.java index dd8f86fa9c..9c4bd24313 100644 --- a/runescape-client/src/main/java/class161.java +++ b/runescape-client/src/main/java/class161.java @@ -1,5 +1,4 @@ import net.runelite.mapping.ObfuscatedName; @ObfuscatedName("fu") -public interface class161 { -} +public interface class161 {} diff --git a/runescape-client/src/main/java/class181.java b/runescape-client/src/main/java/class181.java index 2911c6240e..e6c1fbce4b 100644 --- a/runescape-client/src/main/java/class181.java +++ b/runescape-client/src/main/java/class181.java @@ -1,5 +1,4 @@ import net.runelite.mapping.ObfuscatedName; @ObfuscatedName("fo") -public interface class181 { -} +public interface class181 {} diff --git a/runescape-client/src/main/java/net/runelite/rs/Opcodes.java b/runescape-client/src/main/java/net/runelite/rs/Opcodes.java index 317b2a8c42..c7364a3db6 100644 --- a/runescape-client/src/main/java/net/runelite/rs/Opcodes.java +++ b/runescape-client/src/main/java/net/runelite/rs/Opcodes.java @@ -1,4 +1,3 @@ package net.runelite.rs; -public class Opcodes { -} +public class Opcodes {} From 7052977448db092646a73e6e8f004534f29937fc Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 Nov 2019 12:46:42 -0500 Subject: [PATCH 50/66] rotation solver: fix to use modulus instead of remainder operator --- .../net/runelite/client/plugins/raids/RotationSolver.java | 5 +++-- .../runelite/client/plugins/raids/RotationSolverTest.java | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RotationSolver.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RotationSolver.java index b9179cea1b..5bbc354785 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RotationSolver.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RotationSolver.java @@ -24,6 +24,7 @@ */ package net.runelite.client.plugins.raids; +import static java.lang.Math.floorMod; import java.util.Arrays; import java.util.List; import static net.runelite.client.plugins.raids.RaidRoom.GUARDIANS; @@ -97,7 +98,7 @@ class RotationSolver continue; } - if (rooms[j] != rotation.get((i + j - start) % rotation.size())) + if (rooms[j] != rotation.get(floorMod(i + j - start, rotation.size()))) { break COMPARE; } @@ -128,7 +129,7 @@ class RotationSolver if (rooms[i].getType() != RoomType.COMBAT || rooms[i] == UNKNOWN_COMBAT) { - rooms[i] = match.get((index + i) % match.size()); + rooms[i] = match.get(floorMod(index + i, match.size())); } } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java index 38039ca832..7bacba91ce 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RotationSolverTest.java @@ -77,4 +77,12 @@ public class RotationSolverTest RotationSolver.solve(rooms); assertArrayEquals(new RaidRoom[]{GUARDIANS, VESPULA, SHAMANS, VASA}, rooms); } + + @Test + public void testSolve6() + { + RaidRoom[] rooms = new RaidRoom[]{UNKNOWN_COMBAT, UNKNOWN_COMBAT, TEKTON, MUTTADILES}; + RotationSolver.solve(rooms); + assertArrayEquals(new RaidRoom[]{VANGUARDS, MYSTICS, TEKTON, MUTTADILES}, rooms); + } } \ No newline at end of file From 1fd7ea1f9294dba45f960ce0399853bc5c1731f3 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 Nov 2019 14:56:49 -0500 Subject: [PATCH 51/66] clue plugin: add support for league hotcold clues --- .../cluescrolls/clues/HotColdClue.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/HotColdClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/HotColdClue.java index 2499379be4..94d07a4983 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/HotColdClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/HotColdClue.java @@ -68,6 +68,10 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat "Jorral", "Speak to Jorral to receive a strange device.", new WorldPoint(2436, 3347, 0)); + private static final HotColdClue MASTER_CLUE_LEAGUE = new HotColdClue("Buried beneath the ground, who knows where it's found. Lucky for you, A man called Watson may have a clue.", + "Watson", + "Speak to Watson to receive a strange device.", + new WorldPoint(1645, 3572, 0)); private final String text; private final String npc; @@ -89,6 +93,11 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat MASTER_CLUE.reset(); return MASTER_CLUE; } + else if (MASTER_CLUE_LEAGUE.text.equalsIgnoreCase(text)) + { + MASTER_CLUE_LEAGUE.reset(); + return MASTER_CLUE_LEAGUE; + } return null; } @@ -272,11 +281,11 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat final Set temperatureSet; - if (this.equals(BEGINNER_CLUE)) + if (this == BEGINNER_CLUE) { temperatureSet = HotColdTemperature.BEGINNER_HOT_COLD_TEMPERATURES; } - else if (this.equals(MASTER_CLUE)) + else if (this == MASTER_CLUE || this == MASTER_CLUE_LEAGUE) { temperatureSet = HotColdTemperature.MASTER_HOT_COLD_TEMPERATURES; } @@ -300,8 +309,9 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat return false; } - if ((this.equals(BEGINNER_CLUE) && temperature == HotColdTemperature.BEGINNER_VISIBLY_SHAKING) - || (this.equals(MASTER_CLUE) && temperature == HotColdTemperature.MASTER_VISIBLY_SHAKING)) + boolean master = this == MASTER_CLUE || this == MASTER_CLUE_LEAGUE; + if ((this == BEGINNER_CLUE && temperature == HotColdTemperature.BEGINNER_VISIBLY_SHAKING) + || (master && temperature == HotColdTemperature.MASTER_VISIBLY_SHAKING)) { markFinalSpot(localWorld); } @@ -327,11 +337,11 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat { final boolean isBeginner; - if (this.equals(BEGINNER_CLUE)) + if (this == BEGINNER_CLUE) { isBeginner = true; } - else if (this.equals(MASTER_CLUE)) + else if (this == MASTER_CLUE || this == MASTER_CLUE_LEAGUE) { isBeginner = false; } From a71b7284555d9e82f18f85b2385572135ece764c Mon Sep 17 00:00:00 2001 From: Seth Date: Sat, 16 Nov 2019 19:18:41 -0600 Subject: [PATCH 52/66] death indicator: add Kourend respawn region --- .../client/plugins/deathindicator/DeathIndicatorPlugin.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java index 3667439385..4a425a1334 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java @@ -60,6 +60,7 @@ import net.runelite.client.util.ImageUtil; public class DeathIndicatorPlugin extends Plugin { private static final Set RESPAWN_REGIONS = ImmutableSet.of( + 6457, // Kourend 12850, // Lumbridge 11828, // Falador 12342, // Edgeville From a8bebe907cd5af407876d5f522679a0840d40295 Mon Sep 17 00:00:00 2001 From: Seth Date: Sat, 16 Nov 2019 19:39:25 -0600 Subject: [PATCH 53/66] regen meter: add support for endless endurance relic Fixes #10267 --- .../src/main/java/net/runelite/api/Varbits.java | 11 ++++++++++- .../client/plugins/regenmeter/RegenMeterPlugin.java | 8 ++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index f156a4a80e..a7687b9af3 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -507,7 +507,16 @@ public enum Varbits EXPLORER_RING_ALCHS(4554), EXPLORER_RING_RUNENERGY(4553), - WINTERTODT_TIMER(7980); + WINTERTODT_TIMER(7980), + + /** + * Twisted league + */ + TWISTED_LEAGUE_RELIC_1(10049), + TWISTED_LEAGUE_RELIC_2(10050), + TWISTED_LEAGUE_RELIC_3(10051), + TWISTED_LEAGUE_RELIC_4(10052), + TWISTED_LEAGUE_RELIC_5(10053); /** * The raw varbit ID. diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/regenmeter/RegenMeterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/regenmeter/RegenMeterPlugin.java index 004441b6e3..0eb6e9b231 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/regenmeter/RegenMeterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/regenmeter/RegenMeterPlugin.java @@ -36,6 +36,7 @@ import net.runelite.api.GameState; import net.runelite.api.Prayer; import net.runelite.api.Skill; import net.runelite.api.VarPlayer; +import net.runelite.api.Varbits; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.VarbitChanged; @@ -56,6 +57,8 @@ public class RegenMeterPlugin extends Plugin private static final int SPEC_REGEN_TICKS = 50; private static final int NORMAL_HP_REGEN_TICKS = 100; + private static final int TWISTED_LEAGUE_ENDLESS_ENDURANCE_RELIC = 2; + @Inject private Client client; @@ -141,6 +144,11 @@ public class RegenMeterPlugin extends Plugin ticksPerHPRegen /= 2; } + if (client.getVar(Varbits.TWISTED_LEAGUE_RELIC_1) == TWISTED_LEAGUE_ENDLESS_ENDURANCE_RELIC) + { + ticksPerHPRegen /= 4; + } + ticksSinceHPRegen = (ticksSinceHPRegen + 1) % ticksPerHPRegen; hitpointsPercentage = ticksSinceHPRegen / (double) ticksPerHPRegen; From bfe5873b39a0f37c9d2fac2623e96366d37b868a Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Sun, 17 Nov 2019 02:09:08 +0000 Subject: [PATCH 54/66] Release 1.5.41 --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- protocol-api/pom.xml | 2 +- protocol/pom.xml | 2 +- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 14b78dedc0..e2b7a819da 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index 8b1cfbfbce..b478fade95 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index 2d6b2902ba..149a8473e3 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 cache diff --git a/http-api/pom.xml b/http-api/pom.xml index d6f31c6e57..acfa3838ab 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 6a1acf76f9..3d3eef78b3 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 Web Service diff --git a/pom.xml b/pom.xml index 40db9c24b6..9a1962e6e0 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 pom RuneLite @@ -59,7 +59,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - HEAD + runelite-parent-1.5.41 diff --git a/protocol-api/pom.xml b/protocol-api/pom.xml index 18a385b30b..78349f72cf 100644 --- a/protocol-api/pom.xml +++ b/protocol-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 protocol-api diff --git a/protocol/pom.xml b/protocol/pom.xml index 1de9223e25..4d01255026 100644 --- a/protocol/pom.xml +++ b/protocol/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 protocol diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index f773eb6747..658a41c29c 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 8858fe86e1..bc8727a1d2 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 632c879b8a..56aa675868 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41-SNAPSHOT + 1.5.41 script-assembler-plugin From 581d27b608e3055af6c66217eaaeb52ee1a69a66 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Sun, 17 Nov 2019 02:09:15 +0000 Subject: [PATCH 55/66] Bump for 1.5.42-SNAPSHOT --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- protocol-api/pom.xml | 2 +- protocol/pom.xml | 2 +- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index e2b7a819da..cb5f3a015b 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index b478fade95..d8847b485a 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index 149a8473e3..58c8e79116 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT cache diff --git a/http-api/pom.xml b/http-api/pom.xml index acfa3838ab..b7f4e98234 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 3d3eef78b3..98f258123e 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT Web Service diff --git a/pom.xml b/pom.xml index 9a1962e6e0..3e6a1f9d82 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT pom RuneLite @@ -59,7 +59,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - runelite-parent-1.5.41 + HEAD diff --git a/protocol-api/pom.xml b/protocol-api/pom.xml index 78349f72cf..42c621b83c 100644 --- a/protocol-api/pom.xml +++ b/protocol-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT protocol-api diff --git a/protocol/pom.xml b/protocol/pom.xml index 4d01255026..2491a3c6cc 100644 --- a/protocol/pom.xml +++ b/protocol/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT protocol diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 658a41c29c..6019461c26 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index bc8727a1d2..a07335788e 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 56aa675868..8e2b4fb336 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.5.41 + 1.5.42-SNAPSHOT script-assembler-plugin From f98ce492608aa8d5b4f80d67d5179b8c99beb8fe Mon Sep 17 00:00:00 2001 From: Max Weber Date: Sat, 16 Nov 2019 19:31:54 -0700 Subject: [PATCH 56/66] ClientLoader: Don't force the bootstrap classloader --- .../src/main/java/net/runelite/client/rs/ClientLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java index 6a9015d370..6a5067561c 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java @@ -387,7 +387,7 @@ public class ClientLoader implements Supplier private Applet loadClient(URL url) throws ClassNotFoundException, IllegalAccessException, InstantiationException { - URLClassLoader rsClassLoader = new URLClassLoader(new URL[]{url}); + URLClassLoader rsClassLoader = new URLClassLoader(new URL[]{url}, ClientLoader.class.getClassLoader()); String initialClass = config.getInitialClass(); Class clientClass = rsClassLoader.loadClass(initialClass); From 4d940f8b721216db326618a277972d2202e8bf97 Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Mon, 18 Nov 2019 00:42:43 +0000 Subject: [PATCH 57/66] Client: Update NPC stats --- runelite-client/src/main/resources/npc_stats.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/resources/npc_stats.json b/runelite-client/src/main/resources/npc_stats.json index eb1c5fc3e6..d38c8b21aa 100644 --- a/runelite-client/src/main/resources/npc_stats.json +++ b/runelite-client/src/main/resources/npc_stats.json @@ -1 +1 @@ -{"1":{"name":"Molanisk","hitpoints":52,"combatLevel":51,"slayerLevel":39,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":50,"rangeLevel":1,"stabDef":45,"slashDef":45,"crushDef":35,"rangeDef":55,"magicDef":30},"2":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"3":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"4":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"5":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"6":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"7":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"8":{"name":"Nechryael","hitpoints":105,"combatLevel":115,"slayerLevel":80,"attackSpeed":4,"attackLevel":97,"strengthLevel":97,"defenceLevel":105,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"10":{"name":"Death spawn","hitpoints":60,"combatLevel":46,"attackSpeed":4,"attackLevel":67,"strengthLevel":7,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20},"11":{"name":"Nechryael","hitpoints":105,"combatLevel":115,"slayerLevel":80,"attackSpeed":4,"attackLevel":97,"strengthLevel":97,"defenceLevel":105,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"26":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"27":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"28":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"29":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"30":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"31":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"32":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"33":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"34":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"35":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"36":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"37":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"38":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"39":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"40":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"41":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"42":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"43":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"44":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"45":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"46":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"47":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"48":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"49":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"50":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"51":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"52":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"53":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"54":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"55":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"56":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"57":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"58":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"59":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"60":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"61":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"62":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"63":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"64":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"65":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"66":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"67":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"68":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"69":{"name":"Summoned Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"70":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"71":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"72":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"73":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"74":{"name":"Skeleton","hitpoints":24,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"75":{"name":"Skeleton","hitpoints":24,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"76":{"name":"Skeleton","hitpoints":24,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"77":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"78":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"79":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"80":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"81":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"82":{"name":"Skeleton","hitpoints":59,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":35,"defenceLevel":36,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"83":{"name":"Skeleton","hitpoints":59,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":35,"defenceLevel":36,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"84":{"name":"Skeleton Mage","hitpoints":17,"combatLevel":16,"slayerLevel":1,"attackSpeed":4,"attackLevel":14,"strengthLevel":14,"defenceLevel":14,"rangeLevel":1,"magicLevel":18,"undead":true},"85":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"86":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"87":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"88":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"89":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"90":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"91":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"92":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"93":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"94":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"95":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"96":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"97":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"99":{"name":"Death wing","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1},"100":{"name":"Rock Crab","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"101":{"name":"Rocks","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"102":{"name":"Rock Crab","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"103":{"name":"Rocks","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"104":{"name":"Hellhound","hitpoints":116,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":104,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"105":{"name":"Hellhound","hitpoints":116,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":104,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"106":{"name":"Wolf","hitpoints":69,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":55,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"107":{"name":"White wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"108":{"name":"White wolf","hitpoints":44,"combatLevel":38,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":31,"defenceLevel":32,"rangeLevel":1,"magicLevel":1},"109":{"name":"Big Wolf","hitpoints":74,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":61,"defenceLevel":62,"rangeLevel":1,"magicLevel":1},"110":{"name":"Wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"112":{"name":"Wild dog","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"113":{"name":"Wild dog","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"114":{"name":"Guard dog","hitpoints":49,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":36,"defenceLevel":37,"rangeLevel":1,"magicLevel":1},"115":{"name":"Big Wolf","hitpoints":74,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":61,"defenceLevel":62,"rangeLevel":1,"magicLevel":1},"116":{"name":"Wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"117":{"name":"Wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"130":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1},"131":{"name":"Guard dog","hitpoints":49,"combatLevel":44,"attackSpeed":4,"attackLevel":35,"strengthLevel":36,"defenceLevel":37,"rangeLevel":1,"magicLevel":1},"132":{"name":"Hobgoblin","hitpoints":62,"combatLevel":54,"attackSpeed":6,"attackLevel":45,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"bonusAttack":8,"bonusStrength":10},"133":{"name":"Troll","hitpoints":120,"combatLevel":91,"attackSpeed":4,"attackLevel":50,"strengthLevel":100,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"134":{"name":"Huge spider","hitpoints":90,"combatLevel":81,"attackSpeed":4,"attackLevel":59,"strengthLevel":70,"defenceLevel":69,"rangeLevel":1,"magicLevel":1},"135":{"name":"Hellhound","hitpoints":116,"combatLevel":122,"attackSpeed":4,"attackLevel":105,"strengthLevel":104,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"136":{"name":"Ogre","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":6,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20},"137":{"name":"Baby red dragon","hitpoints":65,"combatLevel":65,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":55,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40},"138":{"name":"Kalphite Soldier","hitpoints":90,"combatLevel":85,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"139":{"name":"Steel dragon","hitpoints":210,"combatLevel":246,"attackSpeed":4,"attackLevel":215,"strengthLevel":215,"defenceLevel":215,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30},"140":{"name":"Dagannoth","hitpoints":142,"combatLevel":135,"attackSpeed":4,"attackLevel":114,"strengthLevel":117,"defenceLevel":98,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":50,"bonusRangeStrength":50},"141":{"name":"Tok-Xil","hitpoints":60,"combatLevel":135,"attackSpeed":4,"attackLevel":120,"strengthLevel":180,"defenceLevel":90,"rangeLevel":180,"magicLevel":90},"142":{"name":"Demon","hitpoints":79,"combatLevel":82,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1},"143":{"name":"Rocnar","hitpoints":100,"combatLevel":97,"attackSpeed":6,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"bonusAttack":22,"bonusStrength":20},"231":{"name":"Wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"232":{"name":"Jungle Wolf","hitpoints":69,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":55,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"239":{"name":"King Black Dragon","hitpoints":240,"combatLevel":276,"slayerLevel":1,"attackSpeed":3,"attackLevel":240,"strengthLevel":240,"defenceLevel":240,"rangeLevel":1,"magicLevel":240,"stabDef":70,"slashDef":90,"crushDef":90,"rangeDef":70,"magicDef":80,"dragon":true},"240":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"241":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"242":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"243":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"244":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"245":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"246":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"247":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"248":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"249":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"250":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"251":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"252":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"253":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"254":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"255":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"256":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"257":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"258":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"259":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"260":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"261":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"262":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"263":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"264":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"265":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"266":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"267":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"268":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"269":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"270":{"name":"Bronze dragon","hitpoints":122,"combatLevel":131,"slayerLevel":1,"attackSpeed":4,"attackLevel":112,"strengthLevel":112,"defenceLevel":112,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"271":{"name":"Bronze dragon","hitpoints":122,"combatLevel":131,"slayerLevel":1,"attackSpeed":4,"attackLevel":112,"strengthLevel":112,"defenceLevel":112,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"272":{"name":"Iron dragon","hitpoints":165,"combatLevel":189,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":165,"defenceLevel":165,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"273":{"name":"Iron dragon","hitpoints":165,"combatLevel":189,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":165,"defenceLevel":165,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"274":{"name":"Steel dragon","hitpoints":210,"combatLevel":246,"slayerLevel":1,"attackSpeed":4,"attackLevel":215,"strengthLevel":215,"defenceLevel":215,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"275":{"name":"Steel dragon","hitpoints":210,"combatLevel":246,"slayerLevel":1,"attackSpeed":4,"attackLevel":215,"strengthLevel":215,"defenceLevel":215,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"289":{"name":"Ghoul","hitpoints":50,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"290":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5,"attackLevel":8,"strengthLevel":8,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stab":5,"magicDef":5,"bonusAttack":5,"bonusStrength":7},"291":{"name":"Chaos dwarf","hitpoints":61,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":38,"strengthLevel":42,"defenceLevel":28,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":34,"crushDef":25,"rangeDef":35,"magicDef":10,"bonusAttack":13,"bonusStrength":9},"292":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"293":{"name":"Adventurer Jon","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"294":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"295":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"296":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5,"attackLevel":8,"strengthLevel":8,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stab":5,"magicDef":5,"bonusAttack":5,"bonusStrength":7},"299":{"name":"Gunthor the brave","hitpoints":35,"combatLevel":29,"attackSpeed":6,"attackLevel":22,"strengthLevel":22,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":10,"rangeDef":11,"bonusAttack":8,"bonusStrength":13},"300":{"name":"Jailer","hitpoints":47,"combatLevel":47,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":79,"slashDef":63,"crushDef":47},"301":{"name":"Black Heather","hitpoints":37,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":26,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9},"302":{"name":"Donny the lad","hitpoints":37,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":26,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9},"303":{"name":"Speedy Keith","hitpoints":37,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":26,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9},"304":{"name":"Salarin the twisted","hitpoints":70,"combatLevel":70,"attackSpeed":4,"attackLevel":58,"strengthLevel":58,"defenceLevel":62,"rangeLevel":1,"magicLevel":1},"319":{"name":"Corporeal Beast","hitpoints":2000,"combatLevel":785,"attackSpeed":4,"attackLevel":320,"strengthLevel":320,"defenceLevel":310,"rangeLevel":150,"magicLevel":350,"stabDef":25,"slashDef":200,"crushDef":100,"rangeDef":230,"magicDef":150,"bonusAttack":50,"poisonImmune":true,"venomImmune":true},"320":{"name":"Dark energy core","hitpoints":25,"combatLevel":75,"attackSpeed":2,"attackLevel":1,"strengthLevel":1,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"397":{"name":"Town Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":15,"strengthLevel":15,"defenceLevel":16,"rangeLevel":26,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"bonusAttack":6,"bonusStrength":10},"398":{"name":"Town Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":15,"strengthLevel":15,"defenceLevel":16,"rangeLevel":26,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"bonusAttack":6,"bonusStrength":10},"399":{"name":"Town Guard","hitpoints":22,"combatLevel":19,"attackSpeed":6,"attackLevel":15,"strengthLevel":15,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"bonusAttack":6,"bonusStrength":10},"400":{"name":"Town Guard","hitpoints":22,"combatLevel":19,"attackSpeed":6,"attackLevel":15,"strengthLevel":15,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"bonusAttack":6,"bonusStrength":10},"406":{"name":"Cave crawler","hitpoints":22,"combatLevel":23,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"407":{"name":"Cave crawler","hitpoints":22,"combatLevel":23,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"408":{"name":"Cave crawler","hitpoints":22,"combatLevel":23,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"409":{"name":"Cave crawler","hitpoints":22,"combatLevel":23,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"410":{"name":"Kurask","hitpoints":97,"combatLevel":106,"slayerLevel":70,"attackSpeed":4,"attackLevel":67,"strengthLevel":105,"defenceLevel":105,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20,"poisonImmune":true,"venomImmune":true},"411":{"name":"Kurask","hitpoints":97,"combatLevel":106,"slayerLevel":70,"attackSpeed":4,"attackLevel":67,"strengthLevel":105,"defenceLevel":105,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20,"poisonImmune":true,"venomImmune":true},"412":{"name":"Gargoyle","hitpoints":105,"combatLevel":111,"slayerLevel":75,"attackSpeed":4,"attackLevel":75,"strengthLevel":105,"defenceLevel":107,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":20,"magicDef":20},"413":{"name":"Gargoyle","hitpoints":105,"combatLevel":111,"slayerLevel":75,"attackSpeed":4,"attackLevel":75,"strengthLevel":105,"defenceLevel":107,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":20,"magicDef":20},"414":{"name":"Banshee","hitpoints":22,"combatLevel":23,"slayerLevel":15,"attackSpeed":4,"attackLevel":22,"strengthLevel":15,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"415":{"name":"Abyssal demon","hitpoints":150,"combatLevel":124,"slayerLevel":85,"attackSpeed":4,"attackLevel":97,"strengthLevel":67,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"416":{"name":"Abyssal demon","hitpoints":150,"combatLevel":124,"slayerLevel":85,"attackSpeed":4,"attackLevel":97,"strengthLevel":67,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"417":{"name":"Basilisk","hitpoints":75,"combatLevel":61,"slayerLevel":40,"attackSpeed":4,"attackLevel":30,"strengthLevel":45,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"magicDef":20},"418":{"name":"Basilisk","hitpoints":75,"combatLevel":61,"slayerLevel":40,"attackSpeed":4,"attackLevel":30,"strengthLevel":45,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"magicDef":20},"419":{"name":"Cockatrice","hitpoints":37,"combatLevel":37,"slayerLevel":25,"attackSpeed":4,"attackLevel":22,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"magicDef":10},"420":{"name":"Cockatrice","hitpoints":37,"combatLevel":37,"slayerLevel":25,"attackSpeed":4,"attackLevel":22,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"magicDef":10},"421":{"name":"Rockslug","hitpoints":27,"combatLevel":29,"slayerLevel":20,"attackSpeed":4,"attackLevel":22,"strengthLevel":27,"defenceLevel":27,"rangeLevel":1,"magicLevel":1},"422":{"name":"Rockslug","hitpoints":27,"combatLevel":29,"slayerLevel":20,"attackSpeed":4,"attackLevel":22,"strengthLevel":27,"defenceLevel":27,"rangeLevel":1,"magicLevel":1},"423":{"name":"Dust devil","hitpoints":105,"combatLevel":93,"slayerLevel":65,"attackSpeed":4,"attackLevel":105,"strengthLevel":70,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"427":{"name":"Turoth","hitpoints":81,"combatLevel":89,"slayerLevel":55,"attackSpeed":4,"attackLevel":58,"strengthLevel":88,"defenceLevel":88,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20},"428":{"name":"Turoth","hitpoints":79,"combatLevel":87,"slayerLevel":55,"attackSpeed":4,"attackLevel":56,"strengthLevel":86,"defenceLevel":86,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20},"429":{"name":"Turoth","hitpoints":77,"combatLevel":85,"slayerLevel":55,"attackSpeed":4,"attackLevel":54,"strengthLevel":84,"defenceLevel":84,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20},"430":{"name":"Turoth","hitpoints":76,"combatLevel":83,"slayerLevel":55,"attackSpeed":4,"attackLevel":53,"strengthLevel":83,"defenceLevel":83,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20},"433":{"name":"Pyrefiend","hitpoints":45,"combatLevel":43,"slayerLevel":30,"attackSpeed":4,"attackLevel":52,"strengthLevel":30,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"434":{"name":"Pyrefiend","hitpoints":45,"combatLevel":43,"slayerLevel":30,"attackSpeed":4,"attackLevel":52,"strengthLevel":30,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"435":{"name":"Pyrefiend","hitpoints":45,"combatLevel":43,"slayerLevel":30,"attackSpeed":4,"attackLevel":52,"strengthLevel":30,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"436":{"name":"Pyrefiend","hitpoints":45,"combatLevel":43,"slayerLevel":30,"attackSpeed":4,"attackLevel":52,"strengthLevel":30,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"437":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"438":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"439":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"440":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"441":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"442":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"443":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"444":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"445":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"446":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"447":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"448":{"name":"Crawling Hand","hitpoints":16,"combatLevel":8,"slayerLevel":5,"attackSpeed":4,"attackLevel":8,"strengthLevel":4,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"undead":true},"453":{"name":"Crawling Hand","hitpoints":19,"combatLevel":12,"slayerLevel":5,"attackSpeed":4,"attackLevel":11,"strengthLevel":7,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"undead":true},"454":{"name":"Crawling Hand","hitpoints":19,"combatLevel":12,"slayerLevel":5,"attackSpeed":4,"attackLevel":11,"strengthLevel":7,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"undead":true},"458":{"name":"Lizard","hitpoints":40,"combatLevel":42,"slayerLevel":22,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"459":{"name":"Desert Lizard","hitpoints":25,"combatLevel":24,"slayerLevel":22,"attackSpeed":4,"attackLevel":20,"strengthLevel":22,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"460":{"name":"Desert Lizard","hitpoints":25,"combatLevel":24,"slayerLevel":22,"attackSpeed":4,"attackLevel":20,"strengthLevel":22,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"461":{"name":"Desert Lizard","hitpoints":25,"combatLevel":24,"slayerLevel":22,"attackSpeed":4,"attackLevel":20,"strengthLevel":22,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"462":{"name":"Small Lizard","hitpoints":15,"combatLevel":12,"slayerLevel":22,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":5,"crushDef":5},"463":{"name":"Small Lizard","hitpoints":15,"combatLevel":12,"slayerLevel":22,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":5,"crushDef":5},"464":{"name":"Harpie Bug Swarm","hitpoints":25,"combatLevel":46,"slayerLevel":33,"attackSpeed":4,"attackLevel":54,"strengthLevel":46,"defenceLevel":32,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":5,"crushDef":10,"rangeDef":10,"magicDef":5},"465":{"name":"Skeletal Wyvern","hitpoints":210,"combatLevel":140,"slayerLevel":72,"attackSpeed":6,"attackLevel":125,"strengthLevel":116,"defenceLevel":120,"rangeLevel":120,"magicLevel":125,"stabDef":140,"slashDef":90,"crushDef":90,"rangeDef":140,"magicDef":80,"dragon":true},"466":{"name":"Skeletal Wyvern","hitpoints":210,"combatLevel":140,"slayerLevel":72,"attackSpeed":6,"attackLevel":125,"strengthLevel":116,"defenceLevel":120,"rangeLevel":120,"magicLevel":125,"stabDef":140,"slashDef":90,"crushDef":90,"rangeDef":140,"magicDef":80,"dragon":true},"467":{"name":"Skeletal Wyvern","hitpoints":210,"combatLevel":140,"slayerLevel":72,"attackSpeed":6,"attackLevel":125,"strengthLevel":116,"defenceLevel":120,"rangeLevel":120,"magicLevel":125,"stabDef":140,"slashDef":90,"crushDef":90,"rangeDef":140,"magicDef":80,"dragon":true},"468":{"name":"Skeletal Wyvern","hitpoints":210,"combatLevel":140,"slayerLevel":72,"attackSpeed":6,"attackLevel":125,"strengthLevel":116,"defenceLevel":120,"rangeLevel":120,"magicLevel":125,"stabDef":140,"slashDef":90,"crushDef":90,"rangeDef":140,"magicDef":80,"dragon":true},"469":{"name":"Killerwatt","hitpoints":51,"combatLevel":55,"slayerLevel":37,"attackSpeed":2,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":67,"magicLevel":67,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"magicDef":20,"bonusAttack":30},"470":{"name":"Killerwatt","hitpoints":51,"combatLevel":55,"slayerLevel":37,"attackSpeed":2,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":67,"magicLevel":67,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"magicDef":20,"bonusAttack":30},"472":{"name":"Dark wizard","hitpoints":24,"combatLevel":20,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"473":{"name":"Invrigar the Necromancer","hitpoints":24,"combatLevel":20,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":14,"rangeLevel":1,"magicLevel":18,"magicDef":3},"474":{"name":"Dark wizard","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"475":{"name":"Hole in the wall","hitpoints":105,"combatLevel":49,"slayerLevel":35,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":16,"rangeLevel":1,"magicLevel":1},"476":{"name":"Wall beast","hitpoints":105,"combatLevel":49,"slayerLevel":35,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":16,"rangeLevel":1,"magicLevel":1},"477":{"name":"Giant frog","hitpoints":100,"combatLevel":99,"attackSpeed":4,"attackLevel":100,"strengthLevel":80,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"478":{"name":"Big frog","hitpoints":25,"combatLevel":24,"attackSpeed":4,"attackLevel":25,"strengthLevel":20,"defenceLevel":15,"rangeLevel":1,"magicLevel":1},"480":{"name":"Cave slime","hitpoints":25,"combatLevel":23,"slayerLevel":17,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":35,"rangeLevel":1,"magicLevel":13},"481":{"name":"Cave bug","hitpoints":5,"combatLevel":6,"slayerLevel":7,"attackSpeed":4,"attackLevel":6,"strengthLevel":5,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"483":{"name":"Cave bug","hitpoints":93,"combatLevel":96,"slayerLevel":7,"attackSpeed":4,"attackLevel":82,"strengthLevel":80,"defenceLevel":84,"rangeLevel":1,"magicLevel":1,"stabDef":72,"slashDef":59,"crushDef":35,"rangeDef":95,"magicDef":25},"484":{"name":"Bloodveld","hitpoints":120,"combatLevel":76,"slayerLevel":50,"attackSpeed":4,"attackLevel":75,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"485":{"name":"Bloodveld","hitpoints":120,"combatLevel":76,"slayerLevel":50,"attackSpeed":4,"attackLevel":75,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"486":{"name":"Bloodveld","hitpoints":120,"combatLevel":76,"slayerLevel":50,"attackSpeed":4,"attackLevel":75,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"487":{"name":"Bloodveld","hitpoints":120,"combatLevel":76,"slayerLevel":50,"attackSpeed":4,"attackLevel":75,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"492":{"name":"Cave kraken","hitpoints":125,"combatLevel":127,"slayerLevel":87,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":150,"rangeLevel":1,"magicLevel":120,"rangeDef":100},"493":{"name":"Whirlpool","combatLevel":127,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"rangeDef":300,"magicDef":130},"494":{"name":"Kraken","hitpoints":255,"combatLevel":291,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"rangeDef":300,"magicDef":130},"496":{"name":"Whirlpool","combatLevel":127,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"rangeDef":300,"magicDef":130},"498":{"name":"Smoke devil","hitpoints":185,"combatLevel":160,"slayerLevel":93,"attackSpeed":4,"attackLevel":140,"strengthLevel":130,"defenceLevel":275,"rangeLevel":195,"magicLevel":1,"rangeDef":44,"magicDef":600,"poisonImmune":true,"venomImmune":true},"499":{"name":"Thermonuclear smoke devil","hitpoints":240,"combatLevel":301,"slayerLevel":93,"attackSpeed":2,"attackLevel":230,"strengthLevel":220,"defenceLevel":360,"rangeLevel":310,"magicLevel":1,"stabDef":11,"slashDef":4,"crushDef":9,"rangeDef":900,"magicDef":800,"poisonImmune":true,"venomImmune":true},"505":{"name":"Mugger","hitpoints":8,"combatLevel":6,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1},"508":{"name":"Black Knight","hitpoints":42,"combatLevel":33,"attackSpeed":5,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":73,"slashDef":76,"crushDef":70,"rangeDef":72,"bonusAttack":18,"bonusStrength":16},"509":{"name":"Black Knight","hitpoints":42,"combatLevel":33,"attackSpeed":5,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":73,"slashDef":76,"crushDef":70,"rangeDef":72,"bonusAttack":18,"bonusStrength":16},"510":{"name":"Highwayman","hitpoints":13,"combatLevel":5,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":6,"bonusStrength":7},"511":{"name":"Highwayman","hitpoints":13,"combatLevel":5,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":6,"bonusStrength":7},"512":{"name":"Chaos druid","hitpoints":20,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":8,"defenceLevel":12,"rangeLevel":1,"magicLevel":10},"513":{"name":"Pirate","hitpoints":20,"combatLevel":23,"attackSpeed":5,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"slashDef":1,"bonusAttack":9,"bonusStrength":10},"514":{"name":"Pirate","hitpoints":20,"combatLevel":23,"attackSpeed":5,"attackLevel":21,"strengthLevel":21,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":2,"bonusAttack":8,"bonusStrength":10},"515":{"name":"Pirate","hitpoints":23,"combatLevel":26,"attackSpeed":5,"attackLevel":23,"strengthLevel":23,"defenceLevel":23,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":2,"bonusAttack":8,"bonusStrength":10},"517":{"name":"Thug","hitpoints":18,"combatLevel":10,"attackSpeed":6,"attackLevel":7,"strengthLevel":5,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":3,"crushDef":3,"bonusAttack":5,"bonusStrength":5},"518":{"name":"Rogue","hitpoints":17,"combatLevel":15,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":6,"slashDef":9,"crushDef":11,"bonusAttack":5,"bonusStrength":5},"522":{"name":"Tribesman","hitpoints":39,"combatLevel":32,"attackSpeed":4,"attackLevel":23,"strengthLevel":27,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":6,"bonusAttack":8,"bonusStrength":5},"523":{"name":"Dark warrior","hitpoints":17,"combatLevel":8,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1,"stabDef":96,"slashDef":79,"crushDef":59,"bonusAttack":20,"bonusStrength":16},"524":{"name":"Chaos druid warrior","hitpoints":40,"combatLevel":37,"attackSpeed":5,"attackLevel":32,"strengthLevel":34,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":13,"slashDef":17,"crushDef":14,"rangeDef":14,"bonusAttack":9,"bonusStrength":5},"525":{"name":"Necromancer","hitpoints":40,"combatLevel":26,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":18},"537":{"name":"Zygomite","hitpoints":65,"combatLevel":74,"slayerLevel":57,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":65,"magicLevel":65,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"magicDef":20,"bonusAttack":30},"561":{"name":"Sorebones","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":4,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"562":{"name":"Sorebones","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":4,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"563":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"564":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"565":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"566":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"567":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"568":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"569":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"570":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"571":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"572":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"573":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"574":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"575":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"576":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"577":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"578":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"579":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"580":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"581":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"582":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"583":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"584":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"585":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"586":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"587":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"588":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"589":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"590":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"591":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"592":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"593":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"594":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"595":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"596":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"597":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"598":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"599":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"600":{"name":"Barrelchest","hitpoints":134,"combatLevel":190,"attackSpeed":5,"attackLevel":170,"strengthLevel":145,"defenceLevel":140,"rangeLevel":1,"magicLevel":90,"bonusAttack":80,"bonusStrength":80},"613":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"614":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"615":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"616":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"617":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"618":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"619":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"620":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"621":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"622":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"623":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"624":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"625":{"name":"Evil spirit","hitpoints":90,"combatLevel":150,"attackSpeed":4,"attackLevel":170,"strengthLevel":146,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"626":{"name":"Fever spider","hitpoints":40,"combatLevel":49,"slayerLevel":42,"attackSpeed":4,"attackLevel":60,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":20,"slashDef":15,"crushDef":10,"rangeDef":15,"magicDef":15},"639":{"name":"Tyras guard","hitpoints":110,"combatLevel":110,"attackSpeed":5,"attackLevel":85,"strengthLevel":95,"defenceLevel":100,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":30},"642":{"name":"Arrg","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"rangeLevel":70,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"643":{"name":"Arrg","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"rangeLevel":70,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"645":{"name":"Ice wolf","hitpoints":70,"combatLevel":96,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":90,"defenceLevel":70,"rangeLevel":1,"magicLevel":1},"646":{"name":"Ice wolf","hitpoints":70,"combatLevel":96,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":90,"defenceLevel":70,"rangeLevel":1,"magicLevel":1},"647":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"648":{"name":"Ice troll","hitpoints":80,"combatLevel":124,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":120,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"649":{"name":"Ice troll","hitpoints":80,"combatLevel":123,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"650":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"651":{"name":"Ice troll","hitpoints":80,"combatLevel":121,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"652":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"653":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"654":{"name":"Ice troll","hitpoints":80,"combatLevel":121,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"655":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"656":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"657":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"658":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"659":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"660":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"661":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"662":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"663":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"664":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"665":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"666":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"667":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"668":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"674":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"677":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"678":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"680":{"name":"Giant skeleton","hitpoints":110,"combatLevel":100,"attackSpeed":6,"attackLevel":84,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":15},"681":{"name":"Giant skeleton","hitpoints":110,"combatLevel":100,"attackSpeed":6,"attackLevel":84,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":15},"682":{"name":"Damis","hitpoints":90,"combatLevel":103,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":80},"683":{"name":"Damis","hitpoints":200,"combatLevel":174,"attackSpeed":4,"attackLevel":160,"strengthLevel":100,"defenceLevel":160,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":120,"magicDef":80,"bonusStrength":100},"685":{"name":"Stranger","hitpoints":80,"combatLevel":95,"attackSpeed":4,"attackLevel":90,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"magic":1,"stabDef":81,"slashDef":93,"crushDef":98,"rangeDef":82,"magicDef":1,"bonusStrength":40},"690":{"name":"Bandit","hitpoints":65,"combatLevel":74,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"695":{"name":"Bandit","hitpoints":50,"combatLevel":57,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"699":{"name":"Ice troll","hitpoints":80,"combatLevel":124,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":120,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"700":{"name":"Ice troll","hitpoints":80,"combatLevel":123,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"701":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"702":{"name":"Ice troll","hitpoints":80,"combatLevel":121,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"703":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"704":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"705":{"name":"Ice troll","hitpoints":80,"combatLevel":121,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"710":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"711":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"712":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"713":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"714":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"715":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"717":{"name":"Mummy","hitpoints":86,"attackSpeed":4,"undead":true},"720":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"721":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"722":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"723":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"724":{"name":"Mummy","hitpoints":86,"attackSpeed":4,"undead":true},"725":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"726":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"727":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"728":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"729":{"name":"Scarabs","hitpoints":25,"combatLevel":92,"attackSpeed":1,"attackLevel":255,"strengthLevel":2,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"magicDef":15},"734":{"name":"Bandit","hitpoints":30,"combatLevel":56,"attackSpeed":4,"attackLevel":59,"strengthLevel":70,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"slashDef":9,"crushDef":8,"magicDef":10,"bonusAttack":9,"bonusStrength":9},"735":{"name":"Bandit","hitpoints":30,"combatLevel":56,"attackSpeed":4,"attackLevel":59,"strengthLevel":70,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"slashDef":9,"crushDef":8,"magicDef":10,"bonusAttack":9,"bonusStrength":9},"736":{"name":"Bandit","hitpoints":30,"combatLevel":41,"attackSpeed":4,"attackLevel":40,"strengthLevel":50,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"slashDef":9,"crushDef":8,"magicDef":10,"bonusAttack":9,"bonusStrength":9},"737":{"name":"Bandit","hitpoints":30,"combatLevel":41,"attackSpeed":4,"attackLevel":40,"strengthLevel":50,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"slashDef":9,"crushDef":8,"magicDef":10,"bonusAttack":9,"bonusStrength":9},"738":{"name":"Bandit champion","hitpoints":50,"combatLevel":70,"attackSpeed":4,"attackLevel":59,"strengthLevel":80,"defenceLevel":50,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9},"762":{"name":"Baby Roc","hitpoints":50,"combatLevel":75,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":150},"763":{"name":"Giant Roc","hitpoints":250,"combatLevel":172,"attackSpeed":6,"attackLevel":130,"strengthLevel":130,"defenceLevel":100,"rangeLevel":130,"magicLevel":1,"magicDef":150},"764":{"name":"Shadow","hitpoints":15,"combatLevel":73,"attackSpeed":4,"attackLevel":90,"strengthLevel":120,"defenceLevel":5,"rangeLevel":1,"magicLevel":90,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":30,"magicDef":30},"773":{"name":"Skraeling","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"774":{"name":"Skraeling","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"785":{"name":"Me","hitpoints":45,"combatLevel":79,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":74,"rangeLevel":1,"magicLevel":1},"786":{"name":"Me","hitpoints":45,"combatLevel":79,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":74,"rangeLevel":1,"magicLevel":1},"787":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"788":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"789":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"790":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"791":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"792":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"793":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"794":{"name":"Scarab mage","hitpoints":50,"combatLevel":93,"slayerLevel":1,"attackSpeed":15,"attackLevel":90,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":70,"magic":70,"stabDef":40,"slashDef":90,"crushDef":90,"magicDef":34},"795":{"name":"Locust rider","hitpoints":90,"combatLevel":106,"slayerLevel":1,"attackSpeed":6,"attackLevel":100,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":90,"slashDef":90,"crushDef":40},"796":{"name":"Locust rider","hitpoints":90,"combatLevel":98,"slayerLevel":1,"attackSpeed":6,"attackLevel":105,"strengthLevel":90,"defenceLevel":50,"rangeLevel":90,"magicLevel":1,"range":80,"stabDef":50,"slashDef":90,"crushDef":50,"rangeDef":66,"magicDef":34,"bonusRangeStrength":80},"797":{"name":"Giant scarab","hitpoints":130,"combatLevel":191,"slayerLevel":1,"attackSpeed":4,"attackLevel":169,"strengthLevel":190,"defenceLevel":169,"rangeLevel":190,"magicLevel":1,"stabDef":70,"slashDef":99,"crushDef":99,"rangeDef":149,"magicDef":159},"798":{"name":"Giant scarab","hitpoints":130,"combatLevel":191,"slayerLevel":1,"attackSpeed":4,"attackLevel":169,"strengthLevel":190,"defenceLevel":169,"rangeLevel":190,"magicLevel":1,"stabDef":70,"slashDef":99,"crushDef":99,"rangeDef":149,"magicDef":159},"799":{"name":"Scarab mage","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":15,"magic":70},"800":{"name":"Locust rider","hitpoints":90,"combatLevel":68,"slayerLevel":1,"attackSpeed":6,"attackLevel":100,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":90,"slashDef":90,"crushDef":40},"801":{"name":"Locust rider","hitpoints":90,"combatLevel":68,"slayerLevel":1,"attackSpeed":6,"attackLevel":105,"strengthLevel":90,"defenceLevel":50,"rangeLevel":90,"magicLevel":1,"range":80,"stabDef":50,"slashDef":90,"crushDef":50,"rangeDef":66,"magicDef":34,"bonusRangeStrength":80},"817":{"name":"Elvarg","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":70,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30},"820":{"name":"Wormbrain","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"823":{"name":"Melzar the Mad","hitpoints":44,"combatLevel":43,"attackSpeed":4,"attackLevel":37,"strengthLevel":37,"defenceLevel":34,"rangeLevel":1,"magicLevel":40,"poisonImmune":true,"venomImmune":true},"852":{"name":"Icelord","hitpoints":60,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"853":{"name":"Icelord","hitpoints":60,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"854":{"name":"Icelord","hitpoints":60,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"855":{"name":"Icelord","hitpoints":60,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"866":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"867":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"868":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"869":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"870":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"871":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"872":{"name":"Skogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"873":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"874":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"875":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"876":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"877":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"878":{"name":"Skogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"879":{"name":"Skogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"880":{"name":"Zombie","hitpoints":50,"combatLevel":39,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"undead":true},"882":{"name":"Slash Bash","hitpoints":100,"combatLevel":111,"attackSpeed":6,"attackLevel":100,"strengthLevel":120,"defenceLevel":60,"rangeLevel":100,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"bonusAttack":22,"undead":true},"891":{"name":"Moss Guardian","hitpoints":120,"combatLevel":84,"attackSpeed":6,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"bonusAttack":66,"bonusStrength":62},"911":{"name":"Agrith Naar","hitpoints":100,"combatLevel":100,"attackSpeed":4,"attackLevel":83,"strengthLevel":90,"defenceLevel":82,"rangeLevel":100,"magicLevel":100,"demon":true},"924":{"name":"Skeleton","hitpoints":18,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"undead":true},"925":{"name":"Rock","hitpoints":140,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":110,"defenceLevel":70,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"926":{"name":"Stick","hitpoints":135,"combatLevel":104,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":110,"defenceLevel":60,"stabDef":30,"slashDef":30,"crushDef":50,"rangeDef":200,"magicDef":200,"bonusAttack":50,"bonusStrength":80},"927":{"name":"Pee Hat","hitpoints":120,"combatLevel":91,"slayerLevel":1,"attackSpeed":6,"attackLevel":50,"strengthLevel":100,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"928":{"name":"Kraka","hitpoints":120,"combatLevel":91,"slayerLevel":1,"attackSpeed":6,"attackLevel":50,"strengthLevel":100,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"931":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"932":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"933":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"934":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"935":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"936":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"937":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"938":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"939":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"940":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"941":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"942":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"946":{"name":"Ghast","hitpoints":22,"combatLevel":30,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":18,"rangeLevel":1,"magicLevel":1},"949":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"950":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"951":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"952":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"953":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"955":{"name":"Kalphite Worker","hitpoints":40,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":1,"rangeDef":10,"magicDef":10},"956":{"name":"Kalphite Worker","hitpoints":40,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":1,"rangeDef":10,"magicDef":10},"957":{"name":"Kalphite Soldier","hitpoints":90,"combatLevel":85,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"958":{"name":"Kalphite Soldier","hitpoints":90,"combatLevel":85,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"959":{"name":"Kalphite Guardian","hitpoints":171,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"960":{"name":"Kalphite Guardian","hitpoints":171,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"961":{"name":"Kalphite Worker","hitpoints":40,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":1,"rangeDef":10,"magicDef":10},"962":{"name":"Kalphite Guardian","hitpoints":171,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"963":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":100,"magicDef":100},"965":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":10,"magicDef":10},"970":{"name":"Dagannoth","hitpoints":70,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"971":{"name":"Dagannoth","hitpoints":70,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"972":{"name":"Dagannoth","hitpoints":70,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"973":{"name":"Dagannoth","hitpoints":120,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"974":{"name":"Dagannoth","hitpoints":120,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"975":{"name":"Dagannoth","hitpoints":120,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"976":{"name":"Dagannoth","hitpoints":160,"combatLevel":100},"977":{"name":"Dagannoth","hitpoints":160,"combatLevel":100},"978":{"name":"Dagannoth","hitpoints":160,"combatLevel":100},"979":{"name":"Dagannoth","hitpoints":160,"combatLevel":100},"980":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"981":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"982":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"983":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"984":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"985":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"986":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"987":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"988":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"990":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"991":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"992":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"993":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"994":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"1024":{"name":"Zygomite","hitpoints":75,"combatLevel":86,"slayerLevel":57,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":75,"rangeLevel":75,"magicLevel":75,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"magicDef":20,"bonusAttack":30},"1037":{"name":"Snake","hitpoints":25,"combatLevel":35,"attackSpeed":3,"attackLevel":25,"strengthLevel":50,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1039":{"name":"Albino bat","hitpoints":33,"combatLevel":52,"slayerLevel":1,"attackSpeed":4,"attackLevel":57,"strengthLevel":57,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"1041":{"name":"Giant mosquito","hitpoints":3,"combatLevel":13,"attackSpeed":12,"attackLevel":5,"strengthLevel":1,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"1042":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1043":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1044":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1045":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1046":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1047":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1048":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1049":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1050":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1051":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1060":{"name":"Angry bear","combatLevel":40},"1061":{"name":"Angry unicorn","hitpoints":50,"combatLevel":45},"1062":{"name":"Angry giant rat","hitpoints":50,"combatLevel":45},"1063":{"name":"Angry giant rat","hitpoints":50,"combatLevel":45},"1064":{"name":"Angry giant rat","hitpoints":50,"combatLevel":45},"1065":{"name":"Angry goblin","hitpoints":50,"combatLevel":45},"1066":{"name":"Fear reaper","hitpoints":25,"combatLevel":42,"attackSpeed":4,"attackLevel":39,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"1067":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1068":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1069":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1070":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1071":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1072":{"name":"Hopeless creature","hitpoints":25,"combatLevel":40,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"1073":{"name":"Hopeless creature","hitpoints":25,"combatLevel":40,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"1074":{"name":"Hopeless creature","hitpoints":25,"combatLevel":40,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"1075":{"name":"Tolna","hitpoints":37,"combatLevel":46,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"1076":{"name":"Tolna","hitpoints":37,"combatLevel":46,"attackSpeed":5,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"1077":{"name":"Tolna","hitpoints":37,"combatLevel":46,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"1097":{"name":"Sea Snake Young","hitpoints":85,"combatLevel":90,"slayerLevel":40,"attackSpeed":4,"attackLevel":90,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1},"1098":{"name":"Sea Snake Hatchling","hitpoints":50,"combatLevel":62,"slayerLevel":40,"attackSpeed":4,"attackLevel":60,"strengthLevel":55,"defenceLevel":50,"magicLevel":1},"1101":{"name":"Giant Sea Snake","hitpoints":100,"combatLevel":149,"attackSpeed":4,"attackLevel":170,"strengthLevel":90,"defenceLevel":160,"rangeLevel":130,"magicLevel":1},"1118":{"name":"Man","hitpoints":7,"combatLevel":4,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1119":{"name":"Woman","hitpoints":10,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"1126":{"name":"Barrelchest (hard)","hitpoints":255,"combatLevel":380,"attackSpeed":5,"attackLevel":306,"strengthLevel":261,"defenceLevel":140,"rangeLevel":1,"magicLevel":162,"bonusAttack":80,"bonusStrength":80},"1127":{"name":"Giant scarab (hard)","hitpoints":255,"combatLevel":316,"slayerLevel":1,"attackSpeed":4,"attackLevel":305,"strengthLevel":342,"defenceLevel":169,"rangeLevel":342,"magicLevel":1,"stabDef":70,"slashDef":99,"crushDef":99,"rangeDef":149,"magicDef":159},"1128":{"name":"Dessous (hard)","hitpoints":255,"combatLevel":217,"slayerLevel":1,"attackSpeed":3,"attackLevel":198,"strengthLevel":198,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"1129":{"name":"Kamil (hard)","hitpoints":255,"combatLevel":273,"slayerLevel":1,"attackSpeed":4,"attackLevel":380,"strengthLevel":160,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":60,"crushDef":35,"bonusAttack":60,"bonusStrength":100},"1130":{"name":"Woman","hitpoints":13,"combatLevel":4,"attackSpeed":4,"attackLevel":2,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"crushDef":1},"1131":{"name":"Woman","hitpoints":10,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"1134":{"name":"Damis (hard)","hitpoints":198,"combatLevel":200,"attackSpeed":4,"attackLevel":198,"strengthLevel":198,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":80},"1135":{"name":"Damis (hard)","hitpoints":255,"combatLevel":272,"attackSpeed":4,"attackLevel":320,"strengthLevel":200,"defenceLevel":160,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":120,"magicDef":80,"bonusStrength":100},"1139":{"name":"Woman","hitpoints":13,"combatLevel":4,"attackSpeed":4,"attackLevel":2,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"crushDef":1},"1140":{"name":"Woman","hitpoints":13,"combatLevel":12,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"1141":{"name":"Woman","hitpoints":10,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"1142":{"name":"Woman","hitpoints":23,"combatLevel":14,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"1144":{"name":"Paladin","hitpoints":66,"combatLevel":62,"attackSpeed":5,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"1153":{"name":"Ogre","hitpoints":60,"combatLevel":63,"slayerLevel":1,"attackSpeed":6,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":19,"slashDef":23,"crushDef":24,"bonusAttack":8,"bonusStrength":6},"1163":{"name":"Tree spirit","hitpoints":85,"combatLevel":101,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":95,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"1173":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1174":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1204":{"name":"Alomone","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":6,"crushDef":8},"1206":{"name":"Clivet","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":6,"crushDef":8},"1207":{"name":"Hazeel Cultist","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":6,"crushDef":8},"1208":{"name":"Khazard Guard","hitpoints":25,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":18,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":29,"crushDef":21,"bonusAttack":10,"bonusStrength":14},"1210":{"name":"Khazard Guard","hitpoints":25,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":18,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":29,"crushDef":21,"bonusAttack":10,"bonusStrength":14},"1211":{"name":"Khazard Guard","hitpoints":25,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":18,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":29,"crushDef":21,"bonusAttack":10,"bonusStrength":14},"1213":{"name":"General Khazard","hitpoints":170,"combatLevel":112,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"1224":{"name":"Bouncer","hitpoints":116,"combatLevel":137,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"1225":{"name":"Khazard Ogre","hitpoints":60,"combatLevel":63,"attackSpeed":6,"attackLevel":54,"strengthLevel":53,"defenceLevel":53,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20},"1226":{"name":"Khazard Scorpion","hitpoints":40,"combatLevel":44,"attackSpeed":4,"attackLevel":40,"strengthLevel":39,"defenceLevel":34,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"1227":{"name":"Arzinian Avatar of Strength","attackSpeed":4},"1228":{"name":"Arzinian Avatar of Strength","hitpoints":100,"combatLevel":125,"attackSpeed":4,"attackLevel":110,"strengthLevel":100,"defenceLevel":95,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":80,"magicDef":15},"1229":{"name":"Arzinian Avatar of Strength","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":70,"strengthLevel":65,"defenceLevel":50,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":40,"magicDef":10},"1230":{"name":"Arzinian Avatar of Ranging","attackSpeed":4},"1231":{"name":"Arzinian Avatar of Ranging","hitpoints":100,"combatLevel":125,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":120,"rangeLevel":110,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":20,"magicDef":80,"bonusRangeStrength":10},"1232":{"name":"Arzinian Avatar of Ranging","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":40,"defenceLevel":75,"rangeLevel":75,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":15,"magicDef":40,"bonusRangeStrength":5},"1233":{"name":"Arzinian Avatar of Magic","attackSpeed":4},"1234":{"name":"Arzinian Avatar of Magic","hitpoints":100,"combatLevel":125,"attackSpeed":4,"attackLevel":10,"strengthLevel":90,"defenceLevel":120,"magicLevel":120,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":15,"magicDef":20},"1235":{"name":"Arzinian Avatar of Magic","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":50,"defenceLevel":75,"magicLevel":75,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":10,"magicDef":15},"1261":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1262":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1263":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1264":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1265":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1267":{"name":"Vulture","hitpoints":10,"combatLevel":31,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"1268":{"name":"Vulture","hitpoints":10,"combatLevel":31,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"1273":{"name":"Experiment","hitpoints":40,"combatLevel":51,"attackSpeed":4,"attackLevel":40,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"1274":{"name":"Experiment","hitpoints":100,"combatLevel":25,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"1275":{"name":"Experiment","hitpoints":100,"combatLevel":25,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"1277":{"name":"Loar Shade","hitpoints":38,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":30,"defenceLevel":26,"undead":true},"1280":{"name":"Phrin Shade","hitpoints":56,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":64,"strengthLevel":47,"defenceLevel":42,"poisonImmune":true},"1282":{"name":"Riyl Shade","hitpoints":76,"combatLevel":80,"slayerLevel":1,"attackSpeed":4,"attackLevel":88,"strengthLevel":55,"defenceLevel":60},"1284":{"name":"Asyn Shade","hitpoints":90,"combatLevel":100,"slayerLevel":1,"attackSpeed":4,"attackLevel":102,"strengthLevel":84,"defenceLevel":70},"1286":{"name":"Fiyr Shade","hitpoints":110,"combatLevel":120,"slayerLevel":1,"attackSpeed":6,"attackLevel":120,"strengthLevel":100,"defenceLevel":85,"undead":true},"1293":{"name":"Afflicted","hitpoints":30,"combatLevel":37,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"1294":{"name":"Afflicted","hitpoints":28,"combatLevel":34,"attackSpeed":4,"attackLevel":28,"strengthLevel":28,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"1297":{"name":"Afflicted","hitpoints":26,"combatLevel":32,"attackSpeed":4,"attackLevel":26,"strengthLevel":26,"defenceLevel":36,"rangeLevel":1,"magicLevel":1},"1298":{"name":"Afflicted","hitpoints":24,"combatLevel":30,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":34,"rangeLevel":1,"magicLevel":1},"1338":{"name":"Seagull","hitpoints":6,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1339":{"name":"Seagull","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1354":{"name":"Dwarf gang member","hitpoints":40,"combatLevel":44,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"1355":{"name":"Dwarf gang member","hitpoints":25,"combatLevel":48,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"1356":{"name":"Dwarf gang member","hitpoints":25,"combatLevel":49,"slayerLevel":1,"attackSpeed":5,"attackLevel":30,"strengthLevel":60,"defenceLevel":57,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"1362":{"name":"Slagilith","hitpoints":60,"combatLevel":92,"attackSpeed":4,"attackLevel":60,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":10},"1364":{"name":"Slagilith","hitpoints":60,"combatLevel":92,"attackSpeed":4,"attackLevel":60,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":10},"1365":{"name":"Fire elemental","hitpoints":30,"combatLevel":35,"attackSpeed":4,"attackLevel":35,"strengthLevel":35,"defenceLevel":20,"rangeLevel":20,"magicLevel":20},"1366":{"name":"Earth elemental","hitpoints":35,"combatLevel":35,"attackSpeed":6,"attackLevel":20,"strengthLevel":35,"defenceLevel":35,"rangeLevel":30,"magicLevel":10},"1367":{"name":"Earth elemental","hitpoints":35,"combatLevel":35,"attackSpeed":6,"attackLevel":20,"strengthLevel":35,"defenceLevel":35,"rangeLevel":30,"magicLevel":10,"poisonImmune":true,"venomImmune":true},"1369":{"name":"Air elemental","hitpoints":30,"combatLevel":34,"attackSpeed":4,"attackLevel":40,"strengthLevel":20,"defenceLevel":30,"rangeLevel":20,"magicLevel":40},"1370":{"name":"Water elemental","hitpoints":30,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":30,"magicLevel":30},"1377":{"name":"The Kendal","hitpoints":50,"combatLevel":70,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":60,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"bonusAttack":5,"bonusStrength":10},"1378":{"name":"The Kendal","hitpoints":50,"combatLevel":70,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":60,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"bonusAttack":5,"bonusStrength":10},"1379":{"name":"Camp dweller","hitpoints":30,"combatLevel":31,"attackSpeed":4,"attackLevel":25,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1380":{"name":"Camp dweller","hitpoints":30,"combatLevel":31,"attackSpeed":4,"attackLevel":25,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1381":{"name":"Camp dweller","hitpoints":30,"combatLevel":31,"attackSpeed":4,"attackLevel":25,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1382":{"name":"Camp dweller","hitpoints":30,"combatLevel":31,"attackSpeed":4,"attackLevel":25,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1383":{"name":"Camp dweller","hitpoints":25,"combatLevel":25,"attackSpeed":4,"attackLevel":20,"strengthLevel":25,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"1401":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1402":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1403":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1404":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1405":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5,"attackLevel":8,"strengthLevel":8,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stab":5,"magicDef":5,"bonusAttack":5,"bonusStrength":7},"1406":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1407":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1408":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1409":{"name":"Black Guard","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"1410":{"name":"Black Guard","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"1411":{"name":"Black Guard","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"1412":{"name":"Black Guard","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"1429":{"name":"Foreman","hitpoints":20,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"slashDef":1,"crushDef":1},"1430":{"name":"Shipyard worker","hitpoints":10,"combatLevel":11,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"bonusAttack":6,"bonusStrength":6},"1432":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"1443":{"name":"Jungle Demon","hitpoints":170,"combatLevel":195,"attackSpeed":6,"attackLevel":170,"strengthLevel":170,"defenceLevel":170,"rangeLevel":1,"magicLevel":170,"slashDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50,"demon":true},"1447":{"name":"Pirate","hitpoints":20,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"slashDef":1,"bonusAttack":9,"bonusStrength":10},"1448":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"1461":{"name":"Mugger","hitpoints":8,"combatLevel":6,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1},"1475":{"name":"Chompy bird","hitpoints":10,"combatLevel":6,"slayerLevel":1,"defenceLevel":5000},"1494":{"name":"Kebbit","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1537":{"name":"Skeleton hero","hitpoints":124,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":134,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15,"undead":true},"1538":{"name":"Skeleton brute","hitpoints":124,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15,"undead":true},"1539":{"name":"Skeleton warlord","hitpoints":124,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"1540":{"name":"Skeleton heavy","hitpoints":124,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"1541":{"name":"Skeleton thug","hitpoints":124,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15,"undead":true},"1543":{"name":"Gargoyle","hitpoints":105,"combatLevel":111,"slayerLevel":75,"attackSpeed":4,"attackLevel":75,"strengthLevel":105,"defenceLevel":107,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":20,"magicDef":20},"1545":{"name":"Black knight","hitpoints":42,"combatLevel":33,"attackSpeed":5,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":73,"slashDef":76,"crushDef":70,"rangeDef":72,"bonusAttack":18,"bonusStrength":16},"1546":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1547":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1548":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1549":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1550":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1556":{"name":"Fire wizard","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":10,"magicLevel":10,"magicDef":15},"1557":{"name":"Water wizard","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":10,"magicLevel":10,"magicDef":15},"1558":{"name":"Earth wizard","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":10,"magicLevel":10,"magicDef":15},"1559":{"name":"Air wizard","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":10,"magicLevel":10,"magicDef":15},"1603":{"name":"Kolodion","hitpoints":3,"attackSpeed":7},"1604":{"name":"Kolodion","hitpoints":3,"attackSpeed":7},"1605":{"name":"Kolodion","hitpoints":3,"attackSpeed":7},"1606":{"name":"Kolodion","hitpoints":65,"attackSpeed":7},"1607":{"name":"Kolodion","hitpoints":65,"attackSpeed":7},"1608":{"name":"Kolodion","hitpoints":78,"attackSpeed":7},"1609":{"name":"Kolodion","hitpoints":107,"combatLevel":112,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":98,"defenceLevel":105,"rangeLevel":1,"magicLevel":80},"1610":{"name":"Battle mage","hitpoints":120,"combatLevel":54,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":50},"1611":{"name":"Battle mage","hitpoints":120,"combatLevel":54,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":50},"1612":{"name":"Battle mage","hitpoints":120,"combatLevel":54,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":50},"1667":{"name":"Penance Fighter","hitpoints":28,"combatLevel":30,"attackSpeed":4},"1668":{"name":"Penance Ranger","hitpoints":20,"combatLevel":21,"attackSpeed":4},"1672":{"name":"Ahrim the Blighted","hitpoints":100,"combatLevel":98,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":1,"magicLevel":100,"stab":12,"crush":65,"magic":73,"stabDef":103,"slashDef":85,"crushDef":117,"magicDef":73,"bonusStrength":68},"1673":{"name":"Dharok the Wretched","hitpoints":100,"combatLevel":115,"slayerLevel":1,"attackSpeed":7,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slash":103,"crush":95,"stabDef":252,"slashDef":250,"crushDef":244,"rangeDef":249,"bonusStrength":105},"1674":{"name":"Guthan the Infested","hitpoints":100,"combatLevel":115,"slayerLevel":1,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stab":75,"slash":75,"crush":75,"stabDef":259,"slashDef":257,"crushDef":241,"rangeDef":250,"bonusStrength":75},"1675":{"name":"Karil the Tainted","hitpoints":100,"combatLevel":98,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":100,"magicLevel":1,"range":134,"stabDef":79,"slashDef":71,"crushDef":90,"rangeDef":100,"magicDef":106,"bonusRangeStrength":55},"1676":{"name":"Torag the Corrupted","hitpoints":100,"combatLevel":115,"slayerLevel":1,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stab":68,"crush":82,"stabDef":221,"slashDef":235,"crushDef":222,"rangeDef":221,"bonusStrength":72},"1677":{"name":"Verac the Defiled","hitpoints":100,"combatLevel":115,"slayerLevel":1,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stab":68,"crush":82,"stabDef":227,"slashDef":230,"crushDef":221,"rangeDef":225,"bonusStrength":72},"1678":{"name":"Bloodworm","hitpoints":45,"combatLevel":52,"attackSpeed":4,"attackLevel":80,"strengthLevel":20,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"1679":{"name":"Crypt rat","hitpoints":35,"combatLevel":43,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"1680":{"name":"Giant crypt rat","hitpoints":70,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":50,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1681":{"name":"Giant crypt rat","hitpoints":70,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":50,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1682":{"name":"Giant crypt rat","hitpoints":70,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":50,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1683":{"name":"Crypt spider","hitpoints":45,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":47,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"1684":{"name":"Giant crypt spider","hitpoints":80,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":67,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1685":{"name":"Skeleton","hitpoints":51,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":72,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"1686":{"name":"Skeleton","hitpoints":51,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":72,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"1687":{"name":"Skeleton","hitpoints":51,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":72,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"1688":{"name":"Skeleton","hitpoints":51,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":72,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"1689":{"name":"Splatter","hitpoints":13,"combatLevel":22},"1690":{"name":"Splatter","hitpoints":23,"combatLevel":33},"1691":{"name":"Splatter","hitpoints":33,"combatLevel":44},"1692":{"name":"Splatter","hitpoints":43,"combatLevel":54},"1693":{"name":"Splatter","hitpoints":53,"combatLevel":65},"1694":{"name":"Shifter","hitpoints":23,"combatLevel":38,"attackSpeed":4},"1695":{"name":"Shifter","hitpoints":23,"combatLevel":38,"attackSpeed":4},"1696":{"name":"Shifter","hitpoints":38,"combatLevel":57,"attackSpeed":4},"1697":{"name":"Shifter","hitpoints":38,"combatLevel":57,"attackSpeed":4},"1698":{"name":"Shifter","hitpoints":53,"combatLevel":76,"attackSpeed":4},"1699":{"name":"Shifter","hitpoints":53,"combatLevel":76,"attackSpeed":4},"1700":{"name":"Shifter","hitpoints":68,"combatLevel":90,"attackSpeed":4},"1701":{"name":"Shifter","hitpoints":68,"combatLevel":90,"attackSpeed":4},"1702":{"name":"Shifter","hitpoints":83,"combatLevel":104,"attackSpeed":4},"1703":{"name":"Shifter","hitpoints":83,"combatLevel":104,"attackSpeed":4},"1704":{"name":"Ravager","hitpoints":23,"combatLevel":36,"attackSpeed":4},"1705":{"name":"Ravager","hitpoints":38,"combatLevel":53,"attackSpeed":4},"1706":{"name":"Ravager","hitpoints":53,"combatLevel":71,"attackSpeed":4},"1707":{"name":"Ravager","hitpoints":68,"combatLevel":89,"attackSpeed":4},"1708":{"name":"Ravager","hitpoints":83,"combatLevel":106,"attackSpeed":4},"1709":{"name":"Spinner","hitpoints":33,"combatLevel":36},"1710":{"name":"Spinner","hitpoints":53,"combatLevel":55},"1711":{"name":"Spinner","hitpoints":73,"combatLevel":74},"1712":{"name":"Spinner","hitpoints":101,"combatLevel":92},"1713":{"name":"Spinner","hitpoints":93,"combatLevel":88},"1714":{"name":"Torcher","hitpoints":18,"combatLevel":33,"attackSpeed":4},"1715":{"name":"Torcher","hitpoints":18,"combatLevel":33,"attackSpeed":4},"1716":{"name":"Torcher","hitpoints":30,"combatLevel":49,"attackSpeed":4},"1717":{"name":"Torcher","hitpoints":30,"combatLevel":49,"attackSpeed":4},"1718":{"name":"Torcher","hitpoints":45,"combatLevel":66,"attackSpeed":4},"1719":{"name":"Torcher","hitpoints":45,"combatLevel":66,"attackSpeed":4},"1720":{"name":"Torcher","hitpoints":57,"combatLevel":79,"attackSpeed":4},"1721":{"name":"Torcher","hitpoints":57,"combatLevel":79,"attackSpeed":4},"1722":{"name":"Torcher","hitpoints":71,"combatLevel":91,"attackSpeed":4},"1723":{"name":"Torcher","hitpoints":71,"combatLevel":92,"attackSpeed":4},"1724":{"name":"Defiler","hitpoints":27,"combatLevel":33,"attackSpeed":4},"1725":{"name":"Defiler","hitpoints":27,"combatLevel":33,"attackSpeed":4},"1726":{"name":"Defiler","hitpoints":45,"combatLevel":50,"attackSpeed":4},"1727":{"name":"Defiler","hitpoints":45,"combatLevel":50,"attackSpeed":4},"1728":{"name":"Defiler","hitpoints":62,"combatLevel":66,"attackSpeed":4},"1729":{"name":"Defiler","hitpoints":62,"combatLevel":67,"attackSpeed":4},"1730":{"name":"Defiler","hitpoints":78,"combatLevel":80,"attackSpeed":4},"1731":{"name":"Defiler","hitpoints":78,"combatLevel":80,"attackSpeed":4},"1732":{"name":"Defiler","hitpoints":97,"combatLevel":97,"attackSpeed":4},"1733":{"name":"Defiler","hitpoints":97,"combatLevel":97,"attackSpeed":4},"1734":{"name":"Brawler","hitpoints":53,"combatLevel":51,"attackSpeed":4},"1735":{"name":"Brawler","hitpoints":83,"combatLevel":76,"attackSpeed":4},"1736":{"name":"Brawler","hitpoints":97,"combatLevel":101,"attackSpeed":4},"1737":{"name":"Brawler","hitpoints":113,"combatLevel":129,"attackSpeed":4},"1738":{"name":"Brawler","hitpoints":143,"combatLevel":158,"attackSpeed":4},"1777":{"name":"Double agent","hitpoints":80,"combatLevel":65,"attackSpeed":4,"attackLevel":80,"strengthLevel":43,"defenceLevel":24,"rangeLevel":1,"magicLevel":24,"stabDef":3,"slashDef":3,"crushDef":3},"1778":{"name":"Double agent","hitpoints":120,"combatLevel":108,"attackSpeed":4,"attackLevel":100,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":80,"stabDef":20,"slashDef":20,"crushDef":20,"bonusAttack":40,"bonusStrength":40},"1782":{"name":"Scarab swarm","hitpoints":25,"combatLevel":98,"slayerLevel":1,"attackSpeed":1,"attackLevel":255,"strengthLevel":5,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":90,"slashDef":90,"crushDef":5,"rangeDef":90,"magicDef":90},"1792":{"name":"Goat","hitpoints":21,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1793":{"name":"Goat","hitpoints":21,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1794":{"name":"Billy Goat","hitpoints":28,"combatLevel":33,"attackSpeed":4,"attackLevel":31,"strengthLevel":29,"defenceLevel":29,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1795":{"name":"Goat","hitpoints":21,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1796":{"name":"Goat","hitpoints":21,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1797":{"name":"Billy Goat","hitpoints":28,"combatLevel":33,"attackSpeed":4,"attackLevel":31,"strengthLevel":29,"defenceLevel":29,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1798":{"name":"White Knight","hitpoints":52,"combatLevel":36,"attackSpeed":7,"attackLevel":27,"strengthLevel":29,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"1799":{"name":"White Knight","hitpoints":52,"combatLevel":38,"attackSpeed":7,"attackLevel":30,"strengthLevel":29,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"1800":{"name":"White Knight","hitpoints":52,"combatLevel":39,"attackSpeed":7,"attackLevel":32,"strengthLevel":29,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"1829":{"name":"White Knight","hitpoints":55,"combatLevel":42,"attackSpeed":7,"attackLevel":32,"strengthLevel":35,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"1834":{"name":"Gorak","hitpoints":112,"combatLevel":145,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":131,"rangeLevel":1,"magicLevel":1},"1838":{"name":"Duck","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1839":{"name":"Duck","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1845":{"name":"Stag","hitpoints":19,"combatLevel":15,"attackSpeed":4,"attackLevel":11,"strengthLevel":13,"defenceLevel":13,"rangeLevel":1,"magicLevel":1},"1852":{"name":"Rabbit","hitpoints":5,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1853":{"name":"Rabbit","hitpoints":5,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1861":{"name":"Tree spirit","hitpoints":50,"combatLevel":14,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1},"1862":{"name":"Tree spirit","hitpoints":50,"combatLevel":29,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":32,"rangeLevel":1,"magicLevel":1},"1863":{"name":"Tree spirit","hitpoints":60,"combatLevel":49,"attackSpeed":4,"attackLevel":48,"strengthLevel":48,"defenceLevel":48,"rangeLevel":1,"magicLevel":1},"1864":{"name":"Tree spirit","hitpoints":86,"combatLevel":79,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1865":{"name":"Tree spirit","hitpoints":120,"combatLevel":120,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"1866":{"name":"Tree spirit","hitpoints":170,"combatLevel":159,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1},"1870":{"name":"Evil Chicken","hitpoints":120,"combatLevel":159,"attackSpeed":4,"defenceLevel":126,"magicLevel":200},"1871":{"name":"Baby dragon","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"1872":{"name":"Baby dragon","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"1874":{"name":"Ice troll runt","hitpoints":60,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"1875":{"name":"Ice troll male","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"1876":{"name":"Ice troll female","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"1877":{"name":"Ice troll grunt","hitpoints":80,"combatLevel":102,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"2001":{"name":"Duckling","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2005":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2006":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2007":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2008":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2018":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2025":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2026":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2027":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2028":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2029":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2030":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2031":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2032":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2042":{"name":"Zulrah","hitpoints":500,"combatLevel":725,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":300,"rangeLevel":300,"magicLevel":300,"range":50,"magic":50,"rangeDef":50,"bonusRangeStrength":20,"bonusMagicDamage":20},"2043":{"name":"Zulrah","hitpoints":500,"combatLevel":725,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":300,"rangeLevel":300,"magicLevel":300,"range":50,"magic":50,"rangeDef":300,"bonusRangeStrength":20,"bonusMagicDamage":20},"2044":{"name":"Zulrah","hitpoints":500,"combatLevel":725,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":300,"rangeLevel":300,"magicLevel":300,"range":50,"magic":50,"magicDef":300,"bonusRangeStrength":20,"bonusMagicDamage":20},"2045":{"name":"Snakeling","hitpoints":1,"combatLevel":90,"attackSpeed":3,"attackLevel":140,"strengthLevel":138,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusAttack":120},"2046":{"name":"Snakeling","hitpoints":1,"combatLevel":90,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":185,"bonusAttack":120},"2048":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2049":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2050":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2051":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2052":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2054":{"name":"Chaos Elemental","hitpoints":250,"combatLevel":305,"slayerLevel":1,"attackSpeed":5,"attackLevel":270,"strengthLevel":270,"defenceLevel":270,"rangeLevel":270,"magicLevel":270,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":70,"magicDef":70},"2056":{"name":"Dark wizard","hitpoints":24,"combatLevel":23,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"2057":{"name":"Dark wizard","hitpoints":24,"combatLevel":22,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"2058":{"name":"Dark wizard","hitpoints":15,"combatLevel":11,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"2059":{"name":"Dark wizard","hitpoints":15,"combatLevel":11,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"2062":{"name":"Oomlie bird","hitpoints":40,"combatLevel":46,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"2063":{"name":"Penguin","hitpoints":4,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":2,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2064":{"name":"Terrorbird","hitpoints":34,"combatLevel":28,"slayerLevel":1,"attackSpeed":6,"attackLevel":23,"strengthLevel":23,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"2065":{"name":"Terrorbird","hitpoints":34,"combatLevel":28,"slayerLevel":1,"attackSpeed":6,"attackLevel":23,"strengthLevel":23,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"2066":{"name":"Terrorbird","hitpoints":34,"combatLevel":28,"slayerLevel":1,"attackSpeed":6,"attackLevel":23,"strengthLevel":23,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"2067":{"name":"Mounted terrorbird gnome","hitpoints":36,"combatLevel":31,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"2068":{"name":"Mounted terrorbird gnome","hitpoints":55,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"2075":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2076":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2077":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2078":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2079":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2080":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2081":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2082":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2083":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2084":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2085":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2086":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2087":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2088":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2089":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2090":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"2091":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"2092":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"2093":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"2094":{"name":"Jogre","hitpoints":60,"combatLevel":53,"attackSpeed":6,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"crush":22,"bonusAttack":22,"bonusStrength":20},"2095":{"name":"Ogre","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":6,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20},"2096":{"name":"Ogre","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":6,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20},"2097":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2098":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2099":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2100":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2101":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2102":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2103":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2115":{"name":"Thing under the bed","hitpoints":25,"attackSpeed":4},"2120":{"name":"Market Guard","hitpoints":22,"combatLevel":20,"attackSpeed":5,"attackLevel":17,"strengthLevel":18,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":24,"slashDef":14,"crushDef":19,"rangeDef":16,"magicDef":4,"bonusAttack":9,"bonusStrength":7},"2137":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2138":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2139":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2140":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2141":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2142":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2143":{"name":"Sraracha","hitpoints":23,"combatLevel":13,"attackSpeed":4,"attackLevel":10,"strengthLevel":8,"defenceLevel":6,"rangeLevel":1,"magicLevel":1},"2145":{"name":"Undead Druid","hitpoints":140,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":50,"defenceLevel":60,"magicLevel":115,"magic":100,"stabDef":40,"slashDef":30,"crushDef":80,"rangeDef":40,"magicDef":140,"bonusAttack":50,"bonusStrength":50,"bonusMagicDamage":50,"undead":true},"2154":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2155":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2156":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2157":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2158":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2159":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2160":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2161":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2162":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2163":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2164":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2165":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2166":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2167":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2168":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2169":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2170":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2171":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2172":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2173":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2174":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2175":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2176":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2177":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2178":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2179":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2189":{"name":"Tz-Kih","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"2190":{"name":"Tz-Kih","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"2191":{"name":"Tz-Kek","hitpoints":20,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":60,"defenceLevel":30,"rangeLevel":30,"magicLevel":60},"2192":{"name":"Tz-Kek","hitpoints":20,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":60,"defenceLevel":30,"rangeLevel":30,"magicLevel":60},"2193":{"name":"Tok-Xil","hitpoints":40,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":120,"defenceLevel":60,"rangeLevel":120,"magicLevel":60},"2194":{"name":"Tok-Xil","hitpoints":40,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":120,"defenceLevel":60,"rangeLevel":120,"magicLevel":60},"2205":{"name":"Commander Zilyana","hitpoints":255,"combatLevel":596,"slayerLevel":1,"attackSpeed":2,"attackLevel":280,"strengthLevel":196,"defenceLevel":300,"rangeLevel":250,"magicLevel":300,"magic":200,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":195,"bonusStrength":20,"poisonImmune":true,"venomImmune":true},"2206":{"name":"Starlight","hitpoints":160,"combatLevel":149,"attackSpeed":5,"attackLevel":120,"strengthLevel":125,"defenceLevel":120,"rangeLevel":1,"magicLevel":125,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":60,"bonusStrength":10},"2207":{"name":"Growler","hitpoints":146,"combatLevel":139,"attackSpeed":5,"attackLevel":100,"strengthLevel":101,"defenceLevel":120,"rangeLevel":1,"magicLevel":150,"stabDef":12,"slashDef":14,"crushDef":14,"rangeDef":5,"magicDef":18,"bonusAttack":10,"bonusStrength":7},"2208":{"name":"Bree","hitpoints":162,"combatLevel":146,"attackSpeed":5,"attackLevel":110,"strengthLevel":80,"defenceLevel":130,"rangeLevel":150,"magicLevel":80,"stabDef":12,"slashDef":14,"crushDef":14,"rangeDef":5,"magicDef":18,"bonusAttack":10,"bonusStrength":7},"2209":{"name":"Saradomin priest","hitpoints":89,"combatLevel":113,"attackSpeed":5,"attackLevel":120,"strengthLevel":46,"defenceLevel":120,"rangeLevel":1,"magicLevel":125,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":9,"bonusStrength":5},"2210":{"name":"Spiritual warrior","hitpoints":110,"combatLevel":125,"slayerLevel":68,"attackSpeed":5,"attackLevel":110,"strengthLevel":106,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":9,"bonusStrength":6},"2211":{"name":"Spiritual ranger","hitpoints":106,"combatLevel":122,"slayerLevel":63,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":146,"magicLevel":1,"stabDef":3,"slashDef":5,"crushDef":13,"rangeDef":23,"magicDef":16},"2212":{"name":"Spiritual mage","hitpoints":85,"combatLevel":120,"slayerLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":86,"rangeLevel":1,"magicLevel":160,"stabDef":8,"slashDef":7,"crushDef":3,"rangeDef":2,"magicDef":16},"2213":{"name":"Knight of Saradomin","hitpoints":135,"combatLevel":103,"attackSpeed":6,"attackLevel":70,"strengthLevel":85,"defenceLevel":70,"rangeLevel":1,"magicLevel":60,"stabDef":10,"slashDef":10,"crushDef":7,"rangeDef":13,"bonusAttack":8,"bonusStrength":8},"2214":{"name":"Knight of Saradomin","hitpoints":108,"combatLevel":101,"attackSpeed":6,"attackLevel":75,"strengthLevel":90,"defenceLevel":82,"rangeLevel":1,"magicLevel":60,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"bonusAttack":13,"bonusStrength":11},"2215":{"name":"General Graardor","hitpoints":255,"combatLevel":624,"slayerLevel":1,"attackSpeed":6,"attackLevel":280,"strengthLevel":350,"defenceLevel":250,"rangeLevel":350,"magicLevel":80,"range":100,"stabDef":90,"slashDef":90,"crushDef":90,"rangeDef":90,"magicDef":298,"bonusAttack":120,"bonusStrength":43,"bonusRangeStrength":40,"poisonImmune":true,"venomImmune":true},"2216":{"name":"Sergeant Strongstack","hitpoints":128,"combatLevel":141,"slayerLevel":1,"attackSpeed":5,"attackLevel":124,"strengthLevel":118,"defenceLevel":125,"rangeLevel":50,"magicLevel":50,"bonusStrength":14},"2217":{"name":"Sergeant Steelwill","hitpoints":127,"combatLevel":142,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":50,"defenceLevel":150,"rangeLevel":1,"magicLevel":150,"bonusStrength":6},"2218":{"name":"Sergeant Grimspike","hitpoints":146,"combatLevel":142,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":132,"rangeLevel":150,"magicLevel":50,"range":20,"bonusRangeStrength":20},"2232":{"name":"Black Guard Berserker","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"bonusAttack":55,"bonusStrength":55},"2233":{"name":"Ogre","hitpoints":70,"combatLevel":58,"slayerLevel":1,"attackSpeed":6,"attackLevel":46,"strengthLevel":48,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":21},"2234":{"name":"Jogre","hitpoints":70,"combatLevel":58,"attackSpeed":6,"attackLevel":46,"strengthLevel":48,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":21},"2235":{"name":"Cyclops","hitpoints":110,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":48,"rangeLevel":1,"magicLevel":1,"bonusAttack":22},"2236":{"name":"Cyclops","hitpoints":110,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":48,"rangeLevel":1,"magicLevel":1,"bonusAttack":22},"2237":{"name":"Ork","hitpoints":110,"combatLevel":107,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"2238":{"name":"Ork","hitpoints":110,"combatLevel":107,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"2239":{"name":"Ork","hitpoints":110,"combatLevel":107,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"2240":{"name":"Ork","hitpoints":110,"combatLevel":107,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"2241":{"name":"Hobgoblin","hitpoints":52,"combatLevel":47,"slayerLevel":1,"attackSpeed":4,"attackLevel":39,"strengthLevel":39,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2242":{"name":"Spiritual ranger","hitpoints":131,"combatLevel":115,"slayerLevel":63,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5},"2243":{"name":"Spiritual warrior","hitpoints":131,"combatLevel":134,"slayerLevel":68,"attackSpeed":5,"attackLevel":116,"strengthLevel":120,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":29,"bonusStrength":13},"2244":{"name":"Spiritual mage","hitpoints":106,"combatLevel":121,"slayerLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":103,"rangeLevel":1,"magicLevel":142,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":35},"2245":{"name":"Goblin","hitpoints":18,"combatLevel":17,"slayerLevel":1,"attackSpeed":6,"attackLevel":14,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1},"2246":{"name":"Goblin","hitpoints":3,"combatLevel":12,"slayerLevel":1,"attackSpeed":6,"attackLevel":15,"strengthLevel":6,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"2247":{"name":"Goblin","hitpoints":15,"combatLevel":12,"slayerLevel":1,"attackSpeed":6,"attackLevel":12,"strengthLevel":6,"defenceLevel":13,"rangeLevel":1,"magicLevel":1},"2248":{"name":"Goblin","hitpoints":16,"combatLevel":15,"slayerLevel":1,"attackSpeed":6,"attackLevel":16,"strengthLevel":6,"defenceLevel":19,"magicLevel":1},"2249":{"name":"Goblin","hitpoints":13,"combatLevel":13,"slayerLevel":1,"attackSpeed":6,"attackLevel":11,"strengthLevel":6,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"2259":{"name":"Dagannoth","hitpoints":85,"combatLevel":88,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":75,"rangeLevel":100,"magicLevel":1,"slashDef":10,"crushDef":90,"rangeDef":150,"magicDef":200},"2261":{"name":"Giant Rock Crab","hitpoints":180,"combatLevel":137,"attackSpeed":4,"attackLevel":50,"strengthLevel":80,"defenceLevel":200,"rangeLevel":1,"magicLevel":1,"stabDef":225,"slashDef":200,"crushDef":175,"rangeDef":250},"2264":{"name":"Dagannoth fledgeling","hitpoints":100,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"2265":{"name":"Dagannoth Supreme","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":128,"rangeLevel":255,"magicLevel":255,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":550,"magicDef":255},"2266":{"name":"Dagannoth Prime","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":255,"magicLevel":255,"stabDef":255,"slashDef":255,"crushDef":255,"rangeDef":10,"magicDef":255},"2267":{"name":"Dagannoth Rex","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":255,"rangeLevel":255,"stabDef":255,"slashDef":255,"crushDef":255,"rangeDef":255,"magicDef":10},"2316":{"name":"Guard","hitpoints":26,"combatLevel":26,"slayerLevel":1,"attackSpeed":6,"attackLevel":25,"strengthLevel":18,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stab":11,"slash":11,"crush":11,"stabDef":1,"slashDef":16,"crushDef":19,"rangeDef":12},"2317":{"name":"Guard","hitpoints":26,"combatLevel":24,"slayerLevel":1,"attackSpeed":6,"attackLevel":22,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"crush":16,"slashDef":15,"crushDef":19,"rangeDef":12},"2423":{"name":"Chaos dwarf","hitpoints":61,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":38,"strengthLevel":42,"defenceLevel":28,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":34,"crushDef":25,"rangeDef":35,"magicDef":10,"bonusAttack":13,"bonusStrength":9},"2450":{"name":"Animated Bronze Armour","hitpoints":10,"combatLevel":11,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2451":{"name":"Animated Iron Armour","hitpoints":20,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2452":{"name":"Animated Steel Armour","hitpoints":40,"combatLevel":46,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2453":{"name":"Animated Black Armour","hitpoints":60,"combatLevel":69,"attackSpeed":4,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2454":{"name":"Animated Mithril Armour","hitpoints":80,"combatLevel":92,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2455":{"name":"Animated Adamant Armour","hitpoints":99,"combatLevel":113,"attackSpeed":4,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2456":{"name":"Animated Rune Armour","hitpoints":120,"combatLevel":138,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2463":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2464":{"name":"Cyclops","hitpoints":100,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2465":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2466":{"name":"Cyclops","hitpoints":100,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2467":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2468":{"name":"Cyclops","hitpoints":100,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2474":{"name":"Catablepon","hitpoints":40,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":60,"stabDef":40,"slashDef":30,"crushDef":20,"rangeDef":40,"magicDef":20},"2475":{"name":"Catablepon","hitpoints":70,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":45,"stabDef":50,"slashDef":40,"crushDef":30,"rangeDef":50,"magicDef":30},"2476":{"name":"Catablepon","hitpoints":50,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":60,"stabDef":50,"slashDef":40,"crushDef":30,"rangeDef":50,"magicDef":30},"2477":{"name":"Giant spider","hitpoints":50,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":41,"strengthLevel":51,"defenceLevel":31,"rangeLevel":1,"magicLevel":1},"2478":{"name":"Spider","hitpoints":22,"combatLevel":24,"slayerLevel":1,"attackSpeed":6,"attackLevel":21,"strengthLevel":21,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":53,"slashDef":53,"crushDef":53,"rangeDef":53,"magicDef":53,"bonusAttack":35,"bonusStrength":58},"2479":{"name":"Scorpion","hitpoints":55,"combatLevel":59,"slayerLevel":1,"attackSpeed":6,"attackLevel":50,"strengthLevel":52,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":55},"2480":{"name":"Scorpion","hitpoints":37,"combatLevel":37,"slayerLevel":1,"attackSpeed":6,"attackLevel":31,"strengthLevel":32,"defenceLevel":31,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":15,"crushDef":15,"rangeDef":35,"magicDef":30},"2481":{"name":"Minotaur","hitpoints":10,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":12,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2483":{"name":"Minotaur","hitpoints":22,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":23,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"2484":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"2485":{"name":"Goblin","hitpoints":16,"combatLevel":13,"slayerLevel":1,"attackSpeed":6,"attackLevel":12,"strengthLevel":13,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":8,"rangeDef":4,"magicDef":4},"2486":{"name":"Goblin","hitpoints":7,"combatLevel":11,"slayerLevel":1,"attackSpeed":6,"attackLevel":10,"strengthLevel":3,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"2487":{"name":"Goblin","hitpoints":22,"combatLevel":16,"slayerLevel":1,"attackSpeed":6,"attackLevel":13,"strengthLevel":11,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":22},"2488":{"name":"Goblin","hitpoints":26,"combatLevel":25,"slayerLevel":1,"attackSpeed":6,"attackLevel":22,"strengthLevel":23,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":8,"rangeDef":4,"magicDef":4},"2489":{"name":"Goblin","hitpoints":22,"combatLevel":16,"slayerLevel":1,"attackSpeed":6,"attackLevel":13,"strengthLevel":11,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":22},"2490":{"name":"Wolf","hitpoints":15,"combatLevel":14,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":15,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2491":{"name":"Wolf","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2492":{"name":"Rat","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1},"2498":{"name":"Flesh Crawler","hitpoints":25,"combatLevel":28,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":2,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"magicDef":15},"2499":{"name":"Flesh Crawler","hitpoints":25,"combatLevel":35,"slayerLevel":1,"attackSpeed":3,"attackLevel":80,"strengthLevel":2,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"magicDef":15},"2500":{"name":"Flesh Crawler","hitpoints":25,"combatLevel":41,"slayerLevel":1,"attackSpeed":3,"attackLevel":100,"strengthLevel":2,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"magicDef":15},"2501":{"name":"Zombie","hitpoints":30,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2502":{"name":"Zombie","hitpoints":30,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2503":{"name":"Zombie","hitpoints":30,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2504":{"name":"Zombie","hitpoints":41,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2505":{"name":"Zombie","hitpoints":41,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2506":{"name":"Zombie","hitpoints":41,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2507":{"name":"Zombie","hitpoints":50,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2508":{"name":"Zombie","hitpoints":50,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2509":{"name":"Zombie","hitpoints":50,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2510":{"name":"Giant rat","hitpoints":25,"combatLevel":26,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":23,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"2511":{"name":"Giant rat","hitpoints":25,"combatLevel":26,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":23,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"2512":{"name":"Giant rat","hitpoints":25,"combatLevel":26,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":23,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"2513":{"name":"Rat","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1},"2514":{"name":"Ankou","hitpoints":60,"combatLevel":75,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"undead":true},"2515":{"name":"Ankou","hitpoints":65,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"undead":true},"2516":{"name":"Ankou","hitpoints":70,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"undead":true},"2517":{"name":"Ankou","hitpoints":60,"combatLevel":75,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"undead":true},"2518":{"name":"Ankou","hitpoints":65,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"undead":true},"2519":{"name":"Ankou","hitpoints":70,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"undead":true},"2520":{"name":"Skeleton","hitpoints":70,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":50,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"rangeDef":35,"undead":true},"2521":{"name":"Skeleton","hitpoints":70,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"rangeDef":35,"undead":true},"2522":{"name":"Skeleton","hitpoints":70,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"rangeDef":35,"undead":true},"2523":{"name":"Skeleton","hitpoints":70,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"rangeDef":35,"undead":true},"2524":{"name":"Skeleton","hitpoints":77,"combatLevel":85,"slayerLevel":1,"attackSpeed":4,"attackLevel":74,"strengthLevel":74,"defenceLevel":74,"rangeLevel":1,"magicLevel":1,"stabDef":79,"slashDef":31,"crushDef":20,"rangeDef":70,"magicDef":5,"bonusAttack":15,"bonusStrength":14,"undead":true},"2525":{"name":"Skeleton","hitpoints":77,"combatLevel":85,"slayerLevel":1,"attackSpeed":4,"attackLevel":74,"strengthLevel":74,"defenceLevel":74,"rangeLevel":1,"magicLevel":1,"stabDef":79,"slashDef":31,"crushDef":20,"rangeDef":70,"magicDef":5,"bonusAttack":15,"bonusStrength":14,"undead":true},"2526":{"name":"Skeleton","hitpoints":77,"combatLevel":85,"slayerLevel":1,"attackSpeed":4,"attackLevel":74,"strengthLevel":74,"defenceLevel":74,"rangeLevel":1,"magicLevel":1,"stabDef":79,"slashDef":31,"crushDef":20,"rangeDef":70,"magicDef":5,"bonusAttack":15,"bonusStrength":14,"undead":true},"2527":{"name":"Ghost","hitpoints":75,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":68,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":5,"rangeDef":45,"undead":true},"2528":{"name":"Ghost","hitpoints":75,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":68,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":5,"rangeDef":45,"undead":true},"2529":{"name":"Ghost","hitpoints":75,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":68,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":5,"rangeDef":45,"undead":true},"2530":{"name":"Ghost","hitpoints":75,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":68,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":5,"rangeDef":45,"undead":true},"2531":{"name":"Ghost","hitpoints":27,"slayerLevel":1,"attackSpeed":4,"undead":true},"2532":{"name":"Ghost","hitpoints":27,"slayerLevel":1,"attackSpeed":4,"undead":true},"2533":{"name":"Ghost","hitpoints":27,"slayerLevel":1,"attackSpeed":4,"undead":true},"2534":{"name":"Ghost","hitpoints":27,"slayerLevel":1,"attackSpeed":4,"undead":true},"2536":{"name":"H.A.M. Guard","hitpoints":15,"combatLevel":12,"attackSpeed":7,"attackLevel":8,"strengthLevel":12,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5},"2537":{"name":"H.A.M. Guard","hitpoints":20,"combatLevel":18,"attackSpeed":6,"attackLevel":14,"strengthLevel":18,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":6,"slashDef":6,"rangeDef":6},"2538":{"name":"H.A.M. Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"2579":{"name":"Monk","hitpoints":15,"combatLevel":5,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"2584":{"name":"Abyssal leech","hitpoints":10,"combatLevel":41,"attackSpeed":2,"attackLevel":95,"strengthLevel":5,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":100,"rangeDef":10,"magicDef":50,"bonusAttack":100,"bonusStrength":10},"2585":{"name":"Abyssal guardian","hitpoints":55,"combatLevel":59,"attackSpeed":4,"attackLevel":30,"strengthLevel":90,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":70,"magicDef":150,"bonusAttack":15,"bonusStrength":5},"2586":{"name":"Abyssal walker","hitpoints":95,"combatLevel":81,"attackSpeed":5,"attackLevel":5,"strengthLevel":100,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":75,"slashDef":75,"crushDef":10,"rangeDef":75,"magicDef":75,"bonusAttack":5,"bonusStrength":10},"2592":{"name":"Mogre","hitpoints":48,"combatLevel":60,"slayerLevel":32,"attackSpeed":6,"attackLevel":58,"strengthLevel":55,"defenceLevel":48,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20,"poisonImmune":true,"venomImmune":true},"2593":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2594":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2595":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2596":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2597":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2598":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2599":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2600":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2601":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2602":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2603":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2604":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2605":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2606":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2607":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2608":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2609":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2610":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2611":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2612":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2613":{"name":"Boris","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2614":{"name":"Imre","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2615":{"name":"Yuri","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2616":{"name":"Joseph","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2617":{"name":"Nikolai","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2618":{"name":"Eduard","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2619":{"name":"Lev","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2620":{"name":"Georgy","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2621":{"name":"Svetlana","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2622":{"name":"Irina","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2623":{"name":"Alexis","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2624":{"name":"Milla","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2625":{"name":"Galina","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2626":{"name":"Sofiya","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2627":{"name":"Ksenia","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2628":{"name":"Yadviga","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2629":{"name":"Nikita","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2630":{"name":"Vera","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2631":{"name":"Zoja","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2632":{"name":"Liliya","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2634":{"name":"Myre Blamish Snail","hitpoints":8,"combatLevel":9,"attackSpeed":4,"defenceLevel":22,"rangeLevel":5,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2645":{"name":"Blood Blamish Snail","hitpoints":13,"combatLevel":20,"attackSpeed":6,"defenceLevel":45,"rangeLevel":12,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"bonusAttack":10,"bonusStrength":10},"2646":{"name":"Ochre Blamish Snail","hitpoints":10,"combatLevel":10,"attackSpeed":6,"defenceLevel":18,"rangeLevel":7,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2647":{"name":"Bruise Blamish Snail","hitpoints":12,"combatLevel":20,"attackSpeed":6,"defenceLevel":40,"rangeLevel":15,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2648":{"name":"Bark Blamish Snail","hitpoints":22,"combatLevel":15,"attackSpeed":6,"defenceLevel":20,"rangeLevel":10,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":30,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2649":{"name":"Myre Blamish Snail","hitpoints":13,"combatLevel":10,"attackSpeed":4,"defenceLevel":12,"rangeLevel":8,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2650":{"name":"Blood Blamish Snail","hitpoints":10,"combatLevel":20,"attackSpeed":6,"defenceLevel":30,"rangeLevel":21,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"bonusAttack":10,"bonusStrength":10},"2651":{"name":"Ochre Blamish Snail","hitpoints":20,"combatLevel":15,"attackSpeed":6,"defenceLevel":25,"rangeLevel":8,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2652":{"name":"Bruise Blamish Snail","hitpoints":15,"combatLevel":20,"attackSpeed":6,"defenceLevel":27,"rangeLevel":20,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2694":{"name":"Sheep","hitpoints":7,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2790":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"2791":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"2792":{"name":"Cow calf","hitpoints":6,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2793":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"2794":{"name":"Cow calf","hitpoints":6,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2795":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"2801":{"name":"Cow calf","hitpoints":6,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2804":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2805":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2806":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2827":{"name":"Bat","hitpoints":8,"combatLevel":6,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"2834":{"name":"Giant bat","hitpoints":32,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":12,"rangeDef":8,"magicDef":10},"2837":{"name":"Unicorn","hitpoints":19,"combatLevel":15,"attackSpeed":4,"attackLevel":11,"strengthLevel":13,"defenceLevel":13,"rangeLevel":1,"magicLevel":1},"2838":{"name":"Grizzly bear","hitpoints":27,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1},"2839":{"name":"Black bear","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":16,"defenceLevel":13},"2840":{"name":"Earth warrior","hitpoints":54,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":42,"strengthLevel":42,"defenceLevel":42,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"2841":{"name":"Ice warrior","hitpoints":59,"combatLevel":57,"attackSpeed":4,"attackLevel":47,"strengthLevel":47,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"2842":{"name":"Ice warrior","hitpoints":59,"combatLevel":57,"attackSpeed":4,"attackLevel":47,"strengthLevel":47,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"2843":{"name":"Otherworldly being","hitpoints":66,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":56,"strengthLevel":56,"defenceLevel":46,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":20,"rangeDef":15},"2844":{"name":"Magic axe","hitpoints":45,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":38,"strengthLevel":38,"defenceLevel":29,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":5,"crushDef":15,"rangeDef":10,"magicDef":5},"2845":{"name":"Snake","hitpoints":6,"combatLevel":5,"attackSpeed":4,"attackLevel":4,"strengthLevel":5,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"2848":{"name":"Monkey","hitpoints":6,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2849":{"name":"Black unicorn","hitpoints":29,"combatLevel":27,"attackSpeed":4,"attackLevel":21,"strengthLevel":23,"defenceLevel":23,"rangeLevel":1,"magicLevel":1},"2851":{"name":"Ice warrior","hitpoints":59,"combatLevel":57,"attackSpeed":4,"attackLevel":47,"strengthLevel":47,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"2853":{"name":"Shadow warrior","hitpoints":67,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":36,"strengthLevel":36,"defenceLevel":33,"stabDef":43,"slashDef":31,"crushDef":19,"rangeDef":38,"magicDef":15,"bonusAttack":20,"bonusStrength":26},"2854":{"name":"Rat","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1},"2855":{"name":"Rat","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1},"2856":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2857":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2858":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2859":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2860":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2861":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2862":{"name":"Giant rat","hitpoints":10,"combatLevel":6,"slayerLevel":1,"attackSpeed":4,"attackLevel":6,"strengthLevel":5,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2863":{"name":"Giant rat","hitpoints":10,"combatLevel":6,"slayerLevel":1,"attackSpeed":4,"attackLevel":6,"strengthLevel":5,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2864":{"name":"Giant rat","hitpoints":10,"combatLevel":6,"slayerLevel":1,"attackSpeed":4,"attackLevel":6,"strengthLevel":5,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2865":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2866":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2867":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2885":{"name":"Monk of Zamorak","hitpoints":20,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":22,"rangeLevel":1,"magicLevel":25},"2886":{"name":"Monk of Zamorak","hitpoints":10,"combatLevel":17,"attackSpeed":4,"attackLevel":8,"strengthLevel":8,"defenceLevel":12,"rangeLevel":1,"magicLevel":25},"2887":{"name":"Asyff","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":38,"strengthLevel":38,"defenceLevel":42,"rangeLevel":1,"magicLevel":40},"2892":{"name":"Brian","hitpoints":27,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stab":11,"slashDef":3,"crushDef":2,"bonusStrength":12},"2916":{"name":"Waterfiend","hitpoints":130,"combatLevel":115,"slayerLevel":1,"attackSpeed":4,"defenceLevel":128,"rangeLevel":105,"magicLevel":105,"stabDef":100,"slashDef":100,"crushDef":10,"rangeDef":100,"magicDef":100,"poisonImmune":true,"venomImmune":true},"2917":{"name":"Waterfiend","hitpoints":130,"combatLevel":115,"slayerLevel":1,"attackSpeed":4,"defenceLevel":128,"rangeLevel":105,"magicLevel":105,"stabDef":100,"slashDef":100,"crushDef":10,"rangeDef":100,"magicDef":100,"poisonImmune":true,"venomImmune":true},"2918":{"name":"Brutal green dragon","hitpoints":175,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":168,"defenceLevel":168,"magicLevel":168,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"2919":{"name":"Mithril dragon","hitpoints":254,"combatLevel":304,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":268,"rangeLevel":168,"magicLevel":168,"stabDef":50,"slashDef":100,"crushDef":70,"rangeDef":90,"magicDef":30,"venomImmune":true,"dragon":true},"2920":{"name":"Confused barbarian","hitpoints":124,"combatLevel":132,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"2921":{"name":"Lost barbarian","hitpoints":124,"combatLevel":132,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1},"2946":{"name":"Nail beast","hitpoints":55,"combatLevel":69,"attackSpeed":8,"attackLevel":150,"strengthLevel":6,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2947":{"name":"Nail beast","hitpoints":65,"combatLevel":98,"attackSpeed":8,"attackLevel":215,"strengthLevel":16,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"2948":{"name":"Nail beast","hitpoints":75,"combatLevel":141,"attackSpeed":8,"attackLevel":320,"strengthLevel":26,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"2954":{"name":"Zamorak wizard","hitpoints":73,"combatLevel":65,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":80,"magicDef":3},"2955":{"name":"Saradomin wizard","hitpoints":120,"combatLevel":108,"attackSpeed":4,"attackLevel":100,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":80,"magicDef":30,"bonusAttack":40,"bonusStrength":40},"2978":{"name":"Big Snake","hitpoints":120,"combatLevel":84,"attackSpeed":6,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"bonusAttack":66,"bonusStrength":62},"2992":{"name":"Undead cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"undead":true},"2993":{"name":"Undead chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"undead":true},"2994":{"name":"Giant lobster","hitpoints":32,"combatLevel":32,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":26,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":5,"rangeDef":5},"2999":{"name":"Tortured soul","hitpoints":51,"combatLevel":59,"slayerLevel":1,"attackSpeed":4,"attackLevel":52,"strengthLevel":62,"defenceLevel":38,"rangeLevel":1,"magicLevel":1,"undead":true},"3010":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3011":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3015":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3016":{"name":"Shadow spider","hitpoints":55,"combatLevel":52,"slayerLevel":1,"attackSpeed":4,"attackLevel":44,"strengthLevel":42,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":15,"crushDef":10,"rangeDef":15,"magicDef":15},"3017":{"name":"Giant spider","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3018":{"name":"Giant spider","hitpoints":32,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":24,"defenceLevel":21,"rangeLevel":1,"magicLevel":1},"3019":{"name":"Spider","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3020":{"name":"Jungle spider","hitpoints":50,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":37,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"3021":{"name":"Deadly red spider","hitpoints":35,"combatLevel":34,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":16,"crushDef":7,"rangeDef":16,"magicDef":12},"3022":{"name":"Ice spider","hitpoints":65,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":55,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":17,"crushDef":12,"rangeDef":13,"magicDef":13},"3023":{"name":"Poison spider","hitpoints":64,"combatLevel":64,"slayerLevel":1,"attackSpeed":6,"attackLevel":50,"strengthLevel":52,"defenceLevel":58,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":17,"crushDef":10,"rangeDef":14,"magicDef":14},"3024":{"name":"Scorpion","hitpoints":17,"combatLevel":14,"slayerLevel":1,"attackSpeed":6,"attackLevel":11,"strengthLevel":12,"defenceLevel":11,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"3025":{"name":"Poison Scorpion","hitpoints":23,"combatLevel":20,"slayerLevel":1,"attackSpeed":4,"attackLevel":16,"strengthLevel":17,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"3026":{"name":"Pit Scorpion","hitpoints":32,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":23,"strengthLevel":23,"defenceLevel":23,"rangeLevel":1,"magicLevel":1,"slashDef":5,"crushDef":5},"3027":{"name":"King Scorpion","hitpoints":30,"combatLevel":32,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":29,"defenceLevel":23,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"3028":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3029":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3030":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3031":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3032":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3033":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3034":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3035":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3036":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3037":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3038":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3039":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3040":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3041":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3042":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3043":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3044":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3045":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3046":{"name":"Goblin","hitpoints":16,"combatLevel":13,"slayerLevel":1,"attackSpeed":6,"attackLevel":12,"strengthLevel":13,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":8,"rangeDef":4,"magicDef":4},"3047":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3048":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3049":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3050":{"name":"Hobgoblin","hitpoints":49,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":33,"strengthLevel":31,"defenceLevel":36,"rangeLevel":1,"magicLevel":1,"bonusAttack":8,"bonusStrength":10},"3051":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3052":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3053":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3054":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3055":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3056":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3057":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3058":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3059":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3060":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3061":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3062":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3064":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3065":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3066":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3067":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3068":{"name":"Barbarian","hitpoints":24,"combatLevel":15,"attackSpeed":4,"attackLevel":15,"strengthLevel":3,"defenceLevel":10,"rangeLevel":15,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3069":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3070":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3071":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3072":{"name":"Barbarian","hitpoints":20,"combatLevel":9,"attackSpeed":4,"attackLevel":6,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":10,"crushDef":10,"rangeDef":5,"bonusAttack":9,"bonusStrength":16},"3073":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3074":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3075":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3076":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3078":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3079":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3080":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3081":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3082":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3083":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3084":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3085":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3086":{"name":"Farmer","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":3,"strengthLevel":4,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":6},"3087":{"name":"Farmer","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":3,"strengthLevel":4,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":6},"3088":{"name":"Farmer","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":3,"strengthLevel":4,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":6},"3092":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"3093":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"3094":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3096":{"name":"Barbarian","combatLevel":7},"3097":{"name":"Wizard","hitpoints":14,"combatLevel":9,"attackSpeed":3,"attackLevel":8,"strengthLevel":8,"defenceLevel":5,"rangeLevel":1,"magicLevel":10,"magicDef":3},"3098":{"name":"Druid","hitpoints":30,"combatLevel":33,"attackSpeed":4,"attackLevel":28,"strengthLevel":28,"defenceLevel":32,"rangeLevel":1,"magicLevel":25},"3100":{"name":"Warrior woman","hitpoints":20,"combatLevel":24,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"3101":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3102":{"name":"Barbarian","hitpoints":14,"combatLevel":8,"attackSpeed":6,"attackLevel":6,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"bonusAttack":8,"bonusStrength":10},"3103":{"name":"Al-Kharid warrior","hitpoints":19,"combatLevel":9,"attackSpeed":4,"attackLevel":7,"strengthLevel":5,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stab":10,"slash":10,"crush":10,"range":10,"magic":10,"stabDef":12,"slashDef":15,"crushDef":10,"rangeDef":12,"bonusAttack":10,"bonusStrength":9},"3104":{"name":"Paladin","hitpoints":66,"combatLevel":62,"attackSpeed":5,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"3105":{"name":"Paladin","hitpoints":66,"combatLevel":62,"attackSpeed":5,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"3106":{"name":"Hero","hitpoints":82,"combatLevel":69,"attackSpeed":5,"attackLevel":54,"strengthLevel":55,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"3108":{"name":"Knight of Ardougne","hitpoints":52,"combatLevel":46,"attackSpeed":5,"attackLevel":38,"strengthLevel":40,"defenceLevel":31,"rangeLevel":1,"magicLevel":1,"stabDef":39,"slashDef":40,"crushDef":36,"rangeDef":36,"bonusAttack":8,"bonusStrength":10},"3109":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3110":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3111":{"name":"Knight of Ardougne","hitpoints":52,"combatLevel":46,"attackSpeed":5,"attackLevel":38,"strengthLevel":40,"defenceLevel":31,"rangeLevel":1,"magicLevel":1,"stabDef":39,"slashDef":40,"crushDef":36,"rangeDef":36,"bonusAttack":8,"bonusStrength":10},"3112":{"name":"Archer","hitpoints":50,"combatLevel":37,"attackSpeed":6,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":40,"magicLevel":1,"range":19,"stabDef":18,"slashDef":23,"crushDef":27,"rangeDef":19,"magicDef":10,"bonusRangeStrength":8},"3116":{"name":"Tz-Kih","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"3117":{"name":"Tz-Kih","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"3118":{"name":"Tz-Kek","hitpoints":20,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":60,"defenceLevel":30,"rangeLevel":30,"magicLevel":60},"3119":{"name":"Tz-Kek","hitpoints":20,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":60,"defenceLevel":30,"rangeLevel":30,"magicLevel":60},"3120":{"name":"Tz-Kek","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"3121":{"name":"Tok-Xil","hitpoints":40,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":120,"defenceLevel":60,"rangeLevel":120,"magicLevel":60},"3122":{"name":"Tok-Xil","hitpoints":40,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":120,"defenceLevel":60,"rangeLevel":120,"magicLevel":60},"3123":{"name":"Yt-MejKot","hitpoints":80,"combatLevel":180,"slayerLevel":1,"attackSpeed":4,"attackLevel":160,"strengthLevel":240,"defenceLevel":120,"rangeLevel":240,"magicLevel":120},"3124":{"name":"Yt-MejKot","hitpoints":80,"combatLevel":180,"slayerLevel":1,"attackSpeed":4,"attackLevel":160,"strengthLevel":240,"defenceLevel":120,"rangeLevel":240,"magicLevel":120},"3125":{"name":"Ket-Zek","hitpoints":160,"combatLevel":360,"slayerLevel":1,"attackSpeed":4,"attackLevel":320,"strengthLevel":480,"defenceLevel":240,"rangeLevel":480,"magicLevel":240,"magic":60},"3126":{"name":"Ket-Zek","hitpoints":160,"combatLevel":360,"slayerLevel":1,"attackSpeed":4,"attackLevel":320,"strengthLevel":480,"defenceLevel":240,"rangeLevel":480,"magicLevel":240,"magic":60},"3127":{"name":"TzTok-Jad","hitpoints":250,"combatLevel":702,"slayerLevel":1,"attackSpeed":8,"attackLevel":640,"strengthLevel":960,"defenceLevel":480,"rangeLevel":960,"magicLevel":480,"magic":60},"3128":{"name":"Yt-HurKot","hitpoints":60,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":60,"rangeLevel":120,"magicLevel":120,"rangeDef":100,"magicDef":100},"3129":{"name":"K'ril Tsutsaroth","hitpoints":255,"combatLevel":650,"slayerLevel":1,"attackSpeed":6,"attackLevel":340,"strengthLevel":300,"defenceLevel":270,"rangeLevel":1,"magicLevel":200,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":80,"magicDef":130,"bonusAttack":160,"bonusStrength":31,"demon":true},"3130":{"name":"Tstanon Karlak","hitpoints":142,"combatLevel":145,"slayerLevel":1,"attackSpeed":5,"attackLevel":124,"strengthLevel":118,"defenceLevel":125,"rangeLevel":50,"magicLevel":50,"bonusStrength":14,"demon":true},"3131":{"name":"Zakl'n Gritch","hitpoints":150,"combatLevel":142,"slayerLevel":1,"attackSpeed":5,"attackLevel":83,"strengthLevel":76,"defenceLevel":127,"rangeLevel":150,"magicLevel":50,"range":20,"bonusRangeStrength":20,"demon":true},"3132":{"name":"Balfrug Kreeyath","hitpoints":161,"combatLevel":151,"slayerLevel":1,"attackSpeed":5,"attackLevel":115,"strengthLevel":60,"defenceLevel":153,"rangeLevel":1,"magicLevel":150,"magicDef":10,"demon":true},"3133":{"name":"Hellhound","hitpoints":116,"combatLevel":127,"slayerLevel":1,"attackSpeed":4,"attackLevel":107,"strengthLevel":116,"defenceLevel":106,"rangeLevel":1,"magicLevel":1},"3134":{"name":"Imp","hitpoints":10,"combatLevel":7,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":6,"rangeLevel":1,"magicLevel":1},"3135":{"name":"Werewolf","hitpoints":92,"combatLevel":93,"slayerLevel":1,"attackSpeed":4,"attackLevel":77,"strengthLevel":76,"defenceLevel":85,"rangeLevel":1,"magicLevel":1},"3136":{"name":"Werewolf","hitpoints":92,"combatLevel":93,"slayerLevel":1,"attackSpeed":4,"attackLevel":77,"strengthLevel":76,"defenceLevel":85,"rangeLevel":1,"magicLevel":1},"3137":{"name":"Feral Vampyre","hitpoints":60,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":66,"defenceLevel":81,"rangeLevel":1,"magicLevel":1},"3138":{"name":"Bloodveld","hitpoints":134,"combatLevel":81,"slayerLevel":50,"attackSpeed":4,"attackLevel":80,"strengthLevel":46,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3139":{"name":"Pyrefiend","hitpoints":48,"combatLevel":48,"slayerLevel":30,"attackSpeed":4,"attackLevel":60,"strengthLevel":36,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"3140":{"name":"Icefiend","hitpoints":20,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":12,"strengthLevel":16,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"3141":{"name":"Gorak","hitpoints":128,"combatLevel":149,"attackSpeed":4,"attackLevel":133,"strengthLevel":126,"defenceLevel":135,"rangeLevel":1,"magicLevel":1},"3159":{"name":"Spiritual warrior","hitpoints":100,"combatLevel":115,"slayerLevel":68,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"3160":{"name":"Spiritual ranger","hitpoints":120,"combatLevel":118,"slayerLevel":63,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":140,"magicLevel":1},"3161":{"name":"Spiritual mage","hitpoints":75,"combatLevel":121,"slayerLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":61,"rangeLevel":1,"magicLevel":180},"3162":{"name":"Kree'arra","hitpoints":255,"combatLevel":580,"slayerLevel":1,"attackSpeed":3,"attackLevel":300,"strengthLevel":200,"defenceLevel":260,"rangeLevel":380,"magicLevel":200,"range":120,"stabDef":180,"slashDef":180,"crushDef":180,"rangeDef":200,"magicDef":200,"bonusAttack":136,"bonusStrength":12,"bonusRangeStrength":50},"3163":{"name":"Wingman Skree","hitpoints":121,"combatLevel":143,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":50,"defenceLevel":160,"rangeLevel":100,"magicLevel":150,"bonusAttack":45,"bonusStrength":25},"3164":{"name":"Flockleader Geerin","hitpoints":132,"combatLevel":149,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":175,"rangeLevel":150,"magicLevel":50,"range":60,"bonusRangeStrength":35},"3165":{"name":"Flight Kilisa","hitpoints":133,"combatLevel":159,"slayerLevel":1,"attackSpeed":5,"attackLevel":124,"strengthLevel":118,"defenceLevel":175,"rangeLevel":169,"magicLevel":50,"bonusStrength":14},"3166":{"name":"Spiritual warrior","hitpoints":98,"combatLevel":123,"slayerLevel":68,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":120,"rangeLevel":141,"magicLevel":1,"stabDef":23,"slashDef":25,"crushDef":13,"rangeDef":35,"magicDef":35},"3167":{"name":"Spiritual ranger","hitpoints":89,"combatLevel":127,"slayerLevel":63,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"stabDef":17,"slashDef":16,"crushDef":8,"rangeDef":41,"magicDef":35},"3168":{"name":"Spiritual mage","hitpoints":75,"combatLevel":123,"slayerLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":111,"rangeLevel":1,"magicLevel":150,"stabDef":9,"slashDef":12,"crushDef":5,"rangeDef":28,"magicDef":45},"3169":{"name":"Aviansie","hitpoints":70,"combatLevel":69,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":71,"magicLevel":1},"3170":{"name":"Aviansie","hitpoints":83,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":85,"magicLevel":1},"3171":{"name":"Aviansie","hitpoints":86,"combatLevel":84,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":93,"magicLevel":1},"3172":{"name":"Aviansie","hitpoints":86,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":76,"magicLevel":1},"3173":{"name":"Aviansie","hitpoints":95,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":90,"magicLevel":1},"3174":{"name":"Aviansie","hitpoints":98,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":99,"magicLevel":1},"3175":{"name":"Aviansie","hitpoints":124,"combatLevel":137,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":160,"rangeLevel":136,"magicLevel":1},"3176":{"name":"Aviansie","hitpoints":139,"combatLevel":148,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":160,"rangeLevel":151,"magicLevel":1},"3177":{"name":"Aviansie","hitpoints":63,"combatLevel":71,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":55,"rangeLevel":86,"magicLevel":1},"3178":{"name":"Aviansie","hitpoints":67,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":55,"rangeLevel":89,"magicLevel":1},"3179":{"name":"Aviansie","hitpoints":77,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":55,"rangeLevel":96,"magicLevel":1},"3180":{"name":"Aviansie","hitpoints":69,"combatLevel":89,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":115,"rangeLevel":89,"magicLevel":1},"3181":{"name":"Aviansie","hitpoints":75,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":115,"rangeLevel":96,"magicLevel":1},"3182":{"name":"Aviansie","hitpoints":79,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":115,"rangeLevel":101,"magicLevel":1},"3183":{"name":"Aviansie","hitpoints":115,"combatLevel":131,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":175,"rangeLevel":143,"magicLevel":1},"3184":{"name":"Dagannoth spawn","hitpoints":35,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":35,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3185":{"name":"Dagannoth","hitpoints":95,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50},"3200":{"name":"Arhein","hitpoints":6,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3233":{"name":"Leech","hitpoints":45,"combatLevel":52,"attackSpeed":4,"attackLevel":80,"strengthLevel":20,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"3234":{"name":"Feral Vampyre","hitpoints":50,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":70,"defenceLevel":65,"rangeLevel":1,"magicLevel":50},"3237":{"name":"Feral Vampyre","hitpoints":40,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":60,"defenceLevel":55,"rangeLevel":1,"magicLevel":40},"3245":{"name":"Guard","hitpoints":22,"combatLevel":20,"attackSpeed":5,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3251":{"name":"Watchman","hitpoints":22,"combatLevel":33,"attackSpeed":6,"attackLevel":31,"strengthLevel":31,"defenceLevel":31,"rangeLevel":1,"magicLevel":1,"stabDef":24,"slashDef":14,"crushDef":19,"rangeDef":16},"3252":{"name":"Soldier","hitpoints":22,"combatLevel":28,"attackSpeed":5,"attackLevel":26,"strengthLevel":25,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":24,"slashDef":14,"crushDef":19,"rangeDef":16,"bonusAttack":8,"bonusStrength":10},"3255":{"name":"Shipyard worker","hitpoints":10,"combatLevel":11,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"bonusAttack":6,"bonusStrength":6},"3256":{"name":"Shipyard worker","hitpoints":10,"combatLevel":11,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"bonusAttack":6,"bonusStrength":6},"3259":{"name":"Market Guard","hitpoints":22,"combatLevel":20,"attackSpeed":5,"attackLevel":17,"strengthLevel":18,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":24,"slashDef":14,"crushDef":19,"rangeDef":16,"magicDef":4,"bonusAttack":9,"bonusStrength":7},"3260":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3263":{"name":"Drunken man","hitpoints":7,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":3,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3264":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3265":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3266":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3267":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3268":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3269":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3270":{"name":"Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3271":{"name":"Guard","hitpoints":22,"combatLevel":19,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3272":{"name":"Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3273":{"name":"Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3274":{"name":"Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3275":{"name":"Gardener","hitpoints":7,"combatLevel":4,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"3276":{"name":"Gardener","hitpoints":7,"combatLevel":3,"attackSpeed":4,"attackLevel":2,"strengthLevel":1,"defenceLevel":5,"rangeLevel":1,"magicLevel":1},"3279":{"name":"Cuffs","hitpoints":7,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"magicDef":5},"3280":{"name":"Narf","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3281":{"name":"Rusty","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3282":{"name":"Jeff","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3283":{"name":"Guard","hitpoints":22,"combatLevel":19,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3284":{"name":"Hengel","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3285":{"name":"Anja","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3286":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3287":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3288":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3289":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3313":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3314":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3315":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3328":{"name":"Earth Warrior Champion","hitpoints":108,"combatLevel":102,"attackSpeed":4,"attackLevel":84,"strengthLevel":84,"defenceLevel":84,"rangeLevel":1,"magicLevel":1},"3329":{"name":"Giant Champion","hitpoints":70,"combatLevel":56,"attackSpeed":4,"attackLevel":36,"strengthLevel":44,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"3330":{"name":"Ghoul Champion","hitpoints":100,"combatLevel":85,"attackSpeed":4},"3353":{"name":"Goblin Champion","hitpoints":32,"combatLevel":24,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":14,"rangeLevel":1,"magicLevel":26},"3354":{"name":"Hobgoblin Champion","hitpoints":58,"combatLevel":56,"attackSpeed":4,"attackLevel":44,"strengthLevel":48,"defenceLevel":48,"rangeLevel":44,"magicLevel":1},"3355":{"name":"Imp Champion","hitpoints":40,"combatLevel":14,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":5,"magicLevel":1},"3356":{"name":"Jogre Champion","hitpoints":120,"combatLevel":107,"attackSpeed":4,"attackLevel":86,"strengthLevel":86,"defenceLevel":86,"rangeLevel":1,"magicLevel":1},"3357":{"name":"Lesser Demon Champion","hitpoints":148,"combatLevel":162,"attackSpeed":4,"attackLevel":136,"strengthLevel":140,"defenceLevel":142,"rangeLevel":1,"magicLevel":136},"3358":{"name":"Skeleton Champion","hitpoints":58,"combatLevel":40,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":34,"rangeLevel":36,"magicLevel":1},"3359":{"name":"Zombies Champion","hitpoints":60,"combatLevel":51,"attackSpeed":4,"attackLevel":38,"strengthLevel":42,"defenceLevel":42,"rangeLevel":1,"magicLevel":1},"3360":{"name":"Leon d'Cour","hitpoints":123,"combatLevel":141,"attackSpeed":4},"3361":{"name":"Kourend guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"3400":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3420":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3421":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3422":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3423":{"name":"Grizzly bear","hitpoints":35,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"3424":{"name":"Grizzly bear cub","hitpoints":35,"combatLevel":33,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":26,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3425":{"name":"Grizzly bear cub","hitpoints":35,"combatLevel":36,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":28,"rangeLevel":1,"magicLevel":1},"3426":{"name":"Dire Wolf","hitpoints":85,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":1},"3428":{"name":"Iorwerth Archer","hitpoints":105,"combatLevel":90,"slayerLevel":1,"attackSpeed":5,"attackLevel":10,"strengthLevel":10,"defenceLevel":80,"rangeLevel":90,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"3429":{"name":"Iorwerth Warrior","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":80,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"3433":{"name":"Tyras guard","hitpoints":110,"combatLevel":110,"attackSpeed":5,"attackLevel":85,"strengthLevel":95,"defenceLevel":100,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":30},"3434":{"name":"Tyras guard","hitpoints":110,"combatLevel":110,"attackSpeed":5,"attackLevel":85,"strengthLevel":95,"defenceLevel":100,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":30},"3443":{"name":"Lucien","hitpoints":17,"combatLevel":14,"attackSpeed":4,"attackLevel":12,"strengthLevel":11,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":6,"slashDef":8,"crushDef":7,"rangeDef":4,"bonusAttack":5,"bonusStrength":4},"3444":{"name":"Lucien","hitpoints":17,"combatLevel":14,"attackSpeed":4,"attackLevel":12,"strengthLevel":11,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":6,"slashDef":8,"crushDef":7,"rangeDef":4,"bonusAttack":5,"bonusStrength":4},"3445":{"name":"Guardian of Armadyl","hitpoints":50,"combatLevel":45,"attackSpeed":5,"attackLevel":37,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":43,"slashDef":55,"crushDef":50,"rangeDef":51,"bonusAttack":14,"bonusStrength":16},"3446":{"name":"Guardian of Armadyl","hitpoints":40,"combatLevel":43,"attackSpeed":5,"attackLevel":37,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":43,"slashDef":55,"crushDef":50,"rangeDef":51,"bonusAttack":14,"bonusStrength":16},"3448":{"name":"Fire Warrior of Lesarkus","hitpoints":59,"combatLevel":84,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":78,"rangeLevel":1,"magicLevel":62,"stabDef":34,"slashDef":37,"crushDef":35,"rangeDef":35},"3449":{"name":"Shadow Hound","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"3456":{"name":"Fareed","hitpoints":130,"combatLevel":167,"attackSpeed":4,"attackLevel":190,"strengthLevel":120,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"bonusStrength":120},"3458":{"name":"Kamil","hitpoints":130,"combatLevel":154,"slayerLevel":1,"attackSpeed":4,"attackLevel":190,"strengthLevel":80,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":60,"crushDef":35,"bonusAttack":60,"bonusStrength":100},"3459":{"name":"Dessous","hitpoints":200,"combatLevel":139,"slayerLevel":1,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"3460":{"name":"Dessous","hitpoints":200,"combatLevel":139,"slayerLevel":1,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"3473":{"name":"The Inadequacy","hitpoints":180,"combatLevel":343,"attackSpeed":4,"attackLevel":564,"strengthLevel":170,"defenceLevel":240,"rangeLevel":170,"magicLevel":1},"3474":{"name":"The Everlasting","hitpoints":230,"combatLevel":223,"attackSpeed":6,"attackLevel":187,"strengthLevel":231,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"3475":{"name":"The Untouchable","hitpoints":90,"combatLevel":274,"attackSpeed":6,"attackLevel":187,"strengthLevel":255,"defenceLevel":434,"rangeLevel":1,"magicLevel":1},"3476":{"name":"The Illusive","hitpoints":140,"combatLevel":108,"attackSpeed":6},"3477":{"name":"A Doubt","hitpoints":50,"combatLevel":78,"attackSpeed":6},"3478":{"name":"The Illusive","hitpoints":140,"combatLevel":108,"attackSpeed":6},"3481":{"name":"Count Draynor","hitpoints":35,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":1,"crushDef":3},"3482":{"name":"Count Draynor","hitpoints":35,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":1,"crushDef":3},"3484":{"name":"Monk of Zamorak","hitpoints":20,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":22,"rangeLevel":1,"magicLevel":25},"3485":{"name":"Monk of Zamorak","hitpoints":10,"combatLevel":17,"attackSpeed":4,"attackLevel":8,"strengthLevel":8,"defenceLevel":12,"rangeLevel":1,"magicLevel":25},"3486":{"name":"Monk of Zamorak","hitpoints":25,"combatLevel":30,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":40},"3508":{"name":"Bouncer","hitpoints":120,"combatLevel":160,"attackSpeed":4,"attackLevel":145,"strengthLevel":145,"defenceLevel":145,"rangeLevel":1,"magicLevel":1},"3509":{"name":"Bouncer","hitpoints":120,"combatLevel":160,"attackSpeed":4,"attackLevel":145,"strengthLevel":145,"defenceLevel":145,"rangeLevel":1,"magicLevel":1},"3517":{"name":"Renegade Knight","hitpoints":48,"combatLevel":37,"attackSpeed":4,"attackLevel":28,"strengthLevel":28,"defenceLevel":28,"rangeLevel":1,"magicLevel":1,"stabDef":99,"slashDef":82,"crushDef":62,"bonusAttack":20,"bonusStrength":16},"3518":{"name":"Thrantax the Mighty","hitpoints":80,"combatLevel":92,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"3527":{"name":"Sir Mordred","hitpoints":38,"combatLevel":39,"attackSpeed":4,"attackLevel":33,"strengthLevel":33,"defenceLevel":33,"rangeLevel":1,"magicLevel":1,"stabDef":99,"slashDef":82,"crushDef":45,"bonusAttack":20,"bonusStrength":16},"3544":{"name":"Desert snake","hitpoints":6,"combatLevel":5,"attackSpeed":4,"attackLevel":4,"strengthLevel":5,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3549":{"name":"Menaphite Thug","hitpoints":60,"combatLevel":55,"attackSpeed":4,"attackLevel":60,"strengthLevel":50,"defenceLevel":20,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":4,"bonusStrength":9},"3550":{"name":"Menaphite Thug","hitpoints":60,"combatLevel":55,"attackSpeed":4,"attackLevel":60,"strengthLevel":50,"defenceLevel":20,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":4,"bonusStrength":9},"3551":{"name":"Tough Guy","hitpoints":75,"combatLevel":75,"attackSpeed":4,"attackLevel":85,"strengthLevel":50,"defenceLevel":50,"magicLevel":80,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9,"poisonImmune":true},"3565":{"name":"Skeleton","combatLevel":22,"slayerLevel":1,"attackSpeed":4,"undead":true},"3600":{"name":"Frogeel","hitpoints":90,"combatLevel":103,"attackSpeed":4,"attackLevel":91,"strengthLevel":89,"defenceLevel":90,"rangeLevel":1,"magicLevel":1},"3601":{"name":"Unicow","hitpoints":24,"combatLevel":25,"attackSpeed":4,"attackLevel":18,"strengthLevel":26,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"3602":{"name":"Spidine","hitpoints":35,"combatLevel":42,"attackSpeed":4,"attackLevel":37,"strengthLevel":40,"defenceLevel":36,"rangeLevel":1,"magicLevel":1},"3603":{"name":"Swordchick","hitpoints":35,"combatLevel":46,"attackSpeed":4,"attackLevel":41,"strengthLevel":42,"defenceLevel":45,"rangeLevel":1,"magicLevel":1},"3604":{"name":"Jubster","hitpoints":60,"combatLevel":87,"attackSpeed":4,"attackLevel":82,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1},"3605":{"name":"Newtroost","hitpoints":18,"combatLevel":19,"attackSpeed":4,"attackLevel":18,"strengthLevel":16,"defenceLevel":17,"rangeLevel":1,"magicLevel":1},"3607":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3608":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3609":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3612":{"name":"Possessed pickaxe","hitpoints":40,"combatLevel":50,"attackSpeed":4,"attackLevel":40,"strengthLevel":55,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"3615":{"name":"Skeletal miner","hitpoints":39,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":37,"defenceLevel":38,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"3616":{"name":"Treus Dayth","hitpoints":100,"combatLevel":95,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5},"3651":{"name":"Gardener","hitpoints":7,"combatLevel":4,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"3661":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3662":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3663":{"name":"Rooster","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3664":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3665":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3674":{"name":"Ragnar","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3675":{"name":"Einar","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3676":{"name":"Alrik","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3677":{"name":"Thorhild","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3678":{"name":"Halla","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3681":{"name":"Rannveig","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3682":{"name":"Thora","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3683":{"name":"Valgerd","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3684":{"name":"Skraeling","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3685":{"name":"Broddi","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3686":{"name":"Skraeling","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3687":{"name":"Ragnvald","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3690":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3691":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3692":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3693":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3694":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3695":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3696":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3697":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3698":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3699":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3707":{"name":"Feral Vampyre","hitpoints":80,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":30,"defenceLevel":60,"rangeLevel":1,"magicLevel":1},"3708":{"name":"Feral Vampyre","hitpoints":80,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":30,"defenceLevel":60,"rangeLevel":1,"magicLevel":1},"3709":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3710":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3711":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3712":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3713":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3714":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3715":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3716":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3717":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3718":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3719":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3720":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3721":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3722":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3723":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3724":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3725":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3726":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3727":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3728":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3729":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3730":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3731":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3732":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3734":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3735":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3736":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3737":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3738":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3739":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3748":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3749":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3750":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3751":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3752":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3753":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3754":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3755":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3756":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3757":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3758":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3759":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3760":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3761":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3762":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3763":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3851":{"name":"Moss giant","hitpoints":85,"combatLevel":48,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"3852":{"name":"Moss giant","hitpoints":85,"combatLevel":48,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"3863":{"name":"Jake","hitpoints":50,"combatLevel":37,"attackSpeed":4,"attackLevel":27,"strengthLevel":31,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3865":{"name":"Wilson","hitpoints":50,"combatLevel":37,"attackSpeed":4,"attackLevel":27,"strengthLevel":31,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3869":{"name":"Palmer","hitpoints":50,"combatLevel":37,"attackSpeed":4,"attackLevel":27,"strengthLevel":31,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3901":{"name":"Fox","hitpoints":30,"combatLevel":19,"attackSpeed":4,"attackLevel":1,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":30,"magicDef":30,"bonusAttack":30,"bonusStrength":30},"3902":{"name":"Bunny","hitpoints":5,"combatLevel":2},"3903":{"name":"Bunny","hitpoints":5,"combatLevel":2},"3908":{"name":"Bear Cub","hitpoints":20,"combatLevel":15,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":15,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3909":{"name":"Bear Cub","hitpoints":20,"combatLevel":15,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":15,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3910":{"name":"Unicorn Foal","hitpoints":15,"combatLevel":12,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3911":{"name":"Black unicorn Foal","hitpoints":25,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1},"3912":{"name":"Wolf","hitpoints":69,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":55,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"3922":{"name":"The Draugen","hitpoints":60,"combatLevel":69,"attackSpeed":4,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":500,"magicDef":500,"poisonImmune":true,"venomImmune":true,"undead":true},"3938":{"name":"Freidir","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3939":{"name":"Borrokar","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3940":{"name":"Lanzig","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3943":{"name":"Lensa","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3944":{"name":"Jennella","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3949":{"name":"Market Guard","hitpoints":50,"combatLevel":48,"attackSpeed":3,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":40,"bonusStrength":40},"3950":{"name":"Warrior","hitpoints":50,"combatLevel":48,"attackSpeed":3,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":40,"bonusStrength":40},"3957":{"name":"Ungadulu","hitpoints":65,"combatLevel":70,"attackSpeed":4,"attackLevel":57,"strengthLevel":65,"defenceLevel":61,"magicLevel":65,"bonusStrength":3,"bonusRangeStrength":7},"3958":{"name":"Ungadulu","hitpoints":150,"combatLevel":169,"attackSpeed":4,"attackLevel":147,"strengthLevel":147,"defenceLevel":147,"bonusStrength":3,"bonusRangeStrength":7},"3959":{"name":"Jungle savage","hitpoints":90,"combatLevel":90,"attackSpeed":4,"attackLevel":76,"strengthLevel":76,"defenceLevel":76,"bonusAttack":8,"bonusStrength":10},"3962":{"name":"Nezikchened","hitpoints":150,"combatLevel":187,"attackSpeed":5,"attackLevel":165,"strengthLevel":168,"defenceLevel":167,"rangeLevel":160,"magicLevel":160,"demon":true},"3963":{"name":"Viyeldi","hitpoints":80,"combatLevel":79,"attackSpeed":4,"attackLevel":62,"strengthLevel":66,"defenceLevel":70,"bonusAttack":7,"bonusStrength":3},"3964":{"name":"San Tojalon","hitpoints":120,"combatLevel":106,"attackSpeed":4,"attackLevel":86,"strengthLevel":84,"defenceLevel":86,"stabDef":18,"slashDef":22,"crushDef":20,"rangeDef":20,"bonusAttack":16,"bonusStrength":17},"3965":{"name":"Irvig Senay","hitpoints":125,"combatLevel":100,"attackSpeed":4,"attackLevel":76,"strengthLevel":74,"defenceLevel":81,"stabDef":27,"slashDef":31,"crushDef":29,"rangeDef":29,"bonusAttack":29,"bonusStrength":31},"3966":{"name":"Ranalph Devere","hitpoints":130,"combatLevel":92,"attackSpeed":4,"attackLevel":66,"strengthLevel":67,"defenceLevel":66,"stabDef":38,"slashDef":40,"crushDef":36,"rangeDef":38,"bonusAttack":45,"bonusStrength":44},"3969":{"name":"Zombie rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3970":{"name":"Zombie rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3971":{"name":"Zombie rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3972":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"3973":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"3974":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"3975":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3976":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3977":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3978":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3979":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3980":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":5,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"3981":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":5,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"3982":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"3996":{"name":"Witch's experiment","hitpoints":21,"combatLevel":19,"attackSpeed":4,"attackLevel":18,"strengthLevel":10,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"3997":{"name":"Witch's experiment (second form)","hitpoints":31,"combatLevel":30,"attackSpeed":4,"attackLevel":28,"strengthLevel":20,"defenceLevel":29,"rangeLevel":1,"magicLevel":1},"3998":{"name":"Witch's experiment (third form)","hitpoints":41,"combatLevel":42,"attackSpeed":4,"attackLevel":38,"strengthLevel":30,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"3999":{"name":"Witch's experiment (fourth form)","hitpoints":51,"combatLevel":53,"attackSpeed":4,"attackLevel":48,"strengthLevel":40,"defenceLevel":49,"rangeLevel":1,"magicLevel":1},"4004":{"name":"Shadow","hitpoints":15,"combatLevel":73,"attackSpeed":4,"attackLevel":90,"strengthLevel":120,"defenceLevel":5,"rangeLevel":1,"magicLevel":90,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":30,"magicDef":30},"4005":{"name":"Dark beast","hitpoints":220,"combatLevel":182,"slayerLevel":90,"attackSpeed":4,"attackLevel":140,"strengthLevel":160,"defenceLevel":120,"rangeLevel":1,"magicLevel":160,"stabDef":30,"slashDef":40,"crushDef":100,"rangeDef":100,"magicDef":90},"4043":{"name":"Pirate","hitpoints":20},"4044":{"name":"Pirate","hitpoints":20},"4045":{"name":"Pirate","hitpoints":20},"4046":{"name":"Pirate","hitpoints":20},"4047":{"name":"Pirate","hitpoints":20},"4048":{"name":"Pirate","hitpoints":20},"4049":{"name":"Pirate","hitpoints":20},"4050":{"name":"Pirate","hitpoints":20},"4051":{"name":"Pirate","hitpoints":20},"4052":{"name":"Pirate","hitpoints":20},"4067":{"name":"Black Knight Titan","hitpoints":142,"combatLevel":120,"attackSpeed":7,"attackLevel":91,"strengthLevel":100,"defenceLevel":91,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":27,"crushDef":18,"rangeDef":1000,"magicDef":1000,"bonusAttack":27,"bonusStrength":22},"4088":{"name":"Soldier","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"magicLevel":1,"stabDef":15,"slashDef":23,"crushDef":21,"rangeDef":14,"magicDef":6,"bonusAttack":11,"bonusStrength":12},"4095":{"name":"Eadburg","hitpoints":10,"combatLevel":4,"attackSpeed":4},"4096":{"name":"Archer","hitpoints":50,"combatLevel":42,"attackSpeed":6,"defenceLevel":40,"rangeLevel":40,"magicLevel":1,"stabDef":39,"slashDef":50,"crushDef":49,"rangeDef":45,"magicDef":18,"bonusAttack":34},"4097":{"name":"Archer","hitpoints":50,"combatLevel":42,"attackSpeed":6,"defenceLevel":40,"rangeLevel":40,"magicLevel":1,"stabDef":39,"slashDef":50,"crushDef":49,"rangeDef":45,"magicDef":18,"bonusAttack":34},"4098":{"name":"Archer","hitpoints":50,"combatLevel":42,"attackSpeed":6,"defenceLevel":40,"rangeLevel":40,"magicLevel":1,"stabDef":39,"slashDef":50,"crushDef":49,"rangeDef":45,"magicDef":18,"bonusAttack":34},"4099":{"name":"Guard","hitpoints":40,"combatLevel":37,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"magicLevel":1,"stabDef":36,"slashDef":48,"crushDef":50,"rangeDef":38,"bonusAttack":18,"bonusStrength":16},"4100":{"name":"Guard","hitpoints":40,"combatLevel":37,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"magicLevel":1,"stabDef":36,"slashDef":48,"crushDef":50,"rangeDef":38,"bonusAttack":18,"bonusStrength":16},"4107":{"name":"Breoca","hitpoints":10,"combatLevel":5,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4108":{"name":"Ocga","hitpoints":10,"combatLevel":5,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4109":{"name":"Penda","hitpoints":10,"combatLevel":5,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4110":{"name":"Hygd","hitpoints":10,"combatLevel":4,"attackSpeed":4,"attackLevel":3,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4111":{"name":"Ceolburg","hitpoints":10,"combatLevel":4,"attackSpeed":4,"attackLevel":3,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4114":{"name":"White Knight","hitpoints":55,"combatLevel":42,"attackSpeed":7,"attackLevel":32,"strengthLevel":35,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"4115":{"name":"Fareed (hard)","hitpoints":255,"combatLevel":299,"attackSpeed":4,"attackLevel":380,"strengthLevel":240,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"bonusStrength":120},"4120":{"name":"Troll general","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"4121":{"name":"Troll general","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"4122":{"name":"Troll general","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"4123":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4124":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4125":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4126":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4127":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4128":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4129":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4130":{"name":"Dad","hitpoints":120,"combatLevel":101,"slayerLevel":1,"attackSpeed":8,"attackLevel":60,"strengthLevel":120,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"4131":{"name":"Twig","hitpoints":90,"combatLevel":71,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4132":{"name":"Berry","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4133":{"name":"Twig","hitpoints":90,"combatLevel":71,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4134":{"name":"Berry","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4135":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4136":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4137":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4138":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4139":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4143":{"name":"Mountain troll","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4163":{"name":"King Roald","hitpoints":75,"combatLevel":47,"attackSpeed":4,"attackLevel":35,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4167":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4168":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4169":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4170":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4171":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4172":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4173":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4174":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4175":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4176":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4184":{"name":"Crocodile","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"4185":{"name":"Jackal","hitpoints":27,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1},"4186":{"name":"Locust","hitpoints":27,"combatLevel":18,"attackSpeed":4,"attackLevel":17,"strengthLevel":18,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4188":{"name":"Plague frog","hitpoints":10,"combatLevel":11,"attackSpeed":4,"attackLevel":18,"strengthLevel":10,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4192":{"name":"Scarab swarm","hitpoints":25,"combatLevel":98,"slayerLevel":1,"attackSpeed":1,"attackLevel":255,"strengthLevel":5,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":90,"slashDef":90,"crushDef":5,"rangeDef":90,"magicDef":90},"4195":{"name":"Het","combatLevel":81,"attackSpeed":4},"4196":{"name":"Apmeken","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":30,"strengthLevel":40,"defenceLevel":60,"rangeLevel":1,"magicLevel":85,"stabDef":65,"slashDef":65,"crushDef":65,"magicDef":50},"4197":{"name":"Scabaras","combatLevel":75,"attackSpeed":4},"4198":{"name":"Crondis","hitpoints":60,"combatLevel":75,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":35,"rangeLevel":1,"magicLevel":40,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":40,"magicDef":70},"4210":{"name":"Possessed Priest","hitpoints":90,"combatLevel":91,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":40,"rangeLevel":1,"magicLevel":60,"stabDef":90,"crushDef":90,"bonusStrength":90},"4246":{"name":"Monk","hitpoints":5,"combatLevel":3,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4247":{"name":"Thief","hitpoints":17,"combatLevel":14,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"4248":{"name":"Head Thief","hitpoints":37,"combatLevel":26,"attackSpeed":5,"attackLevel":24,"strengthLevel":18,"defenceLevel":16,"rangeLevel":2,"stabDef":8,"slashDef":14,"crushDef":15,"rangeDef":9,"magicDef":4,"bonusStrength":10},"4276":{"name":"Jail guard","hitpoints":32,"combatLevel":26,"attackSpeed":5,"attackLevel":19,"strengthLevel":23,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":10,"rangeDef":9,"magicDef":4,"bonusAttack":9,"bonusStrength":5},"4277":{"name":"Jail guard","hitpoints":32,"combatLevel":26,"attackSpeed":5,"attackLevel":19,"strengthLevel":23,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":10,"rangeDef":9,"magicDef":4,"bonusAttack":9,"bonusStrength":5},"4278":{"name":"Jail guard","hitpoints":32,"combatLevel":26,"attackSpeed":5,"attackLevel":19,"strengthLevel":23,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":10,"rangeDef":9,"magicDef":4,"bonusAttack":9,"bonusStrength":5},"4279":{"name":"Jail guard","hitpoints":32,"combatLevel":26,"attackSpeed":5,"attackLevel":19,"strengthLevel":23,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":10,"rangeDef":9,"magicDef":4,"bonusAttack":9,"bonusStrength":5},"4303":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":100,"magicDef":100},"4304":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":10,"magicDef":10},"4308":{"name":"Sea troll","hitpoints":100,"combatLevel":79,"attackSpeed":4,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1},"4309":{"name":"Sea troll","hitpoints":80,"combatLevel":65,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"4310":{"name":"Sea troll","hitpoints":80,"combatLevel":87,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":1},"4311":{"name":"Sea troll","hitpoints":80,"combatLevel":101,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1},"4315":{"name":"Sea Troll Queen","hitpoints":200,"combatLevel":170,"attackSpeed":4,"attackLevel":100,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":150,"stabDef":20,"slashDef":40,"crushDef":40,"magicDef":40,"bonusAttack":100,"bonusStrength":40},"4319":{"name":"Skeleton Mage","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":60,"rangeLevel":1,"magicLevel":100,"magicDef":15,"undead":true},"4321":{"name":"Renegade Knight","hitpoints":48,"combatLevel":37,"attackSpeed":4,"attackLevel":28,"strengthLevel":28,"defenceLevel":28,"rangeLevel":1,"magicLevel":1,"stabDef":99,"slashDef":82,"crushDef":62,"bonusAttack":20,"bonusStrength":16},"4328":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"4331":{"name":"Black Knight","hitpoints":42,"combatLevel":33,"attackSpeed":5,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":73,"slashDef":76,"crushDef":70,"rangeDef":72,"bonusAttack":18,"bonusStrength":16},"4342":{"name":"Sir Lucan","hitpoints":105,"combatLevel":120,"attackSpeed":5,"attackLevel":105,"strengthLevel":110,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":275,"slashDef":65,"crushDef":45,"bonusAttack":40,"bonusStrength":40},"4343":{"name":"Sir Palomedes","hitpoints":100,"combatLevel":118,"attackSpeed":5,"attackLevel":105,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":250,"slashDef":250,"crushDef":50,"bonusAttack":35,"bonusStrength":35},"4344":{"name":"Sir Lancelot","hitpoints":115,"combatLevel":127,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":300,"slashDef":85,"crushDef":300,"bonusAttack":60,"bonusStrength":60},"4345":{"name":"Sir Bedivere","hitpoints":90,"combatLevel":110,"attackSpeed":5,"attackLevel":99,"strengthLevel":95,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":15,"crushDef":190,"bonusAttack":20,"bonusStrength":20},"4346":{"name":"Sir Tristram","hitpoints":105,"combatLevel":115,"attackSpeed":5,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"crushDef":225,"bonusAttack":25,"bonusStrength":25},"4347":{"name":"Sir Pelleas","hitpoints":99,"combatLevel":112,"attackSpeed":5,"attackLevel":95,"strengthLevel":99,"defenceLevel":98,"rangeLevel":1,"magicLevel":1,"stabDef":200,"crushDef":5,"bonusAttack":22,"bonusStrength":22},"4348":{"name":"Sir Gawain","hitpoints":110,"combatLevel":122,"attackSpeed":5,"attackLevel":110,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":65,"slashDef":90,"crushDef":300,"bonusAttack":40,"bonusStrength":45},"4349":{"name":"Sir Kay","hitpoints":110,"combatLevel":124,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":300,"crushDef":65,"bonusAttack":55,"bonusStrength":55},"4354":{"name":"Sir Lancelot","hitpoints":115,"combatLevel":127,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":300,"slashDef":85,"crushDef":300,"bonusAttack":60,"bonusStrength":60},"4355":{"name":"Sir Kay","hitpoints":110,"combatLevel":124,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":300,"crushDef":65,"bonusAttack":55,"bonusStrength":55},"4356":{"name":"Sir Gawain","hitpoints":110,"combatLevel":122,"attackSpeed":5,"attackLevel":110,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":65,"slashDef":90,"crushDef":300,"bonusAttack":40,"bonusStrength":45},"4357":{"name":"Sir Lucan","hitpoints":105,"combatLevel":120,"attackSpeed":5,"attackLevel":105,"strengthLevel":110,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":275,"slashDef":65,"crushDef":45,"bonusAttack":40,"bonusStrength":40},"4358":{"name":"Sir Palomedes","hitpoints":100,"combatLevel":118,"attackSpeed":5,"attackLevel":105,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":250,"slashDef":250,"crushDef":50,"bonusAttack":35,"bonusStrength":35},"4359":{"name":"Sir Tristram","hitpoints":105,"combatLevel":115,"attackSpeed":5,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"crushDef":225,"bonusAttack":25,"bonusStrength":25},"4360":{"name":"Sir Pelleas","hitpoints":99,"combatLevel":112,"attackSpeed":5,"attackLevel":95,"strengthLevel":99,"defenceLevel":98,"rangeLevel":1,"magicLevel":1,"stabDef":200,"crushDef":5,"bonusAttack":22,"bonusStrength":22},"4361":{"name":"Sir Bedivere","hitpoints":90,"combatLevel":110,"attackSpeed":5,"attackLevel":99,"strengthLevel":95,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":15,"crushDef":190,"bonusAttack":20,"bonusStrength":20},"4362":{"name":"Ogre chieftain","hitpoints":60,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":71,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":21,"crushDef":16,"bonusAttack":5,"bonusStrength":7},"4363":{"name":"Ogre chieftain","hitpoints":60,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":71,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":21,"crushDef":16,"bonusAttack":5,"bonusStrength":7},"4367":{"name":"Gorad","hitpoints":80,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":27,"crushDef":21,"bonusAttack":8,"bonusStrength":8},"4373":{"name":"City guard","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":13,"slashDef":24,"crushDef":19,"bonusAttack":9,"bonusStrength":13},"4381":{"name":"Enclave guard","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":13,"slashDef":24,"crushDef":19,"bonusAttack":9,"bonusStrength":13},"4382":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4383":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4384":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4385":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"4387":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4389":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4391":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4393":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4395":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4405":{"name":"Tower guard","hitpoints":22,"combatLevel":28,"attackSpeed":4,"attackLevel":26,"strengthLevel":26,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":23,"slashDef":35,"crushDef":28,"bonusAttack":8,"bonusStrength":8},"4406":{"name":"Colonel Radick","hitpoints":65,"combatLevel":38,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":39,"slashDef":31,"crushDef":34,"bonusAttack":9,"bonusStrength":13},"4421":{"name":"Undead cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"undead":true},"4427":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4428":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4429":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4430":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4431":{"name":"Feral Vampyre","hitpoints":80,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":30,"defenceLevel":60,"rangeLevel":1,"magicLevel":1},"4432":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4436":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4437":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4438":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4439":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4442":{"name":"Vampyre Juvinate","hitpoints":110,"combatLevel":75,"attackSpeed":4,"attackLevel":70,"strengthLevel":50,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"4443":{"name":"Vampyre Juvinate","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":50,"strengthLevel":37,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4483":{"name":"Gadderanks","hitpoints":20,"combatLevel":35,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10,"magicDef":10,"poisonImmune":true,"venomImmune":true},"4484":{"name":"Gadderanks","hitpoints":20,"combatLevel":35,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10,"magicDef":10,"poisonImmune":true,"venomImmune":true},"4485":{"name":"Gadderanks","hitpoints":20,"combatLevel":35,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10,"magicDef":10,"poisonImmune":true,"venomImmune":true},"4486":{"name":"Vampyre Juvinate","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":50,"strengthLevel":37,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4487":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4491":{"name":"Skeleton fremennik","hitpoints":25,"combatLevel":40,"slayerLevel":1,"attackSpeed":6,"attackLevel":53,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4492":{"name":"Skeleton fremennik","hitpoints":25,"combatLevel":40,"slayerLevel":1,"attackSpeed":6,"attackLevel":53,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4493":{"name":"Skeleton fremennik","hitpoints":25,"combatLevel":40,"slayerLevel":1,"attackSpeed":6,"attackLevel":53,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4494":{"name":"Skeleton fremennik","hitpoints":35,"combatLevel":50,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":43,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4495":{"name":"Skeleton fremennik","hitpoints":35,"combatLevel":50,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":43,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4496":{"name":"Skeleton fremennik","hitpoints":35,"combatLevel":50,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":43,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4497":{"name":"Skeleton fremennik","hitpoints":40,"combatLevel":60,"slayerLevel":1,"attackSpeed":6,"attackLevel":72,"strengthLevel":54,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4498":{"name":"Skeleton fremennik","hitpoints":40,"combatLevel":60,"slayerLevel":1,"attackSpeed":6,"attackLevel":72,"strengthLevel":54,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4499":{"name":"Skeleton fremennik","hitpoints":40,"combatLevel":60,"slayerLevel":1,"attackSpeed":6,"attackLevel":72,"strengthLevel":54,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4500":{"name":"Ulfric","hitpoints":60,"combatLevel":100,"attackSpeed":6,"attackLevel":100,"strengthLevel":82,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"4501":{"name":"Brine rat","hitpoints":50,"combatLevel":70,"slayerLevel":47,"attackSpeed":4,"attackLevel":70,"strengthLevel":79,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"4504":{"name":"Giant bat","hitpoints":32,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":12,"rangeDef":8,"magicDef":10},"4505":{"name":"Ulfric","hitpoints":60,"combatLevel":100,"attackSpeed":6,"attackLevel":100,"strengthLevel":82,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"4522":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4523":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4524":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4525":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4526":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4533":{"name":"Blessed spider","hitpoints":32,"combatLevel":39,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":35,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":16,"crushDef":7,"rangeDef":16,"magicDef":12},"4534":{"name":"Blessed giant rat","hitpoints":30,"combatLevel":9,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4535":{"name":"Blessed giant rat","hitpoints":30,"combatLevel":9,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4561":{"name":"Spider","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4634":{"name":"Rowdy slave","hitpoints":16,"combatLevel":10,"attackSpeed":4,"attackLevel":7,"strengthLevel":7,"defenceLevel":7},"4635":{"name":"Mercenary Captain","hitpoints":80,"combatLevel":47,"attackSpeed":4,"attackLevel":32,"strengthLevel":29,"defenceLevel":32,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4643":{"name":"Shantay Guard","hitpoints":32,"combatLevel":22,"attackSpeed":4,"attackLevel":17,"strengthLevel":16,"defenceLevel":16,"stabDef":12,"slashDef":15,"crushDef":18,"rangeDef":15,"magicDef":6,"bonusAttack":11,"bonusStrength":12},"4648":{"name":"Shantay Guard","hitpoints":32,"combatLevel":22,"attackSpeed":4,"attackLevel":17,"strengthLevel":16,"defenceLevel":16,"stabDef":12,"slashDef":15,"crushDef":18,"rangeDef":15,"magicDef":6,"bonusAttack":11,"bonusStrength":12},"4649":{"name":"Desert Wolf","hitpoints":34,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":21,"defenceLevel":22},"4650":{"name":"Desert Wolf","hitpoints":34,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":21,"defenceLevel":22},"4651":{"name":"Desert Wolf","hitpoints":34,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":21,"defenceLevel":22},"4652":{"name":"Ugthanki","hitpoints":45,"combatLevel":42,"attackSpeed":4,"attackLevel":35,"strengthLevel":35,"defenceLevel":35},"4655":{"name":"Bedabin Nomad Fighter","hitpoints":50,"combatLevel":56,"attackSpeed":4,"attackLevel":40,"strengthLevel":50,"defenceLevel":60,"bonusAttack":9,"bonusStrength":14},"4656":{"name":"Mercenary","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4657":{"name":"Mercenary","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4658":{"name":"Mercenary","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4659":{"name":"Mercenary","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4660":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4661":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4662":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4663":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4664":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4665":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4666":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4667":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4668":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4669":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4682":{"name":"Sir Leye","hitpoints":20,"combatLevel":20,"attackSpeed":5},"4688":{"name":"Angry unicorn","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4689":{"name":"Angry giant rat","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4690":{"name":"Angry giant rat","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4691":{"name":"Angry goblin","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4692":{"name":"Angry bear","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4693":{"name":"Fear reaper","hitpoints":57,"combatLevel":55,"attackSpeed":4,"attackLevel":45,"strengthLevel":48,"defenceLevel":45,"rangeLevel":1,"magicLevel":1},"4694":{"name":"Confusion beast","hitpoints":64,"combatLevel":63,"attackSpeed":4,"attackLevel":52,"strengthLevel":55,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"4695":{"name":"Hopeless creature","hitpoints":71,"combatLevel":71,"attackSpeed":4,"attackLevel":59,"strengthLevel":62,"defenceLevel":59,"rangeLevel":1,"magicLevel":1},"4708":{"name":"The Shaikahan","hitpoints":100,"combatLevel":83,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"rangeDef":10000,"magicDef":10000},"4709":{"name":"The Shaikahan","hitpoints":100,"combatLevel":83,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"rangeDef":10000,"magicDef":10000},"4742":{"name":"Black golem","hitpoints":80,"combatLevel":75,"attackSpeed":4,"attackLevel":80,"strengthLevel":30,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":300,"slashDef":300,"crushDef":1,"rangeDef":300,"magicDef":300},"4743":{"name":"White golem","hitpoints":80,"combatLevel":75,"attackSpeed":4,"attackLevel":80,"strengthLevel":30,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":300,"crushDef":300,"rangeDef":300,"magicDef":300},"4744":{"name":"Grey golem","hitpoints":80,"combatLevel":75,"attackSpeed":4,"attackLevel":80,"strengthLevel":30,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":300,"slashDef":1,"crushDef":300,"rangeDef":300,"magicDef":300},"4758":{"name":"Poltenip","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"4759":{"name":"Radat","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"4772":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4773":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4774":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4775":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4776":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4797":{"name":"Slug Prince","hitpoints":70,"combatLevel":62,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":99,"magicDef":99},"4798":{"name":"Slug Prince","hitpoints":70,"combatLevel":62,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":99,"magicDef":99},"4799":{"name":"Giant lobster","hitpoints":50,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":15,"rangeDef":70,"magicDef":99},"4800":{"name":"Giant lobster","hitpoints":50,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":15,"rangeDef":70,"magicDef":99},"4805":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"4813":{"name":"Icefiend","hitpoints":15,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"4819":{"name":"Crab","hitpoints":19,"combatLevel":23,"attackSpeed":4,"attackLevel":19,"strengthLevel":20,"defenceLevel":26,"rangeLevel":1,"magicLevel":1},"4820":{"name":"Mudskipper","hitpoints":20,"combatLevel":30,"attackSpeed":4,"attackLevel":29,"strengthLevel":29,"defenceLevel":26,"rangeLevel":1,"magicLevel":1},"4821":{"name":"Mudskipper","hitpoints":20,"combatLevel":31,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":29,"rangeLevel":1,"magicLevel":1},"4822":{"name":"Crab","hitpoints":18,"combatLevel":21,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"4849":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4863":{"name":"Jubbly bird","hitpoints":21,"combatLevel":9,"slayerLevel":1},"4864":{"name":"Jubbly bird","hitpoints":21,"combatLevel":9,"slayerLevel":1},"4872":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4873":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4874":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4875":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4876":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4877":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4878":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4879":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4880":{"name":"Agrith-Na-Na","hitpoints":200,"combatLevel":146,"attackSpeed":4,"attackLevel":83,"strengthLevel":150,"defenceLevel":82,"rangeLevel":100,"magicLevel":100,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":100},"4881":{"name":"Flambeed","hitpoints":210,"combatLevel":149,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":100},"4882":{"name":"Karamel","hitpoints":250,"combatLevel":136,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":100,"magicLevel":1,"stab":50,"slash":50,"crush":50,"range":134,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":150,"magicDef":150,"bonusRangeStrength":55},"4883":{"name":"Dessourt","hitpoints":130,"combatLevel":121,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"4884":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4885":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4886":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4887":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4888":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4889":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4919":{"name":"Grip","hitpoints":25,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":17,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":16,"slashDef":27,"crushDef":22,"bonusAttack":5,"bonusStrength":7},"4922":{"name":"Ice Queen","hitpoints":105,"combatLevel":111,"attackSpeed":4,"attackLevel":95,"strengthLevel":94,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"4926":{"name":"Pirate Guard","hitpoints":25,"combatLevel":19,"attackSpeed":4,"attackLevel":18,"strengthLevel":16,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":39,"crushDef":30,"bonusAttack":20,"bonusStrength":16},"4927":{"name":"Entrana firebird","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4930":{"name":"Solus Dellagar","hitpoints":40,"attackSpeed":3},"4933":{"name":"Solus Dellagar","hitpoints":40,"attackSpeed":3},"4934":{"name":"Black Knight","hitpoints":42,"combatLevel":32,"attackSpeed":5},"4958":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4959":{"name":"Black Knight","hitpoints":42,"combatLevel":32,"attackSpeed":5},"4960":{"name":"Black Knight","hitpoints":42,"combatLevel":32,"attackSpeed":5},"4962":{"name":"Solus Dellagar","hitpoints":40,"attackSpeed":3},"4969":{"name":"Khazard trooper","hitpoints":22,"combatLevel":19,"attackSpeed":5,"attackLevel":17,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":22,"bonusAttack":9,"bonusStrength":5},"4970":{"name":"Khazard trooper","hitpoints":22,"combatLevel":19,"attackSpeed":5,"attackLevel":17,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":22,"bonusAttack":9,"bonusStrength":5},"4972":{"name":"Khazard commander","hitpoints":22,"combatLevel":48,"attackSpeed":4,"attackLevel":50,"strengthLevel":45,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"4973":{"name":"Gnome troop","hitpoints":3,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":5,"rangeDef":4,"magicDef":2,"bonusAttack":2,"bonusStrength":3,"bonusRangeStrength":2},"4974":{"name":"Gnome troop","hitpoints":3,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":5,"rangeDef":4,"magicDef":2,"bonusAttack":2,"bonusStrength":3,"bonusRangeStrength":2},"4987":{"name":"Chronozon","hitpoints":60,"combatLevel":170,"attackSpeed":4,"attackLevel":173,"strengthLevel":172,"defenceLevel":173,"rangeLevel":1,"magicLevel":1,"demon":true},"5007":{"name":"Imp","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5043":{"name":"Suit of armour","hitpoints":29,"combatLevel":19,"attackSpeed":5,"attackLevel":16,"strengthLevel":14,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":46,"slashDef":50,"crushDef":45,"rangeDef":45,"bonusAttack":8,"bonusStrength":10},"5054":{"name":"Skeleton Hellhound","hitpoints":55,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":110,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"5079":{"name":"Delrith","hitpoints":7,"combatLevel":27,"demon":true},"5086":{"name":"Dark wizard","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"5087":{"name":"Dark wizard","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"5088":{"name":"Dark wizard","hitpoints":24,"combatLevel":20,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"5089":{"name":"Dark wizard","hitpoints":24,"combatLevel":20,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"5126":{"name":"Experiment No.2","hitpoints":95,"combatLevel":109,"attackSpeed":4,"attackLevel":104,"strengthLevel":92,"defenceLevel":90,"rangeLevel":100,"magicLevel":1,"stabDef":45,"slashDef":70,"crushDef":60,"rangeDef":55,"magicDef":60},"5129":{"name":"Glod","hitpoints":160,"combatLevel":138,"attackSpeed":4,"attackLevel":115,"strengthLevel":120,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":105,"slashDef":110,"crushDef":130,"rangeDef":100,"magicDef":125},"5139":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5142":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5143":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5144":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5145":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5146":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5157":{"name":"H.A.M. Archer","hitpoints":35,"combatLevel":30,"attackSpeed":10,"defenceLevel":30,"rangeLevel":30,"stabDef":5,"slashDef":5,"rangeDef":5},"5158":{"name":"H.A.M. Mage","hitpoints":35,"combatLevel":30,"attackSpeed":6,"defenceLevel":30,"rangeLevel":1,"magicLevel":30,"magic":8,"stabDef":5,"slashDef":5,"rangeDef":5},"5185":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5186":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5187":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5188":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5189":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5192":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5193":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5194":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"5195":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5196":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5197":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5198":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5199":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5200":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5201":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5202":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5203":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5204":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5205":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5206":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5207":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5208":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5211":{"name":"Weaponsmaster","hitpoints":20,"combatLevel":23,"attackSpeed":5,"attackLevel":21,"strengthLevel":21,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":21,"slashDef":23,"crushDef":21,"rangeDef":20,"bonusAttack":8,"bonusStrength":10},"5213":{"name":"Jonny the beard","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5217":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"5218":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"5219":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"5220":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"5223":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5237":{"name":"Skeleton","hitpoints":110,"combatLevel":142,"slayerLevel":1,"attackSpeed":4,"attackLevel":180,"strengthLevel":90,"defenceLevel":110,"rangeLevel":1,"magicLevel":110,"bonusAttack":50,"undead":true},"5238":{"name":"Spider","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"slashDef":1,"magicDef":1,"bonusAttack":1,"bonusStrength":1},"5239":{"name":"Spider","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"slashDef":1,"magicDef":1,"bonusAttack":1,"bonusStrength":1},"5240":{"name":"Bird","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":10},"5241":{"name":"Bird","hitpoints":5,"combatLevel":5,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":5},"5242":{"name":"Scorpion","hitpoints":15,"combatLevel":38,"slayerLevel":1,"attackSpeed":6},"5243":{"name":"Jungle spider","hitpoints":35,"combatLevel":37,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":30,"defenceLevel":10,"rangeLevel":1,"magicLevel":10,"bonusAttack":100,"bonusStrength":100},"5244":{"name":"Snake","hitpoints":36,"combatLevel":24,"attackSpeed":4,"attackLevel":15,"strengthLevel":25,"defenceLevel":10,"rangeLevel":1,"magicLevel":10,"bonusAttack":100,"bonusStrength":100},"5263":{"name":"Padulah","hitpoints":130,"combatLevel":149,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":130,"bonusAttack":50},"5271":{"name":"Monkey Guard","hitpoints":130,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":130},"5272":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"5273":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"5274":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"5275":{"name":"Monkey Guard","hitpoints":130,"combatLevel":167,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":200,"rangeLevel":1,"magicLevel":130,"bonusAttack":50},"5276":{"name":"Monkey Guard","hitpoints":130,"combatLevel":167,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":200,"rangeLevel":1,"magicLevel":130,"bonusAttack":50},"5281":{"name":"Monkey Zombie","hitpoints":60,"combatLevel":98,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":60,"bonusAttack":35,"undead":true},"5282":{"name":"Monkey Zombie","hitpoints":90,"combatLevel":129,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":110,"defenceLevel":90,"rangeLevel":1,"magicLevel":90,"bonusAttack":35,"undead":true},"5283":{"name":"Monkey Zombie","hitpoints":60,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":60,"bonusAttack":15,"undead":true},"5293":{"name":"Elf Warrior","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":80,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"5294":{"name":"Elf Warrior","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":80,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"5295":{"name":"Elf Archer","hitpoints":105,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":80,"rangeLevel":90,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"5296":{"name":"Elf Archer","hitpoints":105,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":80,"rangeLevel":90,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"5329":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5330":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5331":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5332":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5333":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5334":{"name":"Cave goblin guard","hitpoints":26,"combatLevel":26,"slayerLevel":1,"attackSpeed":6,"attackLevel":22,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"slashDef":15,"crushDef":19,"rangeDef":12},"5335":{"name":"Cave goblin guard","hitpoints":26,"combatLevel":24,"slayerLevel":1,"attackSpeed":6,"attackLevel":22,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"slashDef":15,"crushDef":19,"rangeDef":12},"5336":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5337":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5338":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5339":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5342":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5343":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5344":{"name":"Undead one","hitpoints":47,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":55,"stabDef":5,"slashDef":5,"crushDef":4,"rangeDef":4,"magicDef":1,"bonusAttack":7,"bonusStrength":5,"undead":true},"5345":{"name":"Undead one","hitpoints":47,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":55,"stabDef":5,"slashDef":5,"crushDef":4,"rangeDef":4,"magicDef":1,"bonusAttack":7,"bonusStrength":5,"undead":true},"5346":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5347":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5348":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5349":{"name":"Undead one","hitpoints":59,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"bonusAttack":4,"bonusStrength":5,"undead":true},"5350":{"name":"Undead one","hitpoints":59,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"bonusAttack":4,"bonusStrength":5,"undead":true},"5351":{"name":"Undead one","hitpoints":59,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"bonusAttack":4,"bonusStrength":5,"undead":true},"5353":{"name":"Nazastarool","hitpoints":70,"combatLevel":91,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":80},"5354":{"name":"Nazastarool","hitpoints":70,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":58,"strengthLevel":54,"defenceLevel":58,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"magicDef":5,"bonusAttack":15,"bonusStrength":15},"5355":{"name":"Nazastarool","hitpoints":80,"combatLevel":93,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":80},"5369":{"name":"Goblin guard","hitpoints":43,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":6,"bonusAttack":8,"bonusStrength":5},"5370":{"name":"Ghost","hitpoints":20,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":23,"strengthLevel":23,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"undead":true},"5372":{"name":"Grave scorpion","hitpoints":7,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":11,"strengthLevel":12,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":3},"5373":{"name":"Poison spider","hitpoints":64,"combatLevel":31,"slayerLevel":1,"attackSpeed":6},"5512":{"name":"Gardener","hitpoints":7,"combatLevel":4,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5534":{"name":"Whirlpool","combatLevel":127,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"rangeDef":300,"magicDef":130},"5535":{"name":"Enormous Tentacle","hitpoints":120,"combatLevel":112,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":150,"magicLevel":1,"rangeDef":270,"poisonImmune":true,"venomImmune":true},"5563":{"name":"Angry barbarian spirit","hitpoints":190,"combatLevel":166,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"5564":{"name":"Enraged barbarian spirit","hitpoints":190,"combatLevel":166,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"5565":{"name":"Berserk barbarian spirit","hitpoints":190,"combatLevel":166,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"5566":{"name":"Ferocious barbarian spirit","hitpoints":190,"combatLevel":166,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slashDef":73,"crushDef":72,"rangeDef":72,"bonusAttack":9,"bonusStrength":15},"5615":{"name":"Swamp snake","hitpoints":120,"combatLevel":80,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":70,"rangeLevel":30,"magicLevel":30},"5616":{"name":"Swamp snake","hitpoints":125,"combatLevel":109,"attackSpeed":4,"attackLevel":70,"strengthLevel":110,"defenceLevel":80,"rangeLevel":30,"magicLevel":30},"5617":{"name":"Swamp snake","hitpoints":130,"combatLevel":139,"attackSpeed":4,"attackLevel":90,"strengthLevel":170,"defenceLevel":90,"rangeLevel":30,"magicLevel":30},"5625":{"name":"Ghast","hitpoints":115,"combatLevel":79,"attackSpeed":8,"attackLevel":80,"strengthLevel":30,"defenceLevel":60,"rangeLevel":30,"magicLevel":30,"undead":true},"5626":{"name":"Ghast","hitpoints":135,"combatLevel":109,"attackSpeed":8,"attackLevel":110,"strengthLevel":70,"defenceLevel":70,"rangeLevel":30,"magicLevel":30,"undead":true},"5627":{"name":"Ghast","hitpoints":160,"combatLevel":139,"attackSpeed":8,"attackLevel":135,"strengthLevel":110,"defenceLevel":80,"rangeLevel":30,"magicLevel":30,"undead":true},"5628":{"name":"Giant snail","hitpoints":125,"combatLevel":80,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":60,"rangeLevel":70,"magicLevel":30},"5629":{"name":"Giant snail","hitpoints":150,"combatLevel":109,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":75,"rangeLevel":110,"magicLevel":30},"5630":{"name":"Giant snail","hitpoints":160,"combatLevel":139,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":86,"rangeLevel":160,"magicLevel":30},"5633":{"name":"Shade","hitpoints":115,"combatLevel":140,"slayerLevel":1,"attackSpeed":6,"attackLevel":130,"strengthLevel":136,"defenceLevel":100,"rangeLevel":50,"magicLevel":50,"undead":true},"5634":{"name":"Vampyre Juvinate","hitpoints":50,"combatLevel":59,"attackSpeed":4,"attackLevel":95,"strengthLevel":16,"defenceLevel":45,"rangeLevel":50,"magicLevel":50},"5635":{"name":"Vampyre Juvinate","hitpoints":100,"combatLevel":90,"attackSpeed":4,"attackLevel":113,"strengthLevel":46,"defenceLevel":55,"rangeLevel":50,"magicLevel":50},"5636":{"name":"Vampyre Juvinate","hitpoints":150,"combatLevel":119,"attackSpeed":4,"attackLevel":127,"strengthLevel":76,"defenceLevel":65,"rangeLevel":50,"magicLevel":50},"5637":{"name":"Vampyre Juvinate","hitpoints":50,"combatLevel":59,"attackSpeed":4,"attackLevel":95,"strengthLevel":16,"defenceLevel":45,"rangeLevel":50,"magicLevel":50},"5638":{"name":"Vampyre Juvinate","hitpoints":100,"combatLevel":90,"attackSpeed":4,"attackLevel":113,"strengthLevel":46,"defenceLevel":55,"rangeLevel":50,"magicLevel":50},"5639":{"name":"Vampyre Juvinate","hitpoints":150,"combatLevel":119,"attackSpeed":4,"attackLevel":127,"strengthLevel":76,"defenceLevel":65,"rangeLevel":50,"magicLevel":50},"5640":{"name":"Feral Vampyre","hitpoints":75,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":46,"defenceLevel":30},"5641":{"name":"Feral Vampyre","hitpoints":135,"combatLevel":100,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":76,"defenceLevel":30},"5642":{"name":"Feral Vampyre","hitpoints":185,"combatLevel":130,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":30},"5643":{"name":"Tentacle","hitpoints":75,"combatLevel":99,"attackSpeed":6,"attackLevel":115,"strengthLevel":76,"defenceLevel":75,"rangeLevel":115,"magicLevel":50},"5644":{"name":"Head","hitpoints":150,"combatLevel":140,"attackSpeed":10,"attackLevel":73,"strengthLevel":186,"defenceLevel":75,"rangeLevel":50,"magicLevel":50},"5645":{"name":"Head","hitpoints":150,"combatLevel":140,"attackSpeed":10,"attackLevel":73,"strengthLevel":186,"defenceLevel":75,"rangeLevel":50,"magicLevel":50},"5646":{"name":"Tentacle","hitpoints":75,"combatLevel":99,"attackSpeed":6,"attackLevel":115,"strengthLevel":76,"defenceLevel":75,"rangeLevel":115,"magicLevel":50},"5647":{"name":"Zombie","hitpoints":20,"combatLevel":23,"slayerLevel":1,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"undead":true},"5648":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5649":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5650":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5651":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5652":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5653":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5654":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5655":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5656":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5657":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5658":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5659":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5660":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5661":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5662":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5663":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5665":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5666":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5667":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5668":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5669":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5670":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5671":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5672":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5673":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5674":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5675":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5676":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5677":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5678":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5679":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5680":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5681":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5682":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5683":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5684":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5685":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5686":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5687":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5688":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5689":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5690":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5691":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5692":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5693":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5694":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5695":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5696":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5697":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5698":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5699":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5700":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5701":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5702":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5703":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5704":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5705":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5706":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5707":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5708":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5709":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5710":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5711":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5712":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5713":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5714":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5715":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5716":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5717":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5718":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5719":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5720":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5739":{"name":"Penance Fighter","hitpoints":28,"combatLevel":30,"attackSpeed":4},"5740":{"name":"Penance Fighter","hitpoints":29,"combatLevel":32,"attackSpeed":4},"5741":{"name":"Penance Fighter","hitpoints":32,"combatLevel":37,"attackSpeed":4},"5742":{"name":"Penance Fighter","hitpoints":37,"combatLevel":42,"attackSpeed":4},"5743":{"name":"Penance Fighter","hitpoints":38,"combatLevel":47,"attackSpeed":4},"5744":{"name":"Penance Fighter","hitpoints":49,"combatLevel":56,"attackSpeed":4},"5745":{"name":"Penance Fighter","hitpoints":50,"combatLevel":61,"attackSpeed":4},"5746":{"name":"Penance Fighter","hitpoints":55,"combatLevel":68,"attackSpeed":4},"5747":{"name":"Penance Fighter","hitpoints":56,"combatLevel":77,"attackSpeed":4},"5757":{"name":"Penance Ranger","hitpoints":20,"combatLevel":21,"attackSpeed":4},"5758":{"name":"Penance Ranger","hitpoints":29,"combatLevel":25,"attackSpeed":4},"5759":{"name":"Penance Ranger","hitpoints":32,"combatLevel":32,"attackSpeed":4},"5760":{"name":"Penance Ranger","hitpoints":34,"combatLevel":38,"attackSpeed":4},"5761":{"name":"Penance Ranger","hitpoints":41,"combatLevel":43,"attackSpeed":4},"5762":{"name":"Penance Ranger","hitpoints":50,"combatLevel":51,"attackSpeed":4},"5763":{"name":"Penance Ranger","hitpoints":50,"combatLevel":57,"attackSpeed":4},"5764":{"name":"Penance Ranger","hitpoints":55,"combatLevel":64,"attackSpeed":4},"5765":{"name":"Penance Ranger","hitpoints":58,"combatLevel":72,"attackSpeed":4},"5775":{"name":"Penance Queen","hitpoints":250,"combatLevel":209,"attackSpeed":4,"attackLevel":260,"strengthLevel":92,"defenceLevel":132,"rangeLevel":116,"magicLevel":1},"5776":{"name":"Queen spawn","hitpoints":45,"combatLevel":63,"attackSpeed":4,"attackLevel":60,"strengthLevel":62,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"venomImmune":true},"5779":{"name":"Giant Mole","hitpoints":200,"combatLevel":230,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":200,"stabDef":60,"slashDef":80,"crushDef":100,"rangeDef":60,"magicDef":80},"5816":{"name":"Yak","hitpoints":50,"combatLevel":22,"attackSpeed":4,"attackLevel":20,"strengthLevel":10,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true},"5822":{"name":"Ice Troll King","hitpoints":150,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":45,"rangeDef":2000,"magicDef":2000,"bonusAttack":60,"bonusStrength":60},"5823":{"name":"Ice troll runt","hitpoints":60,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5824":{"name":"Ice troll male","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5825":{"name":"Ice troll female","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5828":{"name":"Ice troll runt","hitpoints":60,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5829":{"name":"Ice troll male","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5830":{"name":"Ice troll female","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5831":{"name":"Ice troll grunt","hitpoints":80,"combatLevel":102,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5842":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"5848":{"name":"Tanglefoot","hitpoints":102,"combatLevel":111,"attackSpeed":4,"attackLevel":97,"strengthLevel":97,"defenceLevel":91,"rangeLevel":1,"magicLevel":1},"5853":{"name":"Baby tanglefoot","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":40,"strengthLevel":38,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"5854":{"name":"Baby tanglefoot","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":40,"strengthLevel":38,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"5862":{"name":"Cerberus","hitpoints":600,"combatLevel":318,"slayerLevel":91,"attackSpeed":6,"attackLevel":220,"strengthLevel":220,"defenceLevel":100,"rangeLevel":220,"magicLevel":220,"slash":50,"range":50,"magic":50,"stabDef":50,"slashDef":100,"crushDef":25,"rangeDef":100,"magicDef":100,"bonusAttack":50,"poisonImmune":true,"venomImmune":true},"5863":{"name":"Cerberus","hitpoints":600,"combatLevel":318,"slayerLevel":91,"attackSpeed":6,"attackLevel":220,"strengthLevel":220,"defenceLevel":100,"rangeLevel":220,"magicLevel":220,"slash":50,"range":50,"magic":50,"stabDef":50,"slashDef":100,"crushDef":25,"rangeDef":100,"magicDef":100,"bonusAttack":50,"poisonImmune":true,"venomImmune":true},"5866":{"name":"Cerberus","hitpoints":600,"combatLevel":318,"slayerLevel":91,"attackSpeed":6,"attackLevel":220,"strengthLevel":220,"defenceLevel":100,"rangeLevel":220,"magicLevel":220,"slash":50,"range":50,"magic":50,"stabDef":50,"slashDef":100,"crushDef":25,"rangeDef":100,"magicDef":100,"bonusAttack":50,"poisonImmune":true,"venomImmune":true},"5872":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"5873":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"5874":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"5875":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"5876":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"5877":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"5878":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5879":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5880":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5881":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5882":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5886":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5887":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5888":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5889":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5890":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5891":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5908":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5916":{"name":"Spawn","hitpoints":15,"combatLevel":60,"attackSpeed":4,"attackLevel":120,"strengthLevel":30,"defenceLevel":30,"rangeLevel":50,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"5917":{"name":"Spawn","hitpoints":15,"combatLevel":60,"attackSpeed":4,"attackLevel":120,"strengthLevel":30,"defenceLevel":30,"rangeLevel":50,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"5918":{"name":"Scion","hitpoints":50,"combatLevel":100,"attackSpeed":4,"attackLevel":120,"strengthLevel":90,"defenceLevel":80,"rangeLevel":100,"magicLevel":1,"range":30,"bonusAttack":30,"bonusRangeStrength":30,"poisonImmune":true,"venomImmune":true},"5935":{"name":"Sand Crab","hitpoints":60,"combatLevel":15,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5936":{"name":"Sandy rocks","hitpoints":60,"combatLevel":15,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5938":{"name":"Wallasalki","hitpoints":120,"combatLevel":98,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":1,"magicLevel":100,"stabDef":100,"slashDef":150,"crushDef":175,"magicDef":250},"5939":{"name":"Wallasalki","hitpoints":120,"combatLevel":98,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":1,"magicLevel":100,"stabDef":100,"slashDef":150,"crushDef":175,"magicDef":250},"5940":{"name":"Giant Rock Crab","hitpoints":180,"combatLevel":137,"attackSpeed":4,"attackLevel":50,"strengthLevel":80,"defenceLevel":200,"rangeLevel":1,"magicLevel":1,"stabDef":225,"slashDef":200,"crushDef":175,"rangeDef":250},"5942":{"name":"Dagannoth","hitpoints":85,"combatLevel":88,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":75,"rangeLevel":100,"magicLevel":1,"slashDef":10,"crushDef":90,"rangeDef":150,"magicDef":200},"5943":{"name":"Dagannoth","hitpoints":95,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50},"5944":{"name":"Rock lobster","hitpoints":150,"combatLevel":127,"attackSpeed":2,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":50,"rangeDef":150,"magicDef":50},"5946":{"name":"Suspicious water","hitpoints":100,"combatLevel":34},"5947":{"name":"Spinolyp","hitpoints":100,"combatLevel":76,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":100,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":50,"magicDef":50},"5948":{"name":"Suspicious water","hitpoints":100,"combatLevel":34},"5961":{"name":"Spinolyp","hitpoints":100,"combatLevel":76,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":100,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":50,"magicDef":50},"5962":{"name":"Suspicious water","hitpoints":100,"combatLevel":34},"5963":{"name":"Spinolyp","hitpoints":100,"combatLevel":76,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":100,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":50,"magicDef":50},"5964":{"name":"Khazard trooper","hitpoints":22,"combatLevel":19,"attackSpeed":5,"attackLevel":17,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":22,"bonusAttack":9,"bonusStrength":5},"5965":{"name":"Khazard trooper","hitpoints":22,"combatLevel":19,"attackSpeed":5,"attackLevel":17,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":22,"bonusAttack":9,"bonusStrength":5},"5968":{"name":"Gnome","hitpoints":3,"combatLevel":3,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1,"bonusRangeStrength":2},"5969":{"name":"Gnome","hitpoints":3,"combatLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusRangeStrength":2},"5970":{"name":"Gnome","hitpoints":3,"combatLevel":3,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1,"bonusRangeStrength":2},"5971":{"name":"Mounted terrorbird gnome","hitpoints":55,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"5972":{"name":"Mounted terrorbird gnome","hitpoints":55,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"5973":{"name":"Mounted terrorbird gnome","hitpoints":55,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"5977":{"name":"Justiciar Zachariah","hitpoints":320,"combatLevel":348,"attackSpeed":6,"attackLevel":500,"strengthLevel":250,"defenceLevel":100,"rangeLevel":1,"magicLevel":180,"magic":80,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusAttack":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"6046":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"6047":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"6048":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"6049":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"6050":{"name":"Black Guard Berserker","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"bonusAttack":55,"bonusStrength":55},"6051":{"name":"Black Guard Berserker","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"bonusAttack":55,"bonusStrength":55},"6052":{"name":"Black Guard Berserker","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"bonusAttack":55,"bonusStrength":55},"6056":{"name":"Guard","hitpoints":50,"combatLevel":37,"attackSpeed":6,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":40,"magicLevel":1,"stabDef":18,"slashDef":23,"crushDef":27,"rangeDef":19,"magicDef":10,"bonusAttack":19,"bonusStrength":8,"bonusRangeStrength":8},"6065":{"name":"Tower Archer","hitpoints":30,"combatLevel":19,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":20,"magicLevel":1,"rangeDef":12,"magicDef":6,"bonusRangeStrength":16},"6066":{"name":"Tower Archer","hitpoints":50,"combatLevel":34,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":40,"magicLevel":1,"rangeDef":40,"magicDef":24,"bonusRangeStrength":22},"6067":{"name":"Tower Archer","hitpoints":70,"combatLevel":49,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":60,"magicLevel":1,"rangeDef":45,"magicDef":20,"bonusRangeStrength":31},"6068":{"name":"Tower Archer","hitpoints":90,"combatLevel":64,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":80,"magicLevel":1,"rangeDef":66,"magicDef":34,"bonusRangeStrength":49},"6075":{"name":"Tortoise","hitpoints":100,"combatLevel":79,"attackSpeed":4,"attackLevel":15,"strengthLevel":90,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6076":{"name":"Tortoise","hitpoints":120,"combatLevel":92,"attackSpeed":4,"attackLevel":30,"strengthLevel":100,"defenceLevel":80,"rangeLevel":50,"magicLevel":50},"6077":{"name":"Gnome child","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6078":{"name":"Gnome child","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6079":{"name":"Gnome child","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6081":{"name":"Gnome guard","hitpoints":31,"combatLevel":23,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"bonusAttack":8,"bonusStrength":13},"6082":{"name":"Gnome guard","hitpoints":31,"combatLevel":23,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"bonusAttack":8,"bonusStrength":13},"6086":{"name":"Gnome woman","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6087":{"name":"Gnome woman","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6094":{"name":"Gnome","hitpoints":3,"combatLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusRangeStrength":2},"6095":{"name":"Gnome","hitpoints":3,"combatLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusRangeStrength":2},"6096":{"name":"Gnome","hitpoints":3,"combatLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusRangeStrength":2},"6097":{"name":"Gnome Archer","hitpoints":10,"combatLevel":5,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":6,"magicLevel":1},"6098":{"name":"Gnome Driver","hitpoints":10,"combatLevel":5,"attackSpeed":6,"attackLevel":3,"strengthLevel":5,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"6099":{"name":"Gnome Mage","hitpoints":10,"combatLevel":5,"attackSpeed":6,"attackLevel":3,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1},"6102":{"name":"Bush snake","hitpoints":25,"combatLevel":35,"attackSpeed":3,"attackLevel":25,"strengthLevel":25,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"6103":{"name":"Bush snake","hitpoints":25,"combatLevel":35,"attackSpeed":3,"attackLevel":25,"strengthLevel":25,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"6118":{"name":"Elvarg (hard)","hitpoints":240,"combatLevel":214,"slayerLevel":1,"attackSpeed":4,"attackLevel":210,"strengthLevel":210,"defenceLevel":70,"rangeLevel":1,"magicLevel":210,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30},"6119":{"name":"The Inadequacy (hard)","hitpoints":255,"combatLevel":600,"attackSpeed":4,"attackLevel":1128,"strengthLevel":340,"defenceLevel":240,"rangeLevel":340,"magicLevel":1},"6120":{"name":"The Everlasting (hard)","hitpoints":255,"combatLevel":365,"attackSpeed":6,"attackLevel":374,"strengthLevel":462,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"6121":{"name":"The Untouchable (hard)","hitpoints":180,"combatLevel":440,"attackSpeed":6,"attackLevel":374,"strengthLevel":510,"defenceLevel":434,"rangeLevel":1,"magicLevel":1},"6177":{"name":"Scion","hitpoints":50,"combatLevel":100,"attackSpeed":4,"attackLevel":120,"strengthLevel":90,"defenceLevel":80,"rangeLevel":100,"magicLevel":1,"range":30,"bonusAttack":30,"bonusRangeStrength":30,"poisonImmune":true,"venomImmune":true},"6267":{"name":"Jungle spider","hitpoints":50,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":37,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"6271":{"name":"Jungle spider","hitpoints":50,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":37,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"6272":{"name":"Large mosquito","hitpoints":3,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":1,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"6273":{"name":"Mosquito swarm","hitpoints":9,"combatLevel":17,"attackSpeed":3,"attackLevel":10,"strengthLevel":1,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"6291":{"name":"Tanglefoot (hard)","hitpoints":204,"combatLevel":199,"attackSpeed":4,"attackLevel":194,"strengthLevel":194,"defenceLevel":91,"rangeLevel":1,"magicLevel":1},"6292":{"name":"Chronozon (hard)","hitpoints":120,"combatLevel":297,"attackSpeed":4,"attackLevel":346,"strengthLevel":344,"defenceLevel":173,"rangeLevel":1,"magicLevel":1,"demon":true},"6293":{"name":"Bouncer (hard)","hitpoints":232,"combatLevel":244,"attackSpeed":4,"attackLevel":240,"strengthLevel":240,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"6294":{"name":"Ice Troll King (hard)","hitpoints":255,"combatLevel":213,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":45,"rangeDef":2000,"magicDef":2000,"bonusAttack":60,"bonusStrength":60},"6295":{"name":"Black demon (hard)","hitpoints":157,"combatLevel":292,"slayerLevel":1,"attackSpeed":4,"attackLevel":290,"strengthLevel":296,"defenceLevel":152,"rangeLevel":1,"magicLevel":1,"demon":true},"6297":{"name":"Glod (hard)","hitpoints":255,"combatLevel":276,"attackSpeed":4,"attackLevel":230,"strengthLevel":240,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":105,"slashDef":110,"crushDef":130,"rangeDef":100,"magicDef":125},"6298":{"name":"Treus Dayth (hard)","hitpoints":240,"combatLevel":194,"attackSpeed":4,"attackLevel":168,"strengthLevel":168,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5},"6299":{"name":"Black Knight Titan (hard)","hitpoints":255,"combatLevel":210,"attackSpeed":7,"attackLevel":182,"strengthLevel":200,"defenceLevel":91,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":27,"crushDef":18,"rangeDef":1000,"magicDef":1000,"bonusAttack":27,"bonusStrength":22},"6300":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6301":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6302":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6303":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6304":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6305":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6307":{"name":"Culinaromancer (hard)","hitpoints":255,"combatLevel":209,"attackSpeed":4,"attackLevel":10,"strengthLevel":400,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"6308":{"name":"Agrith-Na-Na (hard)","hitpoints":255,"combatLevel":235,"attackSpeed":4,"attackLevel":166,"strengthLevel":300,"defenceLevel":82,"rangeLevel":200,"magicLevel":200,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":100},"6309":{"name":"Flambeed (hard)","hitpoints":255,"combatLevel":238,"attackSpeed":4,"attackLevel":240,"strengthLevel":240,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":100},"6310":{"name":"Karamel (hard)","hitpoints":255,"combatLevel":186,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":200,"magicLevel":1,"stab":100,"slash":100,"crush":100,"range":268,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":150,"magicDef":150,"bonusRangeStrength":110},"6311":{"name":"Dessourt (hard)","hitpoints":255,"combatLevel":217,"attackSpeed":3,"attackLevel":198,"strengthLevel":198,"defenceLevel":198,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"6312":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6313":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6314":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6315":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6316":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6317":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6318":{"name":"Nezikchened (hard)","hitpoints":150,"combatLevel":295,"attackSpeed":5,"attackLevel":330,"strengthLevel":336,"defenceLevel":167,"rangeLevel":320,"magicLevel":320,"demon":true},"6319":{"name":"Tree spirit (hard)","hitpoints":187,"combatLevel":199,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":209,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6320":{"name":"Me (hard)","hitpoints":135,"combatLevel":201,"attackSpeed":4,"attackLevel":225,"strengthLevel":234,"defenceLevel":74,"rangeLevel":1,"magicLevel":1},"6321":{"name":"Jungle Demon (hard)","hitpoints":255,"combatLevel":327,"attackSpeed":6,"attackLevel":340,"strengthLevel":340,"defenceLevel":170,"rangeLevel":1,"magicLevel":340,"slashDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50,"demon":true},"6322":{"name":"The Kendal (hard)","hitpoints":150,"combatLevel":210,"attackSpeed":4,"attackLevel":195,"strengthLevel":195,"defenceLevel":60,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"bonusAttack":5,"bonusStrength":10},"6323":{"name":"Giant Roc (hard)","hitpoints":255,"combatLevel":257,"attackSpeed":6,"attackLevel":260,"strengthLevel":260,"defenceLevel":100,"rangeLevel":130,"magicLevel":1,"magicDef":150},"6324":{"name":"Slagilith (hard)","hitpoints":150,"combatLevel":202,"attackSpeed":4,"attackLevel":150,"strengthLevel":300,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":10},"6325":{"name":"Moss Guardian (hard)","hitpoints":240,"combatLevel":182,"attackSpeed":6,"attackLevel":165,"strengthLevel":165,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"bonusAttack":66,"bonusStrength":62},"6326":{"name":"Skeleton Hellhound (hard)","hitpoints":132,"combatLevel":198,"attackSpeed":4,"attackLevel":168,"strengthLevel":264,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"6327":{"name":"Agrith Naar (hard)","hitpoints":209,"combatLevel":196,"attackSpeed":4,"attackLevel":182,"strengthLevel":198,"defenceLevel":82,"rangeLevel":220,"magicLevel":220,"demon":true},"6328":{"name":"King Roald (hard)","hitpoints":150,"combatLevel":188,"attackSpeed":4,"attackLevel":140,"strengthLevel":120,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"6329":{"name":"Khazard warlord (hard)","hitpoints":255,"combatLevel":192,"attackSpeed":4,"attackLevel":165,"strengthLevel":170,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6330":{"name":"Dad (hard)","hitpoints":240,"combatLevel":201,"slayerLevel":1,"attackSpeed":8,"attackLevel":132,"strengthLevel":264,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"6331":{"name":"Arrg (hard)","hitpoints":255,"combatLevel":210,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":280,"defenceLevel":40,"rangeLevel":140,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"6332":{"name":"Count Draynor (hard)","hitpoints":210,"combatLevel":177,"slayerLevel":1,"attackSpeed":4,"attackLevel":198,"strengthLevel":165,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":1,"crushDef":3},"6333":{"name":"Witch's experiment (hard)","hitpoints":63,"combatLevel":47,"attackSpeed":4,"attackLevel":54,"strengthLevel":30,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"6334":{"name":"Witch's experiment (second form) (hard)","hitpoints":93,"combatLevel":77,"attackSpeed":4,"attackLevel":84,"strengthLevel":60,"defenceLevel":29,"rangeLevel":1,"magicLevel":1},"6335":{"name":"Witch's experiment (third form) (hard)","hitpoints":103,"combatLevel":90,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"6336":{"name":"Witch's experiment (fourth form) (hard)","hitpoints":113,"combatLevel":103,"attackSpeed":4,"attackLevel":105,"strengthLevel":88,"defenceLevel":49,"rangeLevel":1,"magicLevel":1},"6337":{"name":"Nazastarool (hard)","hitpoints":154,"combatLevel":176,"slayerLevel":1,"attackSpeed":4,"attackLevel":187,"strengthLevel":176,"defenceLevel":80},"6338":{"name":"Nazastarool (hard)","hitpoints":180,"combatLevel":153,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":58,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"magicDef":5,"bonusAttack":15,"bonusStrength":15},"6339":{"name":"Nazastarool (hard)","hitpoints":176,"combatLevel":181,"slayerLevel":1,"attackSpeed":4,"attackLevel":187,"strengthLevel":176,"defenceLevel":80},"6340":{"name":"Cow (hard)","hitpoints":160,"combatLevel":170,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6342":{"name":"Barrelchest","hitpoints":134,"combatLevel":190,"attackSpeed":5,"attackLevel":170,"strengthLevel":145,"defenceLevel":140,"rangeLevel":1,"magicLevel":90,"bonusAttack":80,"bonusStrength":80},"6343":{"name":"Giant scarab","hitpoints":130,"combatLevel":191,"slayerLevel":1,"attackSpeed":4,"attackLevel":169,"strengthLevel":190,"defenceLevel":169,"rangeLevel":190,"magicLevel":1,"stabDef":70,"slashDef":99,"crushDef":99,"rangeDef":149,"magicDef":159},"6344":{"name":"Dessous","hitpoints":200,"combatLevel":139,"slayerLevel":1,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"6345":{"name":"Kamil","hitpoints":130,"combatLevel":154,"slayerLevel":1,"attackSpeed":4,"attackLevel":190,"strengthLevel":80,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":60,"crushDef":35,"bonusAttack":60,"bonusStrength":100},"6346":{"name":"Damis","hitpoints":90,"combatLevel":103,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":80},"6347":{"name":"Damis","hitpoints":200,"combatLevel":174,"attackSpeed":4,"attackLevel":160,"strengthLevel":100,"defenceLevel":160,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":120,"magicDef":80,"bonusStrength":100},"6348":{"name":"Fareed","hitpoints":130,"combatLevel":167,"attackSpeed":4,"attackLevel":190,"strengthLevel":120,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"bonusStrength":120},"6349":{"name":"Elvarg","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":70,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30},"6350":{"name":"The Inadequacy","hitpoints":180,"combatLevel":343,"attackSpeed":4,"attackLevel":564,"strengthLevel":170,"defenceLevel":240,"rangeLevel":170,"magicLevel":1},"6351":{"name":"The Everlasting","hitpoints":230,"combatLevel":223,"attackSpeed":6,"attackLevel":187,"strengthLevel":231,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"6352":{"name":"The Untouchable","hitpoints":90,"combatLevel":274,"attackSpeed":6,"attackLevel":187,"strengthLevel":255,"defenceLevel":434,"rangeLevel":1,"magicLevel":1},"6353":{"name":"Tanglefoot","hitpoints":102,"combatLevel":111,"attackSpeed":4,"attackLevel":97,"strengthLevel":97,"defenceLevel":91,"rangeLevel":1,"magicLevel":1},"6354":{"name":"Chronozon","hitpoints":60,"combatLevel":170,"attackSpeed":4,"attackLevel":173,"strengthLevel":172,"defenceLevel":173,"rangeLevel":1,"magicLevel":1,"demon":true},"6355":{"name":"Bouncer","hitpoints":116,"combatLevel":137,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"6356":{"name":"Ice Troll King","hitpoints":150,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":45,"rangeDef":2000,"magicDef":2000,"bonusAttack":60,"bonusStrength":60},"6357":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"6358":{"name":"Glod","hitpoints":160,"combatLevel":138,"attackSpeed":4,"attackLevel":115,"strengthLevel":120,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":105,"slashDef":110,"crushDef":130,"rangeDef":100,"magicDef":125},"6359":{"name":"Treus Dayth","hitpoints":100,"combatLevel":95,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5},"6360":{"name":"Black Knight Titan","hitpoints":142,"combatLevel":120,"attackSpeed":7,"attackLevel":91,"strengthLevel":100,"defenceLevel":91,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":27,"crushDef":18,"rangeDef":1000,"magicDef":1000,"bonusAttack":27,"bonusStrength":22},"6361":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6362":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6363":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6364":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6365":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6366":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6367":{"name":"Evil Chicken","hitpoints":120,"combatLevel":159,"attackSpeed":4,"defenceLevel":126,"magicLevel":200},"6368":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"6369":{"name":"Agrith-Na-Na","hitpoints":200,"combatLevel":146,"attackSpeed":4,"attackLevel":83,"strengthLevel":150,"defenceLevel":82,"rangeLevel":100,"magicLevel":100,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":100},"6370":{"name":"Flambeed","hitpoints":210,"combatLevel":149,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":100},"6371":{"name":"Karamel","hitpoints":250,"combatLevel":136,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":100,"magicLevel":1,"stab":50,"slash":50,"crush":50,"range":134,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":150,"magicDef":150,"bonusRangeStrength":55},"6372":{"name":"Dessourt","hitpoints":130,"combatLevel":121,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"6373":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6374":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6375":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6376":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6377":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6378":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6379":{"name":"Nezikchened","hitpoints":150,"combatLevel":187,"attackSpeed":5,"attackLevel":165,"strengthLevel":168,"defenceLevel":167,"rangeLevel":160,"magicLevel":160,"demon":true},"6380":{"name":"Tree spirit","hitpoints":85,"combatLevel":101,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":95,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6381":{"name":"Me","hitpoints":45,"combatLevel":79,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":74,"rangeLevel":1,"magicLevel":1},"6382":{"name":"Jungle Demon","hitpoints":170,"combatLevel":195,"attackSpeed":6,"attackLevel":170,"strengthLevel":170,"defenceLevel":170,"rangeLevel":1,"magicLevel":170,"slashDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50,"demon":true},"6383":{"name":"The Kendal","hitpoints":50,"combatLevel":70,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":60,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"bonusAttack":5,"bonusStrength":10},"6384":{"name":"Giant Roc","hitpoints":250,"combatLevel":172,"attackSpeed":6,"attackLevel":130,"strengthLevel":130,"defenceLevel":100,"rangeLevel":130,"magicLevel":1,"magicDef":150},"6385":{"name":"Slagilith","hitpoints":60,"combatLevel":92,"attackSpeed":4,"attackLevel":60,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":10},"6386":{"name":"Moss Guardian","hitpoints":120,"combatLevel":84,"attackSpeed":6,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"bonusAttack":66,"bonusStrength":62},"6387":{"name":"Skeleton Hellhound","hitpoints":55,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":110,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"6388":{"name":"Agrith Naar","hitpoints":100,"combatLevel":100,"attackSpeed":4,"attackLevel":83,"strengthLevel":90,"defenceLevel":82,"rangeLevel":100,"magicLevel":100,"demon":true},"6389":{"name":"King Roald","hitpoints":75,"combatLevel":47,"attackSpeed":4,"attackLevel":35,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"6390":{"name":"Khazard warlord","hitpoints":170,"combatLevel":112,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6391":{"name":"Dad","hitpoints":120,"combatLevel":101,"slayerLevel":1,"attackSpeed":8,"attackLevel":60,"strengthLevel":120,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"6392":{"name":"Arrg","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"rangeLevel":70,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"6393":{"name":"Count Draynor","hitpoints":35,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":1,"crushDef":3},"6394":{"name":"Witch's experiment","hitpoints":21,"combatLevel":19,"attackSpeed":4,"attackLevel":18,"strengthLevel":10,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"6395":{"name":"Witch's experiment (second form)","hitpoints":31,"combatLevel":30,"attackSpeed":4,"attackLevel":28,"strengthLevel":20,"defenceLevel":29,"rangeLevel":1,"magicLevel":1},"6396":{"name":"Witch's experiment (third form)","hitpoints":41,"combatLevel":42,"attackSpeed":4,"attackLevel":38,"strengthLevel":30,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"6397":{"name":"Witch's experiment (fourth form)","hitpoints":51,"combatLevel":53,"attackSpeed":4,"attackLevel":48,"strengthLevel":40,"defenceLevel":49,"rangeLevel":1,"magicLevel":1},"6398":{"name":"Nazastarool","hitpoints":70,"combatLevel":91,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":80},"6399":{"name":"Nazastarool","hitpoints":70,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":58,"strengthLevel":54,"defenceLevel":58,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"magicDef":5,"bonusAttack":15,"bonusStrength":15},"6400":{"name":"Nazastarool","hitpoints":80,"combatLevel":93,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":80},"6401":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"6402":{"name":"Mosquito swarm","hitpoints":15,"combatLevel":20,"attackSpeed":3,"attackLevel":15,"strengthLevel":1,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"6406":{"name":"Tribesman","hitpoints":39,"combatLevel":32,"attackSpeed":4,"attackLevel":23,"strengthLevel":27,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":6,"bonusAttack":8,"bonusStrength":5},"6407":{"name":"Tribesman","hitpoints":39,"combatLevel":32,"attackSpeed":4,"attackLevel":23,"strengthLevel":27,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":6,"bonusAttack":8,"bonusStrength":5},"6408":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6409":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6410":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6411":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6412":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6413":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6434":{"name":"Cave goblin","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6435":{"name":"Cave goblin","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6436":{"name":"Cave goblin","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6437":{"name":"Cave goblin","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6438":{"name":"Animated steel armour","hitpoints":50,"combatLevel":53,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":2,"rangeLevel":2,"magicLevel":2,"stabDef":50,"slashDef":25,"crushDef":25,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5,"poisonImmune":true,"venomImmune":true},"6440":{"name":"Giant skeleton","hitpoints":70,"combatLevel":80,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"undead":true},"6441":{"name":"Skeleton","hitpoints":85,"combatLevel":94,"slayerLevel":1,"attackSpeed":6,"attackLevel":70,"strengthLevel":80,"defenceLevel":60,"rangeLevel":1,"magicLevel":110,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":5,"undead":true},"6442":{"name":"Skeleton","hitpoints":80,"combatLevel":77,"slayerLevel":1,"attackLevel":72,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":5,"undead":true},"6443":{"name":"Skeleton","hitpoints":71,"combatLevel":81,"slayerLevel":1,"attackLevel":72,"strengthLevel":64,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"rangeDef":40,"undead":true},"6444":{"name":"Skeleton","hitpoints":40,"combatLevel":42,"slayerLevel":1,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6445":{"name":"Skeleton","hitpoints":53,"combatLevel":59,"slayerLevel":1,"attackLevel":50,"strengthLevel":46,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6446":{"name":"Skeleton","hitpoints":42,"combatLevel":42,"slayerLevel":1,"attackLevel":36,"strengthLevel":38,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6447":{"name":"Skeleton","hitpoints":58,"combatLevel":63,"slayerLevel":1,"attackLevel":56,"strengthLevel":61,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6448":{"name":"Skeleton","hitpoints":26,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":33,"strengthLevel":31,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6449":{"name":"Zombie","hitpoints":38,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":36,"strengthLevel":35,"defenceLevel":33,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6450":{"name":"Zombie","hitpoints":40,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":39,"strengthLevel":35,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6451":{"name":"Zombie","hitpoints":42,"combatLevel":47,"slayerLevel":1,"attackSpeed":4,"attackLevel":42,"strengthLevel":39,"defenceLevel":42,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6452":{"name":"Zombie","hitpoints":48,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":44,"strengthLevel":42,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6453":{"name":"Zombie","hitpoints":50,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6454":{"name":"Zombie","hitpoints":57,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":55,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6455":{"name":"Zombie","hitpoints":63,"combatLevel":67,"slayerLevel":1,"attackSpeed":4,"attackLevel":56,"strengthLevel":58,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6456":{"name":"Zombie","hitpoints":65,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":61,"strengthLevel":60,"defenceLevel":61,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6457":{"name":"Zombie","hitpoints":68,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":61,"strengthLevel":63,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6458":{"name":"Zombie","hitpoints":71,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":69,"strengthLevel":65,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6459":{"name":"Zombie","hitpoints":73,"combatLevel":80,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":73,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6460":{"name":"Zombie","hitpoints":75,"combatLevel":85,"slayerLevel":1,"attackSpeed":4,"attackLevel":71,"strengthLevel":81,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6461":{"name":"Zombie","hitpoints":76,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":74,"strengthLevel":80,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6462":{"name":"Zombie","hitpoints":81,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":82,"strengthLevel":80,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6463":{"name":"Zombie","hitpoints":92,"combatLevel":95,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6464":{"name":"Zombie","hitpoints":96,"combatLevel":98,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":83,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6465":{"name":"Zombie","hitpoints":102,"combatLevel":100,"slayerLevel":1,"attackSpeed":4,"attackLevel":86,"strengthLevel":83,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6466":{"name":"Zombie","hitpoints":76,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":69,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6467":{"name":"Skeleton","hitpoints":69,"combatLevel":72,"slayerLevel":1,"attackLevel":75,"strengthLevel":61,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":15,"undead":true},"6468":{"name":"Skeleton","hitpoints":92,"combatLevel":87,"slayerLevel":1,"attackLevel":75,"strengthLevel":80,"defenceLevel":55,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":15,"undead":true},"6469":{"name":"Possessed pickaxe","hitpoints":40,"combatLevel":50,"attackSpeed":4,"attackLevel":40,"strengthLevel":55,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"6470":{"name":"Animated spade","hitpoints":40,"combatLevel":50,"attackSpeed":4,"attackLevel":40,"strengthLevel":55,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"6473":{"name":"Terror dog","hitpoints":87,"combatLevel":110,"slayerLevel":40,"attackSpeed":4,"attackLevel":110,"strengthLevel":104,"defenceLevel":78,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"6474":{"name":"Terror dog","hitpoints":82,"combatLevel":100,"slayerLevel":40,"attackSpeed":4,"attackLevel":100,"strengthLevel":90,"defenceLevel":74,"rangeLevel":1,"magicLevel":1,"bonusStrength":10},"6476":{"name":"Tarn","hitpoints":80,"combatLevel":69,"slayerLevel":40,"attackSpeed":4,"attackLevel":40,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50},"6477":{"name":"Mutant tarn","hitpoints":80,"combatLevel":69,"slayerLevel":40,"attackSpeed":4,"attackLevel":40,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50},"6492":{"name":"Kree'arra","hitpoints":255,"combatLevel":580,"slayerLevel":1,"attackSpeed":3,"attackLevel":300,"strengthLevel":200,"defenceLevel":260,"rangeLevel":380,"magicLevel":200,"range":120,"stabDef":180,"slashDef":180,"crushDef":180,"rangeDef":200,"magicDef":200,"bonusAttack":136,"bonusStrength":12,"bonusRangeStrength":50},"6493":{"name":"Commander Zilyana","hitpoints":255,"combatLevel":596,"slayerLevel":1,"attackSpeed":2,"attackLevel":280,"strengthLevel":196,"defenceLevel":300,"rangeLevel":250,"magicLevel":300,"magic":200,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":195,"bonusStrength":20,"poisonImmune":true,"venomImmune":true},"6494":{"name":"General Graardor","hitpoints":255,"combatLevel":624,"slayerLevel":1,"attackSpeed":6,"attackLevel":280,"strengthLevel":350,"defenceLevel":250,"rangeLevel":350,"magicLevel":80,"range":100,"stabDef":90,"slashDef":90,"crushDef":90,"rangeDef":90,"magicDef":298,"bonusAttack":120,"bonusStrength":43,"bonusRangeStrength":40,"poisonImmune":true,"venomImmune":true},"6495":{"name":"K'ril Tsutsaroth","hitpoints":255,"combatLevel":650,"slayerLevel":1,"attackSpeed":6,"attackLevel":340,"strengthLevel":300,"defenceLevel":270,"rangeLevel":1,"magicLevel":200,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":80,"magicDef":130,"bonusAttack":160,"bonusStrength":31,"demon":true},"6496":{"name":"Dagannoth Supreme","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":128,"rangeLevel":255,"magicLevel":255,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":550,"magicDef":255},"6497":{"name":"Dagannoth Prime","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":255,"magicLevel":255,"stabDef":255,"slashDef":255,"crushDef":255,"rangeDef":10,"magicDef":255},"6498":{"name":"Dagannoth Rex","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":255,"rangeLevel":255,"stabDef":255,"slashDef":255,"crushDef":255,"rangeDef":255,"magicDef":10},"6499":{"name":"Giant Mole","hitpoints":200,"combatLevel":230,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":200,"stabDef":60,"slashDef":80,"crushDef":100,"rangeDef":60,"magicDef":80},"6500":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":100,"magicDef":100},"6501":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":10,"magicDef":10},"6503":{"name":"Callisto","hitpoints":255,"combatLevel":470,"slayerLevel":1,"attackSpeed":4,"attackLevel":350,"strengthLevel":370,"defenceLevel":440,"rangeLevel":1,"magicLevel":1,"stabDef":135,"slashDef":104,"crushDef":175,"rangeDef":230,"magicDef":900,"poisonImmune":true,"venomImmune":true},"6504":{"name":"Venenatis","hitpoints":255,"combatLevel":464,"slayerLevel":1,"attackLevel":470,"strengthLevel":490,"defenceLevel":490,"rangeLevel":1,"magicLevel":150,"stabDef":260,"slashDef":260,"crushDef":260,"rangeDef":100,"magicDef":850,"poisonImmune":true,"venomImmune":true},"6505":{"name":"Chaos Elemental","hitpoints":250,"combatLevel":305,"slayerLevel":1,"attackSpeed":5,"attackLevel":270,"strengthLevel":270,"defenceLevel":270,"rangeLevel":270,"magicLevel":270,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":70,"magicDef":70},"6506":{"name":"TzTok-Jad","hitpoints":250,"combatLevel":702,"slayerLevel":1,"attackSpeed":8,"attackLevel":640,"strengthLevel":960,"defenceLevel":480,"rangeLevel":960,"magicLevel":480,"magic":60},"6574":{"name":"Gnome guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6575":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6576":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6579":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6580":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6581":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6582":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6583":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6587":{"name":"Armadylian guard","hitpoints":132,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":82,"rangeLevel":90,"magicLevel":80,"magicDef":3},"6588":{"name":"Bandosian guard","hitpoints":130,"combatLevel":125,"attackSpeed":5,"attackLevel":110,"strengthLevel":115,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"6593":{"name":"Lava dragon","hitpoints":230,"combatLevel":252,"slayerLevel":1,"attackSpeed":4,"attackLevel":240,"strengthLevel":220,"defenceLevel":220,"rangeLevel":1,"magicLevel":1,"stabDef":70,"slashDef":90,"crushDef":90,"rangeDef":70,"magicDef":80,"dragon":true},"6594":{"name":"Ent","hitpoints":105,"combatLevel":101,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":95,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":30,"magicDef":40},"6596":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"6597":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"6598":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"6600":{"name":"Runite Golem","hitpoints":170,"combatLevel":178,"attackSpeed":4,"attackLevel":140,"strengthLevel":150,"defenceLevel":165,"rangeLevel":1,"magicLevel":1},"6603":{"name":"Rogue","hitpoints":125,"combatLevel":135,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":140,"defenceLevel":150,"rangeLevel":1,"magicLevel":1},"6604":{"name":"Mammoth","hitpoints":130,"combatLevel":80,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":60,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"6605":{"name":"Bandit","hitpoints":155,"combatLevel":130,"slayerLevel":1,"attackSpeed":4,"attackLevel":57,"strengthLevel":57,"defenceLevel":57,"rangeLevel":1,"magicLevel":1,"stab":57,"slashDef":23,"crushDef":22,"bonusStrength":52},"6606":{"name":"Dark warrior","hitpoints":165,"combatLevel":145,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1,"stabDef":106,"slashDef":109,"crushDef":139,"bonusAttack":80,"bonusStrength":76},"6607":{"name":"Elder Chaos druid","hitpoints":150,"combatLevel":129,"slayerLevel":1,"attackSpeed":4,"attackLevel":98,"strengthLevel":65,"defenceLevel":98,"rangeLevel":1,"magicLevel":110},"6608":{"name":"Ankou","hitpoints":70,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"undead":true},"6609":{"name":"Callisto","hitpoints":255,"combatLevel":470,"slayerLevel":1,"attackSpeed":4,"attackLevel":350,"strengthLevel":370,"defenceLevel":440,"rangeLevel":1,"magicLevel":1,"stabDef":135,"slashDef":104,"crushDef":175,"rangeDef":230,"magicDef":900,"poisonImmune":true,"venomImmune":true},"6610":{"name":"Venenatis","hitpoints":255,"combatLevel":464,"slayerLevel":1,"attackLevel":470,"strengthLevel":490,"defenceLevel":490,"rangeLevel":1,"magicLevel":150,"stabDef":260,"slashDef":260,"crushDef":260,"rangeDef":100,"magicDef":850,"poisonImmune":true,"venomImmune":true},"6611":{"name":"Vet'ion","hitpoints":255,"combatLevel":454,"slayerLevel":1,"attackSpeed":4,"attackLevel":430,"strengthLevel":430,"defenceLevel":395,"rangeLevel":1,"magicLevel":300,"stabDef":201,"slashDef":200,"rangeDef":270,"magicDef":250,"undead":true},"6612":{"name":"Vet'ion Reborn","hitpoints":255,"combatLevel":454,"slayerLevel":1,"attackSpeed":4,"attackLevel":430,"strengthLevel":430,"defenceLevel":395,"rangeLevel":1,"magicLevel":300,"stabDef":201,"slashDef":200,"rangeDef":270,"magicDef":250,"undead":true},"6613":{"name":"Skeleton Hellhound","hitpoints":110,"combatLevel":214,"slayerLevel":1,"attackSpeed":4,"attackLevel":210,"strengthLevel":250,"defenceLevel":150,"rangeLevel":1,"magicLevel":1,"stabDef":101,"slashDef":103,"crushDef":10,"rangeDef":266,"magicDef":180,"undead":true},"6614":{"name":"Greater Skeleton Hellhound","hitpoints":190,"combatLevel":281,"slayerLevel":1,"attackSpeed":4,"attackLevel":240,"strengthLevel":310,"defenceLevel":220,"rangeLevel":1,"magicLevel":1,"stabDef":150,"slashDef":163,"crushDef":20,"rangeDef":275,"magicDef":210,"undead":true},"6615":{"name":"Scorpia","hitpoints":200,"combatLevel":225,"slayerLevel":1,"attackSpeed":4,"attackLevel":250,"strengthLevel":150,"defenceLevel":180,"rangeLevel":1,"magicLevel":1,"stabDef":246,"slashDef":284,"crushDef":284,"rangeDef":284,"magicDef":44,"bonusAttack":60},"6616":{"name":"Scorpia's offspring","hitpoints":2,"combatLevel":15,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":30,"magicLevel":1,"range":900},"6617":{"name":"Scorpia's guardian","hitpoints":70,"combatLevel":47,"slayerLevel":1,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":30,"magicLevel":30},"6618":{"name":"Crazy archaeologist","hitpoints":225,"combatLevel":204,"slayerLevel":1,"attackSpeed":3,"attackLevel":160,"strengthLevel":90,"defenceLevel":240,"rangeLevel":180,"magicLevel":1,"range":75,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":250,"magicDef":250,"bonusAttack":250,"bonusStrength":25},"6619":{"name":"Chaos Fanatic","hitpoints":225,"combatLevel":202,"slayerLevel":1,"attackSpeed":2,"attackLevel":1,"strengthLevel":1,"defenceLevel":220,"rangeLevel":1,"magicLevel":200,"range":75,"stabDef":260,"slashDef":260,"crushDef":250,"rangeDef":80,"magicDef":280},"6624":{"name":"Energy sprite","hitpoints":62},"6698":{"name":"Ghost guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6699":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6700":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6701":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6702":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6716":{"name":"Chaotic death spawn","hitpoints":50,"combatLevel":215,"attackSpeed":3,"attackLevel":380,"strengthLevel":1,"defenceLevel":70,"rangeLevel":380,"magicLevel":380,"demon":true},"6723":{"name":"Chaotic death spawn","hitpoints":50,"combatLevel":215,"attackSpeed":3,"attackLevel":380,"strengthLevel":1,"defenceLevel":70,"rangeLevel":380,"magicLevel":380,"demon":true},"6725":{"name":"Rock Golem","combatLevel":14,"attackSpeed":4},"6726":{"name":"Rock Golem","combatLevel":29,"attackSpeed":4},"6727":{"name":"Rock Golem","combatLevel":49,"attackSpeed":4},"6728":{"name":"Rock Golem","hitpoints":86,"combatLevel":79,"attackSpeed":4},"6729":{"name":"Rock Golem","hitpoints":120,"combatLevel":120,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":75,"magicLevel":1},"6730":{"name":"Rock Golem","hitpoints":170,"combatLevel":159,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":80,"magicLevel":1},"6732":{"name":"River troll","combatLevel":14,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1},"6733":{"name":"River troll","combatLevel":29,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":32,"rangeLevel":1,"magicLevel":1},"6734":{"name":"River troll","combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":48,"strengthLevel":48,"defenceLevel":48,"rangeLevel":1,"magicLevel":1},"6735":{"name":"River troll","hitpoints":85,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"6736":{"name":"River troll","hitpoints":120,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"6737":{"name":"River troll","hitpoints":170,"combatLevel":159,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1},"6739":{"name":"Evil Chicken","hitpoints":120,"combatLevel":159,"attackSpeed":4,"defenceLevel":126,"magicLevel":200},"6740":{"name":"Shade","hitpoints":170,"combatLevel":159,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"undead":true},"6741":{"name":"Zombie","hitpoints":170,"combatLevel":159,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"undead":true},"6766":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"6767":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"6794":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"6805":{"name":"Kruk","hitpoints":210,"combatLevel":149,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":150,"rangeLevel":170,"magicLevel":130,"range":150,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":250,"bonusAttack":160,"bonusStrength":90,"bonusRangeStrength":70},"6813":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"6815":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6816":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6817":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6818":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6819":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6820":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6821":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6822":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6824":{"name":"Giant bat","hitpoints":32,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":12,"rangeDef":8,"magicDef":10},"6896":{"name":"Gangster","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"crushDef":10,"bonusAttack":20,"bonusStrength":30},"6897":{"name":"Gangster","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"crushDef":10,"bonusAttack":20,"bonusStrength":30},"6898":{"name":"Gangster","hitpoints":50,"combatLevel":50,"attackSpeed":5,"attackLevel":50,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"crushDef":10,"bonusAttack":35,"bonusStrength":15},"6899":{"name":"Gangster","hitpoints":50,"combatLevel":50,"attackSpeed":5,"attackLevel":50,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"crushDef":10,"bonusAttack":35,"bonusStrength":15},"6900":{"name":"Gang boss","hitpoints":80,"combatLevel":83,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":80,"magicLevel":1,"range":50,"crushDef":10},"6901":{"name":"Gang boss","hitpoints":80,"combatLevel":83,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":80,"magicLevel":1,"range":50,"crushDef":10},"6902":{"name":"Gang boss","hitpoints":80,"combatLevel":76,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":80,"magicLevel":1,"range":50,"crushDef":10},"6903":{"name":"Gang boss","hitpoints":80,"combatLevel":76,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":80,"magicLevel":1,"range":50,"crushDef":10},"6904":{"name":"Soldier (tier 1)","hitpoints":50,"combatLevel":39,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":11,"poisonImmune":true,"venomImmune":true},"6905":{"name":"Soldier (tier 1)","hitpoints":50,"combatLevel":39,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":11,"poisonImmune":true,"venomImmune":true},"6906":{"name":"Soldier (tier 2)","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusAttack":25,"bonusStrength":30,"poisonImmune":true,"venomImmune":true},"6907":{"name":"Soldier (tier 2)","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusAttack":25,"bonusStrength":30,"poisonImmune":true,"venomImmune":true},"6908":{"name":"Soldier (tier 3)","hitpoints":55,"combatLevel":58,"attackSpeed":5,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"bonusAttack":20,"bonusStrength":8,"poisonImmune":true,"venomImmune":true},"6909":{"name":"Soldier (tier 3)","hitpoints":55,"combatLevel":58,"attackSpeed":5,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"bonusAttack":20,"bonusStrength":8,"poisonImmune":true,"venomImmune":true},"6910":{"name":"Soldier (tier 4)","hitpoints":65,"combatLevel":70,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"bonusAttack":10,"bonusStrength":8,"poisonImmune":true,"venomImmune":true},"6911":{"name":"Soldier (tier 4)","hitpoints":65,"combatLevel":70,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"bonusAttack":10,"bonusStrength":8,"poisonImmune":true,"venomImmune":true},"6912":{"name":"Soldier (tier 5)","hitpoints":90,"combatLevel":99,"attackSpeed":4,"attackLevel":85,"strengthLevel":85,"defenceLevel":86,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":5,"poisonImmune":true,"venomImmune":true},"6913":{"name":"Soldier (tier 5)","hitpoints":90,"combatLevel":99,"attackSpeed":4,"attackLevel":85,"strengthLevel":85,"defenceLevel":86,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":5,"poisonImmune":true,"venomImmune":true},"6914":{"name":"Lizardman","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":43,"magicLevel":1,"range":22,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"6915":{"name":"Lizardman","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":43,"magicLevel":1,"range":22,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"6916":{"name":"Lizardman","hitpoints":60,"combatLevel":62,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":53,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"range":28,"slashDef":20,"crushDef":5,"bonusAttack":28,"bonusStrength":25,"bonusRangeStrength":25},"6917":{"name":"Lizardman","hitpoints":60,"combatLevel":62,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":53,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"range":28,"slashDef":20,"crushDef":5,"bonusAttack":28,"bonusStrength":25,"bonusRangeStrength":25},"6918":{"name":"Lizardman brute","hitpoints":60,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"range":34,"slashDef":30,"crushDef":10,"bonusAttack":34,"bonusStrength":30,"bonusRangeStrength":30},"6919":{"name":"Lizardman brute","hitpoints":60,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"range":34,"slashDef":30,"crushDef":10,"bonusAttack":34,"bonusStrength":30,"bonusRangeStrength":30},"6956":{"name":"Monk","hitpoints":5,"combatLevel":3,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"6987":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6988":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6989":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6990":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6991":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6992":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6996":{"name":"Mugger","hitpoints":8,"combatLevel":6,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1},"7016":{"name":"Kourend guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4},"7017":{"name":"Kourend head guard","hitpoints":86,"combatLevel":84,"attackSpeed":4,"attackLevel":75,"strengthLevel":73,"defenceLevel":61,"rangeLevel":1,"magicLevel":1,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":27,"bonusAttack":17,"bonusStrength":15},"7018":{"name":"Reanimated goblin","hitpoints":5,"attackSpeed":4},"7019":{"name":"Reanimated monkey","hitpoints":5,"attackSpeed":4},"7020":{"name":"Reanimated imp","hitpoints":5,"attackSpeed":4},"7021":{"name":"Reanimated minotaur","hitpoints":10,"attackSpeed":4},"7022":{"name":"Reanimated scorpion","hitpoints":15,"attackSpeed":4},"7023":{"name":"Reanimated bear","hitpoints":15,"attackSpeed":4},"7024":{"name":"Reanimated unicorn","hitpoints":15,"attackSpeed":4},"7025":{"name":"Reanimated dog","hitpoints":35,"attackSpeed":4},"7026":{"name":"Reanimated chaos druid","hitpoints":35,"attackSpeed":4},"7027":{"name":"Reanimated giant","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7028":{"name":"Reanimated ogre","hitpoints":35,"attackSpeed":5},"7029":{"name":"Reanimated elf","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7030":{"name":"Reanimated troll","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7031":{"name":"Reanimated horror","hitpoints":35,"slayerLevel":58,"attackSpeed":4},"7032":{"name":"Reanimated kalphite","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7033":{"name":"Reanimated dagannoth","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7034":{"name":"Reanimated bloodveld","hitpoints":35,"slayerLevel":50,"attackSpeed":4},"7035":{"name":"Reanimated TzHaar","hitpoints":35,"attackSpeed":5},"7036":{"name":"Reanimated demon","hitpoints":35,"attackSpeed":4},"7037":{"name":"Reanimated aviansie","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7038":{"name":"Reanimated abyssal","hitpoints":35,"slayerLevel":85,"attackSpeed":4},"7039":{"name":"Reanimated dragon","hitpoints":35,"attackSpeed":4,"dragon":true},"7095":{"name":"Tortured gorilla","hitpoints":110,"combatLevel":142,"slayerLevel":1,"attackSpeed":4,"attackLevel":180,"strengthLevel":90,"defenceLevel":110,"rangeLevel":1,"magicLevel":110,"bonusAttack":90,"bonusStrength":123},"7096":{"name":"Tortured gorilla","hitpoints":110,"combatLevel":142,"slayerLevel":1,"attackSpeed":4,"attackLevel":180,"strengthLevel":90,"defenceLevel":110,"rangeLevel":1,"magicLevel":110,"bonusAttack":90,"bonusStrength":123},"7097":{"name":"Tortured gorilla","hitpoints":110,"combatLevel":142,"slayerLevel":1,"attackSpeed":4,"attackLevel":180,"strengthLevel":90,"defenceLevel":110,"rangeLevel":1,"magicLevel":110,"bonusAttack":90,"bonusStrength":123},"7101":{"name":"Glough","hitpoints":575,"combatLevel":378,"attackSpeed":6,"attackLevel":260,"strengthLevel":270,"defenceLevel":248,"rangeLevel":262,"magicLevel":250,"range":100,"magic":80,"bonusAttack":122,"bonusStrength":75,"bonusRangeStrength":40,"bonusMagicDamage":40},"7102":{"name":"Glough","hitpoints":575,"combatLevel":378,"attackSpeed":6,"attackLevel":260,"strengthLevel":270,"defenceLevel":248,"rangeLevel":262,"magicLevel":250,"range":100,"magic":80,"bonusAttack":122,"bonusStrength":75,"bonusRangeStrength":40,"bonusMagicDamage":40},"7103":{"name":"Glough","hitpoints":575,"combatLevel":378,"attackSpeed":6,"attackLevel":260,"strengthLevel":270,"defenceLevel":248,"rangeLevel":262,"magicLevel":250,"range":100,"magic":80,"bonusAttack":122,"bonusStrength":75,"bonusRangeStrength":40,"bonusMagicDamage":40},"7104":{"name":"Keef","hitpoints":180,"combatLevel":178,"attackSpeed":5,"attackLevel":165,"strengthLevel":120,"defenceLevel":165,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"bonusAttack":190,"bonusStrength":170},"7105":{"name":"Keef","hitpoints":180,"combatLevel":178,"attackSpeed":5,"attackLevel":165,"strengthLevel":120,"defenceLevel":165,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"bonusAttack":190,"bonusStrength":170},"7106":{"name":"Kob","hitpoints":200,"combatLevel":185,"attackSpeed":5,"attackLevel":180,"strengthLevel":175,"defenceLevel":80,"stabDef":85,"slashDef":85,"crushDef":90,"rangeDef":200,"magicDef":200,"bonusAttack":200,"bonusStrength":135,"poisonImmune":true,"venomImmune":true},"7107":{"name":"Kob","hitpoints":200,"combatLevel":185,"attackSpeed":5,"attackLevel":180,"strengthLevel":175,"defenceLevel":80,"stabDef":85,"slashDef":85,"crushDef":90,"rangeDef":200,"magicDef":200,"bonusAttack":200,"bonusStrength":135,"poisonImmune":true,"venomImmune":true},"7118":{"name":"Maniacal monkey","hitpoints":65,"combatLevel":140,"attackSpeed":4,"attackLevel":200,"strengthLevel":175,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"7119":{"name":"Maniacal Monkey Archer","hitpoints":60,"combatLevel":132,"attackSpeed":4,"attackLevel":120,"strengthLevel":80,"defenceLevel":80,"rangeLevel":200,"magicLevel":1},"7144":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7145":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7146":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7147":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7148":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7149":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7150":{"name":"Tortured gorilla","hitpoints":210,"combatLevel":141,"slayerLevel":1,"attackSpeed":5,"attackLevel":105,"strengthLevel":95,"defenceLevel":95,"rangeLevel":95,"magicLevel":95,"range":22,"magic":20,"magicDef":25,"bonusAttack":22,"bonusStrength":16,"bonusRangeStrength":16,"bonusMagicDamage":16},"7151":{"name":"Tortured gorilla","hitpoints":210,"combatLevel":141,"slayerLevel":1,"attackSpeed":5,"attackLevel":105,"strengthLevel":95,"defenceLevel":95,"rangeLevel":95,"magicLevel":95,"range":22,"magic":20,"magicDef":25,"bonusAttack":22,"bonusStrength":16,"bonusRangeStrength":16,"bonusMagicDamage":16},"7152":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7153":{"name":"Tortured gorilla","hitpoints":210,"combatLevel":141,"slayerLevel":1,"attackSpeed":5,"attackLevel":105,"strengthLevel":95,"defenceLevel":95,"rangeLevel":95,"magicLevel":95,"range":22,"magic":20,"magicDef":25,"bonusAttack":22,"bonusStrength":16,"bonusRangeStrength":16,"bonusMagicDamage":16},"7206":{"name":"Sand Crab","hitpoints":60,"combatLevel":15,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7207":{"name":"Sandy rocks","hitpoints":60,"combatLevel":15,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7209":{"name":"Guard dog","hitpoints":49,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":36,"defenceLevel":37,"rangeLevel":1,"magicLevel":1},"7234":{"name":"Ent","hitpoints":75,"combatLevel":86,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":30,"magicDef":40,"bonusAttack":35,"bonusStrength":65},"7238":{"name":"Forester","hitpoints":17,"combatLevel":15,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":3,"crushDef":5},"7241":{"name":"Abyssal demon","hitpoints":150,"combatLevel":124,"slayerLevel":85,"attackSpeed":4,"attackLevel":97,"strengthLevel":67,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"7242":{"name":"Black demon","hitpoints":170,"combatLevel":184,"slayerLevel":1,"attackSpeed":4,"attackLevel":155,"strengthLevel":158,"defenceLevel":162,"rangeLevel":1,"magicLevel":1,"demon":true},"7243":{"name":"Black demon","hitpoints":160,"combatLevel":178,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":148,"defenceLevel":175,"rangeLevel":1,"magicLevel":1,"demon":true},"7244":{"name":"Greater demon","hitpoints":120,"combatLevel":101,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"demon":true},"7245":{"name":"Greater demon","hitpoints":115,"combatLevel":100,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":70,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"demon":true},"7246":{"name":"Greater demon","hitpoints":130,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":90,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"demon":true},"7247":{"name":"Lesser demon","hitpoints":87,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7248":{"name":"Lesser demon","hitpoints":98,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":85,"rangeLevel":1,"magicLevel":1,"demon":true},"7249":{"name":"Dust devil","hitpoints":130,"combatLevel":110,"slayerLevel":65,"attackSpeed":4,"attackLevel":120,"strengthLevel":90,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"7250":{"name":"Dark beast","hitpoints":220,"combatLevel":182,"slayerLevel":90,"attackSpeed":4,"attackLevel":140,"strengthLevel":160,"defenceLevel":120,"rangeLevel":1,"magicLevel":160,"stabDef":30,"slashDef":40,"crushDef":100,"rangeDef":100,"magicDef":90},"7251":{"name":"Fire giant","hitpoints":150,"combatLevel":109,"slayerLevel":1,"attackSpeed":5,"attackLevel":90,"strengthLevel":80,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"7252":{"name":"Fire giant","hitpoints":130,"combatLevel":104,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":10,"crushDef":10,"magicDef":50,"bonusAttack":50,"bonusStrength":20},"7253":{"name":"Bronze dragon","hitpoints":122,"combatLevel":143,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":112,"rangeLevel":1,"magicLevel":130,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"7254":{"name":"Iron dragon","hitpoints":195,"combatLevel":215,"slayerLevel":1,"attackSpeed":4,"attackLevel":185,"strengthLevel":185,"defenceLevel":185,"rangeLevel":1,"magicLevel":120,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"7255":{"name":"Steel dragon","hitpoints":250,"combatLevel":274,"slayerLevel":1,"attackSpeed":4,"attackLevel":235,"strengthLevel":235,"defenceLevel":235,"rangeLevel":1,"magicLevel":130,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"7256":{"name":"Hellhound","hitpoints":116,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":104,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"7257":{"name":"Ankou","hitpoints":60,"combatLevel":95,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"undead":true},"7258":{"name":"Shade","hitpoints":115,"combatLevel":140,"slayerLevel":1,"attackSpeed":6,"attackLevel":130,"strengthLevel":136,"defenceLevel":100,"rangeLevel":50,"magicLevel":50,"undead":true},"7259":{"name":"Dagannoth","hitpoints":70,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"7260":{"name":"Dagannoth","hitpoints":120,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1},"7261":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"7262":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"7263":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"7264":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"7265":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"7266":{"name":"King Sand Crab","hitpoints":200,"combatLevel":107,"attackSpeed":6,"attackLevel":50,"strengthLevel":50,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"7267":{"name":"Sandy Boulder","hitpoints":200,"combatLevel":107,"attackSpeed":6,"attackLevel":50,"strengthLevel":50,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"7268":{"name":"Possessed pickaxe","hitpoints":40,"combatLevel":50,"attackSpeed":4,"attackLevel":40,"strengthLevel":55,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"7269":{"name":"Magic axe","hitpoints":45,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":38,"strengthLevel":38,"defenceLevel":29,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":5,"crushDef":15,"rangeDef":10,"magicDef":5},"7270":{"name":"Cyclops","hitpoints":100,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"7271":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"7272":{"name":"Twisted Banshee","hitpoints":109,"combatLevel":89,"slayerLevel":15,"attackSpeed":4,"attackLevel":75,"strengthLevel":85,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"undead":true},"7273":{"name":"Brutal blue dragon","hitpoints":245,"combatLevel":271,"slayerLevel":1,"attackSpeed":4,"attackLevel":298,"strengthLevel":198,"defenceLevel":198,"magicLevel":198,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"7274":{"name":"Brutal red dragon","hitpoints":285,"combatLevel":289,"slayerLevel":1,"attackSpeed":4,"attackLevel":310,"strengthLevel":210,"defenceLevel":198,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"7275":{"name":"Brutal black dragon","hitpoints":315,"combatLevel":318,"slayerLevel":77,"attackSpeed":4,"attackLevel":330,"strengthLevel":210,"defenceLevel":258,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"bonusStrength":20,"poisonImmune":true,"venomImmune":true,"dragon":true},"7276":{"name":"Mutated Bloodveld","hitpoints":170,"combatLevel":123,"slayerLevel":50,"attackSpeed":4,"attackLevel":110,"strengthLevel":115,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"7277":{"name":"Warped Jelly","hitpoints":140,"combatLevel":112,"slayerLevel":52,"attackSpeed":4,"attackLevel":95,"strengthLevel":90,"defenceLevel":70,"rangeLevel":1,"magicLevel":95},"7278":{"name":"Greater Nechryael","hitpoints":205,"combatLevel":200,"slayerLevel":80,"attackSpeed":4,"attackLevel":197,"strengthLevel":197,"defenceLevel":85,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"demon":true},"7279":{"name":"Deviant spectre","hitpoints":190,"combatLevel":169,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":205,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":85,"undead":true},"7286":{"name":"Skotizo","hitpoints":450,"combatLevel":321,"slayerLevel":1,"attackSpeed":6,"attackLevel":240,"strengthLevel":250,"defenceLevel":200,"rangeLevel":1,"magicLevel":280,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":130,"magicDef":130,"bonusAttack":160,"bonusStrength":31,"poisonImmune":true,"venomImmune":true,"demon":true},"7287":{"name":"Reanimated demon spawn","hitpoints":85,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7288":{"name":"Awakened Altar","hitpoints":100,"demon":true},"7290":{"name":"Awakened Altar","hitpoints":100,"demon":true},"7292":{"name":"Awakened Altar","hitpoints":100,"demon":true},"7294":{"name":"Awakened Altar","hitpoints":100,"demon":true},"7296":{"name":"Dark Ankou","hitpoints":60,"combatLevel":95,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"7307":{"name":"Ancient Wizard","hitpoints":80,"combatLevel":98,"attackSpeed":4,"attackLevel":50,"strengthLevel":30,"defenceLevel":20,"rangeLevel":1,"magicLevel":150},"7308":{"name":"Ancient Wizard","hitpoints":80,"combatLevel":98,"attackSpeed":4,"attackLevel":50,"strengthLevel":30,"defenceLevel":20,"rangeLevel":150,"magicLevel":80,"bonusRangeStrength":30},"7309":{"name":"Ancient Wizard","hitpoints":80,"combatLevel":112,"attackSpeed":4,"attackLevel":120,"strengthLevel":150,"defenceLevel":20,"rangeLevel":1,"magicLevel":80,"bonusAttack":80,"bonusStrength":80},"7310":{"name":"Brassican Mage","hitpoints":150,"combatLevel":140,"attackSpeed":3,"attackLevel":80,"strengthLevel":70,"defenceLevel":80,"rangeLevel":140,"magicLevel":170},"7312":{"name":"Double agent","hitpoints":160,"combatLevel":141,"attackSpeed":4,"attackLevel":130,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":95,"stabDef":20,"slashDef":20,"crushDef":20,"bonusAttack":40,"bonusStrength":40},"7322":{"name":"Wild dog","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"7388":{"name":"Crushing hand","hitpoints":55,"combatLevel":45,"slayerLevel":5,"attackSpeed":4,"attackLevel":45,"strengthLevel":42,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"undead":true},"7389":{"name":"Chasm Crawler","hitpoints":64,"combatLevel":68,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"7390":{"name":"Screaming banshee","hitpoints":61,"combatLevel":70,"slayerLevel":15,"attackSpeed":4,"attackLevel":65,"strengthLevel":61,"defenceLevel":56,"rangeLevel":1,"magicLevel":1,"stabDef":13,"slashDef":13,"crushDef":13,"rangeDef":13,"poisonImmune":true,"venomImmune":true,"undead":true},"7391":{"name":"Screaming twisted banshee","hitpoints":220,"combatLevel":144,"slayerLevel":15,"attackSpeed":4,"attackLevel":103,"strengthLevel":110,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":25,"rangeDef":25,"poisonImmune":true,"venomImmune":true,"undead":true},"7392":{"name":"Giant rockslug","hitpoints":77,"combatLevel":86,"slayerLevel":20,"attackSpeed":6,"attackLevel":72,"strengthLevel":77,"defenceLevel":77,"rangeLevel":1,"magicLevel":1},"7393":{"name":"Cockathrice","hitpoints":95,"combatLevel":89,"slayerLevel":25,"attackSpeed":4,"attackLevel":63,"strengthLevel":78,"defenceLevel":78,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"magicDef":20,"poisonImmune":true,"venomImmune":true},"7394":{"name":"Flaming pyrelord","hitpoints":126,"combatLevel":97,"slayerLevel":30,"attackSpeed":4,"attackLevel":98,"strengthLevel":65,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":18,"crushDef":18,"rangeDef":18,"poisonImmune":true,"venomImmune":true},"7395":{"name":"Monstrous basilisk","hitpoints":170,"combatLevel":135,"slayerLevel":40,"attackSpeed":4,"attackLevel":88,"strengthLevel":98,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"magicDef":35,"poisonImmune":true,"venomImmune":true},"7396":{"name":"Malevolent Mage","hitpoints":175,"combatLevel":162,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":135,"rangeLevel":1,"magicLevel":175,"poisonImmune":true,"venomImmune":true},"7397":{"name":"Insatiable Bloodveld","hitpoints":380,"combatLevel":202,"slayerLevel":50,"attackSpeed":4,"attackLevel":190,"strengthLevel":145,"defenceLevel":85,"rangeLevel":1,"magicLevel":1,"venomImmune":true},"7398":{"name":"Insatiable mutated Bloodveld","hitpoints":410,"combatLevel":278,"slayerLevel":50,"attackSpeed":4,"attackLevel":250,"strengthLevel":190,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"venomImmune":true},"7399":{"name":"Vitreous Jelly","hitpoints":190,"combatLevel":206,"slayerLevel":52,"attackSpeed":4,"attackLevel":170,"strengthLevel":150,"defenceLevel":220,"rangeLevel":1,"magicLevel":150},"7400":{"name":"Vitreous warped Jelly","hitpoints":220,"combatLevel":241,"slayerLevel":52,"attackSpeed":4,"attackLevel":200,"strengthLevel":180,"defenceLevel":250,"rangeLevel":1,"magicLevel":180},"7401":{"name":"Cave abomination","hitpoints":130,"combatLevel":206,"slayerLevel":58,"attackLevel":230,"strengthLevel":195,"defenceLevel":142,"rangeLevel":1,"magicLevel":230},"7402":{"name":"Abhorrent spectre","hitpoints":250,"combatLevel":253,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":180,"rangeLevel":1,"magicLevel":300,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":30,"venomImmune":true,"undead":true},"7403":{"name":"Repugnant spectre","hitpoints":390,"combatLevel":335,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":220,"rangeLevel":1,"magicLevel":380,"stabDef":120,"slashDef":120,"crushDef":120,"rangeDef":115,"venomImmune":true,"undead":true},"7404":{"name":"Choke devil","hitpoints":300,"combatLevel":264,"slayerLevel":65,"attackSpeed":4,"attackLevel":260,"strengthLevel":230,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"7405":{"name":"King kurask","hitpoints":420,"combatLevel":295,"slayerLevel":70,"attackSpeed":4,"attackLevel":190,"strengthLevel":320,"defenceLevel":250,"rangeLevel":1,"magicLevel":1,"slashDef":50,"crushDef":50,"poisonImmune":true,"venomImmune":true},"7406":{"name":"Nuclear smoke devil","hitpoints":240,"combatLevel":280,"slayerLevel":93,"attackSpeed":4,"attackLevel":240,"strengthLevel":230,"defenceLevel":390,"rangeLevel":280,"magicLevel":1,"rangeDef":80,"magicDef":850,"poisonImmune":true,"venomImmune":true},"7407":{"name":"Marble gargoyle","hitpoints":270,"combatLevel":349,"slayerLevel":75,"attackSpeed":4,"attackLevel":230,"strengthLevel":250,"defenceLevel":190,"rangeLevel":220,"magicLevel":1,"stabDef":50,"slashDef":50,"rangeDef":50,"magicDef":50,"bonusRangeStrength":20,"venomImmune":true},"7408":{"name":"Marble gargoyle","hitpoints":270,"combatLevel":349,"slayerLevel":75,"attackSpeed":4,"attackLevel":230,"strengthLevel":250,"defenceLevel":190,"rangeLevel":220,"magicLevel":1,"stabDef":50,"slashDef":50,"rangeDef":50,"magicDef":50,"bonusRangeStrength":20,"venomImmune":true},"7409":{"name":"Night beast","hitpoints":550,"combatLevel":374,"slayerLevel":90,"attackSpeed":4,"attackLevel":270,"strengthLevel":290,"defenceLevel":220,"rangeLevel":1,"magicLevel":300,"stabDef":75,"slashDef":80,"crushDef":200,"rangeDef":200,"magicDef":190,"venomImmune":true},"7410":{"name":"Greater abyssal demon","hitpoints":400,"combatLevel":342,"slayerLevel":85,"attackSpeed":4,"attackLevel":300,"strengthLevel":260,"defenceLevel":240,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"venomImmune":true,"demon":true},"7411":{"name":"Nechryarch","hitpoints":320,"combatLevel":300,"slayerLevel":80,"attackSpeed":4,"attackLevel":310,"strengthLevel":260,"defenceLevel":140,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":30,"demon":true},"7416":{"name":"Obor","hitpoints":120,"combatLevel":106,"slayerLevel":1,"attackSpeed":6,"attackLevel":90,"strengthLevel":100,"defenceLevel":60,"rangeLevel":120,"magicLevel":1,"range":100,"stabDef":35,"slashDef":40,"crushDef":45,"rangeDef":20,"magicDef":20,"bonusAttack":100,"bonusStrength":68,"bonusRangeStrength":65},"7418":{"name":"Zamorak warrior","hitpoints":50,"combatLevel":84,"attackSpeed":4,"attackLevel":85,"strengthLevel":70,"defenceLevel":90,"rangeLevel":1,"magicLevel":1},"7419":{"name":"Zamorak warrior","hitpoints":50,"combatLevel":85,"attackSpeed":4,"attackLevel":90,"strengthLevel":70,"defenceLevel":90,"rangeLevel":1,"magicLevel":1},"7420":{"name":"Zamorak ranger","hitpoints":50,"combatLevel":81,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":80,"rangeLevel":80,"magicLevel":1},"7421":{"name":"Zamorak ranger","hitpoints":50,"combatLevel":82,"attackSpeed":4,"attackLevel":75,"strengthLevel":80,"defenceLevel":80,"rangeLevel":80,"magicLevel":1},"7422":{"name":"Zamorak mage","hitpoints":50,"combatLevel":84,"attackSpeed":4,"attackLevel":78,"strengthLevel":81,"defenceLevel":82,"rangeLevel":1,"magicLevel":85},"7423":{"name":"Zamorak mage","hitpoints":50,"combatLevel":82,"attackSpeed":4,"attackLevel":75,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":85},"7424":{"name":"Cave lizard","hitpoints":20,"combatLevel":37,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"7426":{"name":"Zamorak crafter","hitpoints":25,"combatLevel":19,"attackSpeed":4,"attackLevel":15,"strengthLevel":15,"defenceLevel":12,"rangeLevel":1,"magicLevel":20},"7427":{"name":"Zamorak crafter","hitpoints":25,"combatLevel":19,"attackSpeed":4,"attackLevel":15,"strengthLevel":15,"defenceLevel":12,"rangeLevel":1,"magicLevel":20},"7485":{"name":"Zombie","hitpoints":65,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":61,"strengthLevel":60,"defenceLevel":61,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"7486":{"name":"Zombie","hitpoints":50,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"7487":{"name":"Zombie","hitpoints":71,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":69,"strengthLevel":65,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"7488":{"name":"Zombie","hitpoints":68,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":61,"strengthLevel":63,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"7513":{"name":"Derwen","hitpoints":320,"combatLevel":235,"attackSpeed":6,"attackLevel":250,"strengthLevel":150,"defenceLevel":100,"rangeLevel":1,"magicLevel":80,"magic":180,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7515":{"name":"Porazdir","hitpoints":320,"combatLevel":235,"slayerLevel":1,"attackSpeed":6,"attackLevel":250,"strengthLevel":150,"defenceLevel":100,"rangeLevel":1,"magicLevel":180,"magic":80,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7527":{"name":"Vanguard","hitpoints":225,"attackSpeed":4,"attackLevel":225,"strengthLevel":225,"defenceLevel":315,"rangeLevel":225,"magicLevel":225,"stabDef":65,"slashDef":80,"crushDef":100,"rangeDef":400,"magicDef":80,"bonusAttack":20,"bonusStrength":10},"7528":{"name":"Vanguard","hitpoints":225,"attackSpeed":4,"attackLevel":225,"strengthLevel":225,"defenceLevel":315,"rangeLevel":225,"magicLevel":225,"range":40,"stabDef":55,"slashDef":60,"crushDef":100,"rangeDef":300,"magicDef":400,"bonusRangeStrength":25},"7529":{"name":"Vanguard","hitpoints":225,"attackSpeed":4,"attackLevel":225,"strengthLevel":225,"defenceLevel":315,"rangeLevel":225,"magicLevel":225,"magic":40,"stabDef":315,"slashDef":340,"crushDef":400,"rangeDef":50,"magicDef":110,"bonusMagicDamage":25},"7530":{"name":"Vespula","hitpoints":200,"attackSpeed":3,"rangeDef":60,"magicDef":70},"7531":{"name":"Vespula","hitpoints":200,"attackSpeed":3,"rangeDef":60,"magicDef":70},"7532":{"name":"Vespula","hitpoints":200,"attackSpeed":3,"rangeDef":60,"magicDef":70},"7533":{"name":"Abyssal portal","hitpoints":250,"attackSpeed":2,"attackLevel":1,"strengthLevel":1,"rangeLevel":1,"rangeDef":140,"magicDef":60},"7538":{"name":"Vespine soldier","hitpoints":100,"attackSpeed":4,"rangeLevel":1,"magicDef":30},"7539":{"name":"Vespine soldier","hitpoints":100,"attackSpeed":4,"rangeLevel":1,"magicDef":30},"7540":{"name":"Tekton","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":155,"slashDef":165,"crushDef":105,"bonusAttack":64,"bonusStrength":20},"7541":{"name":"Tekton","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":155,"slashDef":165,"crushDef":105,"bonusAttack":64,"bonusStrength":20},"7542":{"name":"Tekton","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":155,"slashDef":165,"crushDef":105,"bonusAttack":64,"bonusStrength":20},"7543":{"name":"Tekton (enraged)","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":280,"slashDef":290,"crushDef":180,"bonusAttack":64,"bonusStrength":30},"7544":{"name":"Tekton (enraged)","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":280,"slashDef":290,"crushDef":180,"bonusAttack":64,"bonusStrength":30},"7545":{"name":"Tekton","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":155,"slashDef":165,"crushDef":105,"bonusAttack":64,"bonusStrength":20},"7548":{"name":"Scavenger beast","hitpoints":30,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":45,"rangeLevel":1,"magicLevel":1},"7549":{"name":"Scavenger beast","hitpoints":45,"attackSpeed":4,"attackLevel":180,"strengthLevel":180,"defenceLevel":67,"rangeLevel":1,"magicLevel":1},"7550":{"name":"Great Olm (Right claw)","hitpoints":600,"combatLevel":549,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":175,"rangeLevel":250,"magicLevel":87,"range":60,"magic":60,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"magicDef":50},"7551":{"name":"Great Olm","hitpoints":800,"combatLevel":1043,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250,"range":60,"magic":60,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":50,"magicDef":200},"7552":{"name":"Great Olm (Left claw)","hitpoints":600,"combatLevel":750,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":175,"rangeLevel":250,"magicLevel":175,"range":60,"magic":60,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50},"7553":{"name":"Great Olm (Right claw)","hitpoints":600,"combatLevel":549,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":175,"rangeLevel":250,"magicLevel":87,"range":60,"magic":60,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"magicDef":50},"7554":{"name":"Great Olm","hitpoints":800,"combatLevel":1043,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250,"range":60,"magic":60,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":50,"magicDef":200},"7555":{"name":"Great Olm (Left claw)","hitpoints":600,"combatLevel":750,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":175,"rangeLevel":250,"magicLevel":175,"range":60,"magic":60,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50},"7559":{"name":"Deathly ranger","hitpoints":120,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"range":120,"bonusRangeStrength":70},"7560":{"name":"Deathly mage","hitpoints":120,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"rangeLevel":1,"magic":120},"7561":{"name":"Muttadile","hitpoints":250,"attackSpeed":4},"7562":{"name":"Muttadile","hitpoints":250,"attackSpeed":4},"7563":{"name":"Muttadile","hitpoints":250,"attackSpeed":4},"7566":{"name":"Vasa Nistirio","hitpoints":300,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"range":100,"stabDef":170,"slashDef":190,"crushDef":50,"rangeDef":60,"magicDef":400},"7567":{"name":"Vasa Nistirio","hitpoints":300,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"range":100,"stabDef":170,"slashDef":190,"crushDef":50,"rangeDef":60,"magicDef":400},"7568":{"name":"Glowing crystal","hitpoints":120,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"rangeLevel":1,"slashDef":180,"crushDef":180},"7573":{"name":"Lizardman shaman","hitpoints":190,"slayerLevel":1,"attackSpeed":4,"range":56,"stabDef":102,"slashDef":160,"crushDef":150,"magicDef":160,"bonusAttack":58,"bonusStrength":52,"bonusRangeStrength":49},"7574":{"name":"Lizardman shaman","hitpoints":190,"slayerLevel":1,"attackSpeed":4,"range":56,"stabDef":102,"slashDef":160,"crushDef":150,"magicDef":160,"bonusAttack":58,"bonusStrength":52,"bonusRangeStrength":49},"7584":{"name":"Ice demon","hitpoints":140,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":160,"rangeLevel":390,"magicLevel":390,"stabDef":70,"slashDef":70,"crushDef":110,"rangeDef":140,"magicDef":60,"demon":true},"7585":{"name":"Ice demon","hitpoints":210,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":240,"rangeLevel":585,"magicLevel":585,"stabDef":70,"slashDef":70,"crushDef":110,"rangeDef":140,"magicDef":60,"demon":true},"7604":{"name":"Skeletal Mystic","hitpoints":160,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magic":40,"stabDef":155,"slashDef":155,"crushDef":115,"rangeDef":115,"magicDef":140,"bonusAttack":85,"bonusStrength":50,"bonusMagicDamage":38},"7605":{"name":"Skeletal Mystic","hitpoints":160,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magic":40,"stabDef":155,"slashDef":155,"crushDef":115,"rangeDef":115,"magicDef":140,"bonusAttack":85,"bonusStrength":50,"bonusMagicDamage":38},"7606":{"name":"Skeletal Mystic","hitpoints":160,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magic":40,"stabDef":155,"slashDef":155,"crushDef":115,"rangeDef":115,"magicDef":140,"bonusAttack":85,"bonusStrength":50,"bonusMagicDamage":38},"7620":{"name":"Temple guardian","hitpoints":45,"combatLevel":30,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7621":{"name":"Khazard warlord","hitpoints":170,"combatLevel":112,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"7622":{"name":"Khazard warlord","hitpoints":170,"combatLevel":112,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"7649":{"name":"Chaotic death spawn","hitpoints":50,"combatLevel":215,"attackSpeed":3,"attackLevel":380,"strengthLevel":1,"defenceLevel":70,"rangeLevel":380,"magicLevel":380,"demon":true},"7656":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7657":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7658":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7659":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7660":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7661":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7662":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7664":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7679":{"name":"TzHaar-Ket","hitpoints":200,"combatLevel":221,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":180,"defenceLevel":190,"rangeLevel":1,"magicLevel":40},"7682":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7683":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7684":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7685":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7686":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7687":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7691":{"name":"Jal-Nib","hitpoints":10,"combatLevel":32,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":15,"rangeLevel":1,"magicLevel":15},"7692":{"name":"Jal-MejRah","hitpoints":25,"combatLevel":85,"slayerLevel":1,"attackSpeed":3,"defenceLevel":55,"rangeLevel":120,"magicLevel":120,"range":30,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":45,"bonusRangeStrength":30},"7693":{"name":"Jal-Ak","hitpoints":40,"combatLevel":165,"slayerLevel":1,"attackSpeed":6,"attackLevel":160,"strengthLevel":160,"defenceLevel":95,"rangeLevel":160,"magicLevel":160,"stab":45,"slash":45,"crush":45,"range":45,"magic":45,"stabDef":25,"slashDef":25,"crushDef":25,"rangeDef":25,"magicDef":25,"bonusStrength":45,"bonusRangeStrength":45},"7694":{"name":"Jal-AkRek-Mej","hitpoints":15,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":95,"rangeLevel":1,"magicLevel":120,"magic":25,"magicDef":25},"7695":{"name":"Jal-AkRek-Xil","hitpoints":15,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":95,"rangeLevel":120,"magicLevel":1,"range":25,"rangeDef":25,"bonusRangeStrength":25},"7696":{"name":"Jal-AkRek-Ket","hitpoints":15,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stab":25,"slash":25,"crush":25,"stabDef":25,"slashDef":25,"crushDef":25,"bonusStrength":25},"7697":{"name":"Jal-ImKot","hitpoints":75,"combatLevel":240,"slayerLevel":1,"attackSpeed":4,"attackLevel":210,"strengthLevel":290,"defenceLevel":120,"rangeLevel":220,"magicLevel":120,"stab":40,"slash":40,"crush":40,"stabDef":65,"slashDef":65,"crushDef":65,"rangeDef":50,"magicDef":30,"bonusStrength":40},"7698":{"name":"Jal-Xil","hitpoints":130,"combatLevel":370,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":180,"defenceLevel":60,"rangeLevel":250,"magicLevel":90,"range":40,"bonusRangeStrength":50},"7699":{"name":"Jal-Zek","hitpoints":220,"combatLevel":490,"slayerLevel":1,"attackSpeed":4,"attackLevel":370,"strengthLevel":510,"defenceLevel":260,"rangeLevel":510,"magicLevel":300,"magic":80},"7700":{"name":"JalTok-Jad","hitpoints":350,"combatLevel":900,"slayerLevel":1,"attackSpeed":8,"attackLevel":750,"strengthLevel":1020,"defenceLevel":480,"rangeLevel":1020,"magicLevel":510,"stab":80,"slash":80,"crush":80,"range":80,"magic":100,"bonusMagicDamage":75},"7701":{"name":"Yt-HurKot","hitpoints":90,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":125,"defenceLevel":100,"rangeLevel":150,"magicLevel":150,"range":80,"magic":100,"rangeDef":130,"magicDef":130},"7702":{"name":"Jal-Xil","hitpoints":130,"combatLevel":370,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":180,"defenceLevel":60,"rangeLevel":250,"magicLevel":90,"range":40,"bonusRangeStrength":50},"7703":{"name":"Jal-Zek","hitpoints":220,"combatLevel":490,"slayerLevel":1,"attackSpeed":4,"attackLevel":370,"strengthLevel":510,"defenceLevel":260,"rangeLevel":510,"magicLevel":300,"magic":80},"7704":{"name":"JalTok-Jad","hitpoints":350,"combatLevel":900,"slayerLevel":1,"attackSpeed":8,"attackLevel":750,"strengthLevel":1020,"defenceLevel":480,"rangeLevel":1020,"magicLevel":510,"stab":80,"slash":80,"crush":80,"range":80,"magic":100,"bonusMagicDamage":75},"7705":{"name":"Yt-HurKot","hitpoints":90,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":125,"defenceLevel":100,"rangeLevel":150,"magicLevel":150,"range":80,"magic":100,"rangeDef":130,"magicDef":130},"7706":{"name":"TzKal-Zuk","hitpoints":1200,"combatLevel":1400,"slayerLevel":1,"attackSpeed":4,"attackLevel":350,"strengthLevel":600,"defenceLevel":260,"rangeLevel":400,"magicLevel":150,"crush":300,"range":550,"magic":550,"rangeDef":100,"magicDef":350,"bonusStrength":200,"bonusRangeStrength":200},"7708":{"name":"Jal-MejJak","hitpoints":80,"combatLevel":250,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"7744":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"7745":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"7792":{"name":"Long-tailed Wyvern","hitpoints":200,"combatLevel":152,"slayerLevel":66,"attackSpeed":6,"attackLevel":125,"strengthLevel":120,"defenceLevel":90,"rangeLevel":90,"magicLevel":90,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":120,"magicDef":140,"dragon":true},"7793":{"name":"Taloned Wyvern","hitpoints":200,"combatLevel":147,"slayerLevel":66,"attackSpeed":6,"attackLevel":120,"strengthLevel":110,"defenceLevel":90,"rangeLevel":90,"magicLevel":90,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":120,"magicDef":140,"dragon":true},"7794":{"name":"Spitting Wyvern","hitpoints":200,"combatLevel":139,"slayerLevel":66,"attackSpeed":6,"attackLevel":125,"strengthLevel":80,"defenceLevel":90,"rangeLevel":125,"magicLevel":125,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":120,"magicDef":140,"dragon":true},"7795":{"name":"Ancient Wyvern","hitpoints":300,"combatLevel":210,"slayerLevel":82,"attackSpeed":5,"attackLevel":150,"strengthLevel":150,"defenceLevel":150,"rangeLevel":90,"magicLevel":90,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":120,"magicDef":170,"dragon":true},"7796":{"name":"Lobstrosity","hitpoints":50,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":15,"rangeDef":70,"magicDef":99},"7797":{"name":"Ancient Zygomite","hitpoints":150,"combatLevel":109,"slayerLevel":57,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":80,"magicLevel":80,"stab":50,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":30,"magicDef":30,"bonusAttack":30},"7799":{"name":"Ammonite Crab","hitpoints":100,"combatLevel":25,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7802":{"name":"Hoop Snake","hitpoints":25,"combatLevel":19,"attackSpeed":4,"attackLevel":15,"strengthLevel":10,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7804":{"name":"Tar Monster","hitpoints":200,"combatLevel":132,"attackSpeed":4,"attackLevel":120,"strengthLevel":80,"defenceLevel":70,"rangeLevel":100,"magicLevel":1},"7806":{"name":"Deranged archaeologist","hitpoints":200,"combatLevel":276,"slayerLevel":1,"attackSpeed":3,"attackLevel":280,"strengthLevel":160,"defenceLevel":280,"rangeLevel":320,"magicLevel":1,"range":90,"stabDef":20,"slashDef":20,"crushDef":50,"rangeDef":300,"magicDef":300,"bonusAttack":280,"bonusStrength":30,"bonusRangeStrength":90},"7817":{"name":"Lava beast","hitpoints":65,"attackSpeed":4},"7851":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7852":{"name":"Dawn","hitpoints":450,"combatLevel":228,"slayerLevel":75,"attackSpeed":6,"attackLevel":140,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":100,"magicDef":80,"poisonImmune":true,"venomImmune":true},"7853":{"name":"Dawn","hitpoints":450,"combatLevel":228,"slayerLevel":75,"attackSpeed":6,"attackLevel":140,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":100,"magicDef":80,"poisonImmune":true,"venomImmune":true},"7854":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7855":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7858":{"name":"Justiciar Zachariah","hitpoints":320,"combatLevel":348,"attackSpeed":6,"attackLevel":500,"strengthLevel":250,"defenceLevel":100,"rangeLevel":1,"magicLevel":180,"magic":80,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusAttack":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7859":{"name":"Derwen","hitpoints":320,"combatLevel":235,"attackSpeed":6,"attackLevel":250,"strengthLevel":150,"defenceLevel":100,"rangeLevel":1,"magicLevel":80,"magic":180,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7860":{"name":"Porazdir","hitpoints":320,"combatLevel":235,"slayerLevel":1,"attackSpeed":6,"attackLevel":250,"strengthLevel":150,"defenceLevel":100,"rangeLevel":1,"magicLevel":180,"magic":80,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7861":{"name":"Black dragon","hitpoints":250,"combatLevel":247,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":215,"defenceLevel":200,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"7862":{"name":"Black dragon","hitpoints":250,"combatLevel":247,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":215,"defenceLevel":200,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"7863":{"name":"Black dragon","hitpoints":250,"combatLevel":247,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":215,"defenceLevel":200,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"7864":{"name":"Ankou","hitpoints":100,"combatLevel":98,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":90,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"undead":true},"7865":{"name":"Lesser demon","hitpoints":110,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":85,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7866":{"name":"Lesser demon","hitpoints":110,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":85,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7867":{"name":"Lesser demon","hitpoints":110,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":85,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7868":{"name":"Green dragon","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":75,"defenceLevel":68,"rangeLevel":1,"magicLevel":75,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"7869":{"name":"Green dragon","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":75,"defenceLevel":68,"rangeLevel":1,"magicLevel":75,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"7870":{"name":"Green dragon","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":75,"defenceLevel":68,"rangeLevel":1,"magicLevel":75,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"7871":{"name":"Greater demon","hitpoints":120,"combatLevel":104,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":90,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"7872":{"name":"Greater demon","hitpoints":120,"combatLevel":104,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":90,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"7873":{"name":"Greater demon","hitpoints":120,"combatLevel":104,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":90,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"7874":{"name":"Black demon","hitpoints":200,"combatLevel":188,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":165,"defenceLevel":152,"rangeLevel":1,"magicLevel":1,"demon":true},"7875":{"name":"Black demon","hitpoints":200,"combatLevel":188,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":165,"defenceLevel":152,"rangeLevel":1,"magicLevel":1,"demon":true},"7876":{"name":"Black demon","hitpoints":200,"combatLevel":188,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":165,"defenceLevel":152,"rangeLevel":1,"magicLevel":1,"demon":true},"7877":{"name":"Hellhound","hitpoints":150,"combatLevel":136,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":120,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"7878":{"name":"Ice giant","hitpoints":100,"combatLevel":67,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":60,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"7879":{"name":"Ice giant","hitpoints":100,"combatLevel":67,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":60,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"7880":{"name":"Ice giant","hitpoints":100,"combatLevel":67,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":60,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"7881":{"name":"Revenant imp","hitpoints":10,"combatLevel":7,"slayerLevel":1,"attackSpeed":5,"attackLevel":5,"strengthLevel":5,"defenceLevel":4,"rangeLevel":5,"magicLevel":9,"magic":5,"magicDef":5,"undead":true},"7882":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7883":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7884":{"name":"Dawn","hitpoints":450,"combatLevel":228,"slayerLevel":75,"attackSpeed":6,"attackLevel":140,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":100,"magicDef":80,"poisonImmune":true,"venomImmune":true},"7885":{"name":"Dawn","hitpoints":450,"combatLevel":228,"slayerLevel":75,"attackSpeed":6,"attackLevel":140,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":100,"magicDef":80,"poisonImmune":true,"venomImmune":true},"7886":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7887":{"name":"Dusk","hitpoints":450,"combatLevel":328,"slayerLevel":75,"attackSpeed":6,"attackLevel":300,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250},"7888":{"name":"Dusk","hitpoints":450,"combatLevel":328,"slayerLevel":75,"attackSpeed":6,"attackLevel":300,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250},"7889":{"name":"Dusk","hitpoints":450,"combatLevel":328,"slayerLevel":75,"attackSpeed":6,"attackLevel":300,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250},"7894":{"name":"Sand Snake (hard)","hitpoints":180,"combatLevel":154,"attackSpeed":4,"attackLevel":180,"strengthLevel":140,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7895":{"name":"Sand Snake","hitpoints":60,"combatLevel":36,"attackSpeed":4,"attackLevel":30,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7903":{"name":"Sand Snake","hitpoints":60,"combatLevel":36,"attackSpeed":4,"attackLevel":30,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7916":{"name":"Thief","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"7921":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7922":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7933":{"name":"Revenant hobgoblin","hitpoints":72,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":41,"rangeLevel":60,"magicLevel":55,"range":25,"magic":5,"stabDef":65,"slashDef":60,"crushDef":68,"rangeDef":50,"magicDef":30,"bonusAttack":20,"bonusStrength":24,"undead":true},"7934":{"name":"Revenant cyclops","hitpoints":110,"combatLevel":82,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":73,"defenceLevel":49,"rangeLevel":70,"magicLevel":65,"stabDef":140,"slashDef":130,"crushDef":135,"rangeDef":135,"magicDef":10,"bonusAttack":53,"bonusStrength":64,"undead":true},"7935":{"name":"Revenant hellhound","hitpoints":80,"combatLevel":90,"slayerLevel":1,"attackSpeed":5,"attackLevel":76,"strengthLevel":80,"defenceLevel":80,"rangeLevel":80,"magicLevel":104,"magic":30,"stabDef":138,"slashDef":140,"crushDef":142,"rangeDef":140,"magicDef":62,"bonusAttack":38,"bonusStrength":40,"undead":true},"7938":{"name":"Revenant dark beast","hitpoints":140,"combatLevel":120,"slayerLevel":1,"attackSpeed":5,"attackLevel":93,"strengthLevel":110,"defenceLevel":80,"rangeLevel":135,"magicLevel":130,"range":45,"stabDef":153,"slashDef":152,"crushDef":155,"rangeDef":158,"magicDef":70,"bonusAttack":65,"bonusStrength":60,"undead":true},"7939":{"name":"Revenant knight","hitpoints":143,"combatLevel":126,"slayerLevel":1,"attackSpeed":5,"attackLevel":100,"strengthLevel":119,"defenceLevel":80,"rangeLevel":146,"magicLevel":146,"range":55,"magic":55,"stabDef":195,"slashDef":200,"crushDef":180,"rangeDef":190,"magicDef":95,"bonusAttack":69,"bonusStrength":71,"bonusRangeStrength":45,"bonusMagicDamage":50,"undead":true},"7940":{"name":"Revenant dragon","hitpoints":155,"combatLevel":135,"slayerLevel":1,"attackSpeed":5,"attackLevel":106,"strengthLevel":126,"defenceLevel":87,"rangeLevel":151,"magicLevel":150,"range":60,"magic":61,"stabDef":201,"slashDef":206,"crushDef":188,"rangeDef":197,"magicDef":101,"bonusAttack":72,"bonusStrength":78,"bonusRangeStrength":51,"bonusMagicDamage":35,"undead":true},"7948":{"name":"Corsair Traitor (hard)","hitpoints":160,"combatLevel":103,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":1,"magicLevel":90},"7949":{"name":"Corsair Traitor","hitpoints":55,"combatLevel":35,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":30,"rangeLevel":1,"magicLevel":30},"7955":{"name":"Baby dragon","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"7964":{"name":"Ithoi the Navigator","hitpoints":55,"combatLevel":35,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":30,"rangeLevel":1,"magicLevel":30},"7989":{"name":"Ogress Warrior","hitpoints":82,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":82,"rangeLevel":1,"magicLevel":60,"stabDef":10,"slashDef":12,"crushDef":12,"rangeDef":16,"magicDef":14},"7990":{"name":"Ogress Warrior","hitpoints":82,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":82,"rangeLevel":1,"magicLevel":60,"stabDef":10,"slashDef":12,"crushDef":12,"rangeDef":16,"magicDef":14},"7991":{"name":"Ogress Shaman","hitpoints":82,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":20,"defenceLevel":82,"rangeLevel":1,"magicLevel":68,"stabDef":12,"slashDef":14,"crushDef":14,"rangeDef":8,"magicDef":16},"7992":{"name":"Ogress Shaman","hitpoints":82,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":20,"defenceLevel":82,"rangeLevel":1,"magicLevel":68,"stabDef":12,"slashDef":14,"crushDef":14,"rangeDef":8,"magicDef":16},"7996":{"name":"Corrupt Lizardman (hard)","hitpoints":150,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":162,"strengthLevel":162,"defenceLevel":38,"rangeLevel":162,"magicLevel":1,"range":22,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"7997":{"name":"Corrupt Lizardman","hitpoints":50,"combatLevel":46,"slayerLevel":1,"attackSpeed":4,"attackLevel":38,"strengthLevel":38,"defenceLevel":38,"rangeLevel":38,"magicLevel":1,"range":20,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"8000":{"name":"Corrupt Lizardman","hitpoints":50,"combatLevel":46,"slayerLevel":1,"attackSpeed":4,"attackLevel":38,"strengthLevel":38,"defenceLevel":38,"rangeLevel":38,"magicLevel":1,"range":20,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"8027":{"name":"Rune dragon","hitpoints":330,"combatLevel":380,"attackSpeed":4,"attackLevel":284,"strengthLevel":284,"defenceLevel":276,"rangeLevel":246,"magicLevel":196,"stabDef":30,"slashDef":115,"crushDef":90,"rangeDef":95,"magicDef":30,"bonusRangeStrength":14,"poisonImmune":true,"venomImmune":true},"8030":{"name":"Adamant dragon","hitpoints":295,"combatLevel":338,"slayerLevel":1,"attackSpeed":4,"attackLevel":280,"strengthLevel":280,"defenceLevel":272,"rangeLevel":186,"magicLevel":186,"stabDef":30,"slashDef":110,"crushDef":85,"rangeDef":95,"magicDef":30,"dragon":true},"8031":{"name":"Rune dragon","hitpoints":330,"combatLevel":380,"slayerLevel":1,"attackSpeed":4,"attackLevel":284,"strengthLevel":284,"defenceLevel":276,"rangeLevel":246,"magicLevel":196,"stabDef":30,"slashDef":115,"crushDef":90,"rangeDef":95,"magicDef":30,"bonusRangeStrength":14,"dragon":true},"8033":{"name":"Elvarg","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":70,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30},"8056":{"name":"Spawn","hitpoints":80,"combatLevel":100,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"8057":{"name":"Robert the Strong","hitpoints":280,"combatLevel":194,"attackSpeed":4,"defenceLevel":140,"rangeLevel":328,"magicLevel":128,"range":126,"stabDef":140,"slashDef":180,"crushDef":60,"rangeDef":860,"magicDef":940,"poisonImmune":true,"venomImmune":true},"8058":{"name":"Vorkath","hitpoints":460,"combatLevel":392,"slayerLevel":1,"attackSpeed":5,"attackLevel":560,"strengthLevel":268,"defenceLevel":164,"rangeLevel":268,"magicLevel":148,"range":96,"magic":148,"stabDef":66,"slashDef":126,"crushDef":126,"rangeDef":80,"magicDef":204,"bonusAttack":14,"dragon":true,"undead":true},"8059":{"name":"Vorkath","hitpoints":750,"combatLevel":732,"slayerLevel":1,"attackSpeed":5,"attackLevel":560,"strengthLevel":308,"defenceLevel":214,"rangeLevel":308,"magicLevel":150,"range":78,"magic":150,"stabDef":26,"slashDef":108,"crushDef":108,"rangeDef":26,"magicDef":240,"bonusAttack":16,"dragon":true,"undead":true},"8060":{"name":"Vorkath","hitpoints":460,"combatLevel":392,"slayerLevel":1,"attackSpeed":5,"attackLevel":560,"strengthLevel":268,"defenceLevel":164,"rangeLevel":268,"magicLevel":148,"range":96,"magic":148,"stabDef":66,"slashDef":126,"crushDef":126,"rangeDef":80,"magicDef":204,"bonusAttack":14,"dragon":true,"undead":true},"8061":{"name":"Vorkath","hitpoints":750,"combatLevel":732,"slayerLevel":1,"attackSpeed":5,"attackLevel":560,"strengthLevel":308,"defenceLevel":214,"rangeLevel":308,"magicLevel":150,"range":78,"magic":150,"stabDef":26,"slashDef":108,"crushDef":108,"rangeDef":26,"magicDef":240,"bonusAttack":16,"dragon":true,"undead":true},"8062":{"name":"Zombified Spawn","hitpoints":8,"combatLevel":55,"attackLevel":80,"strengthLevel":80,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":3,"slashDef":3,"crushDef":3,"rangeDef":3,"undead":true},"8063":{"name":"Zombified Spawn","hitpoints":38,"combatLevel":64,"attackLevel":82,"strengthLevel":82,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":3,"slashDef":3,"crushDef":3,"rangeDef":3,"undead":true},"8064":{"name":"Stone Guardian","hitpoints":62,"combatLevel":124,"attackSpeed":5,"attackLevel":150,"strengthLevel":148,"defenceLevel":138,"rangeLevel":1,"magicLevel":118},"8065":{"name":"Stone Guardian","hitpoints":62,"combatLevel":124,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":138,"rangeLevel":128,"magicLevel":118},"8066":{"name":"Stone Guardian","hitpoints":62,"combatLevel":124,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":138,"rangeLevel":1,"magicLevel":128},"8067":{"name":"Zombie","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":180,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":20,"crushDef":25,"rangeDef":30,"magicDef":10,"bonusAttack":30,"undead":true},"8068":{"name":"Zombie","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":1,"defenceLevel":62,"rangeLevel":180,"magicLevel":1,"range":20,"stabDef":15,"slashDef":10,"crushDef":15,"rangeDef":20,"magicDef":30,"undead":true},"8069":{"name":"Zombie","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":1,"defenceLevel":62,"rangeLevel":1,"magicLevel":180,"magic":20,"stabDef":35,"slashDef":30,"crushDef":35,"rangeDef":10,"magicDef":20,"undead":true},"8070":{"name":"Skeleton","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":180,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":20,"crushDef":25,"rangeDef":30,"magicDef":10,"bonusAttack":30,"undead":true},"8071":{"name":"Skeleton","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":1,"defenceLevel":62,"rangeLevel":180,"magicLevel":1,"range":20,"stabDef":15,"slashDef":10,"crushDef":15,"rangeDef":20,"magicDef":30,"undead":true},"8072":{"name":"Skeleton","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":1,"defenceLevel":62,"rangeLevel":1,"magicLevel":180,"magic":20,"stabDef":35,"slashDef":30,"crushDef":35,"rangeDef":10,"magicDef":20,"undead":true},"8073":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"8075":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8076":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"8078":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8079":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8080":{"name":"Iron dragon","hitpoints":165,"combatLevel":189,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":165,"defenceLevel":165,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"8081":{"name":"Brutal green dragon","hitpoints":175,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":168,"defenceLevel":168,"magicLevel":168,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"8082":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"8083":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8084":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8085":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8086":{"name":"Steel dragon","hitpoints":210,"combatLevel":246,"slayerLevel":1,"attackSpeed":4,"attackLevel":215,"strengthLevel":215,"defenceLevel":215,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"8087":{"name":"Brutal red dragon","hitpoints":285,"combatLevel":289,"slayerLevel":1,"attackSpeed":4,"attackLevel":310,"strengthLevel":210,"defenceLevel":198,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"8088":{"name":"Mithril dragon","hitpoints":254,"combatLevel":304,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":268,"rangeLevel":168,"magicLevel":168,"stabDef":50,"slashDef":100,"crushDef":70,"rangeDef":90,"magicDef":30,"venomImmune":true,"dragon":true},"8089":{"name":"Mithril dragon","hitpoints":254,"combatLevel":304,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":268,"rangeLevel":168,"magicLevel":168,"stabDef":50,"slashDef":100,"crushDef":70,"rangeDef":90,"magicDef":30,"venomImmune":true,"dragon":true},"8090":{"name":"Adamant dragon","hitpoints":295,"combatLevel":338,"slayerLevel":1,"attackSpeed":4,"attackLevel":280,"strengthLevel":280,"defenceLevel":272,"rangeLevel":186,"magicLevel":186,"stabDef":30,"slashDef":110,"crushDef":85,"rangeDef":95,"magicDef":30,"dragon":true},"8091":{"name":"Rune dragon","hitpoints":330,"combatLevel":380,"slayerLevel":1,"attackSpeed":4,"attackLevel":284,"strengthLevel":284,"defenceLevel":276,"rangeLevel":246,"magicLevel":196,"stabDef":30,"slashDef":115,"crushDef":90,"rangeDef":95,"magicDef":30,"bonusRangeStrength":14,"dragon":true},"8092":{"name":"Brutal black dragon","hitpoints":315,"combatLevel":318,"slayerLevel":77,"attackSpeed":4,"attackLevel":330,"strengthLevel":210,"defenceLevel":258,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"bonusStrength":20,"poisonImmune":true,"venomImmune":true,"dragon":true},"8093":{"name":"Brutal black dragon","hitpoints":315,"combatLevel":318,"slayerLevel":77,"attackSpeed":4,"attackLevel":330,"strengthLevel":210,"defenceLevel":258,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"bonusStrength":20,"poisonImmune":true,"venomImmune":true,"dragon":true},"8094":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8095":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8096":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8097":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8098":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8137":{"name":"Spider","hitpoints":4,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":47,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"8138":{"name":"Spider","hitpoints":4,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":47,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"8149":{"name":"White Knight","hitpoints":52,"combatLevel":36,"attackSpeed":7,"attackLevel":27,"strengthLevel":29,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"8150":{"name":"Paladin","hitpoints":66,"combatLevel":62,"attackSpeed":5,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"8177":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8178":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8179":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8194":{"name":"Growthling","hitpoints":10,"combatLevel":37,"attackSpeed":4,"attackLevel":40,"strengthLevel":38,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"8195":{"name":"Bryophyta","hitpoints":115,"combatLevel":128,"slayerLevel":1,"attackSpeed":6,"attackLevel":130,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":90,"bonusAttack":33,"bonusStrength":31},"8239":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"8240":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"8242":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8243":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8244":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8245":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8246":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8247":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8248":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":2,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusAttack":160,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8251":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8252":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8253":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8254":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8255":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8256":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8257":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8258":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8259":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8260":{"name":"Abomination","hitpoints":200,"combatLevel":149,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":110,"magicLevel":110,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":180,"magicDef":20},"8261":{"name":"Abomination","hitpoints":200,"combatLevel":149,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":110,"magicLevel":110,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":180,"magicDef":20},"8262":{"name":"Abomination","hitpoints":200,"combatLevel":149,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":110,"magicLevel":110,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":180,"magicDef":20},"8297":{"name":"Swamp Crab","hitpoints":75,"combatLevel":55,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":50,"rangeLevel":1,"magicLevel":50,"stabDef":100,"slashDef":100,"crushDef":100,"magicDef":100},"8298":{"name":"Swamp Crab","hitpoints":75,"combatLevel":55,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":50,"rangeLevel":1,"magicLevel":50,"stabDef":100,"slashDef":100,"crushDef":100,"magicDef":100},"8299":{"name":"Swampy log","hitpoints":75,"combatLevel":55,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":50,"rangeLevel":1,"magicLevel":50,"stabDef":100,"slashDef":100,"crushDef":100,"magicDef":100},"8300":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8301":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8302":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8303":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8304":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8305":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8306":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8307":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8340":{"name":"Xarpus","hitpoints":5080,"combatLevel":960,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":250,"rangeLevel":1,"magicLevel":220,"rangeDef":160},"8341":{"name":"Xarpus","hitpoints":5080,"combatLevel":960,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":250,"rangeLevel":1,"magicLevel":220,"rangeDef":160},"8342":{"name":"Nylocas Ischyros","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8343":{"name":"Nylocas Toxobolos","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8344":{"name":"Nylocas Hagios","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8345":{"name":"Nylocas Ischyros","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8346":{"name":"Nylocas Toxobolos","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8347":{"name":"Nylocas Hagios","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8348":{"name":"Nylocas Ischyros","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8349":{"name":"Nylocas Toxobolos","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8350":{"name":"Nylocas Hagios","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8351":{"name":"Nylocas Ischyros","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8352":{"name":"Nylocas Toxobolos","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8353":{"name":"Nylocas Hagios","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8355":{"name":"Nylocas Vasilias","hitpoints":2500,"combatLevel":800,"attackSpeed":4,"attackLevel":400,"strengthLevel":350,"defenceLevel":50,"rangeLevel":350,"magicLevel":50,"magic":600,"bonusStrength":60,"bonusRangeStrength":60,"bonusMagicDamage":600},"8356":{"name":"Nylocas Vasilias","hitpoints":2500,"combatLevel":800,"attackSpeed":4,"attackLevel":400,"strengthLevel":350,"defenceLevel":50,"rangeLevel":350,"magicLevel":50,"magic":600,"bonusStrength":60,"bonusRangeStrength":60,"bonusMagicDamage":600},"8357":{"name":"Nylocas Vasilias","hitpoints":2500,"combatLevel":800,"attackSpeed":4,"attackLevel":400,"strengthLevel":350,"defenceLevel":50,"rangeLevel":350,"magicLevel":50,"magic":600,"bonusStrength":60,"bonusRangeStrength":60,"bonusMagicDamage":600},"8359":{"name":"Pestilent Bloat","hitpoints":2000,"combatLevel":870,"attackSpeed":1,"attackLevel":250,"strengthLevel":340,"defenceLevel":100,"rangeLevel":180,"magicLevel":150,"range":180,"stabDef":40,"slashDef":20,"crushDef":40,"rangeDef":800,"magicDef":600,"bonusAttack":150,"bonusStrength":82,"bonusRangeStrength":4,"undead":true},"8360":{"name":"The Maiden of Sugadinti","hitpoints":3500,"combatLevel":940,"attackSpeed":10,"attackLevel":350,"strengthLevel":350,"defenceLevel":200,"rangeLevel":350,"magicLevel":350,"magic":300},"8361":{"name":"The Maiden of Sugadinti","hitpoints":3500,"combatLevel":940,"attackSpeed":10,"attackLevel":350,"strengthLevel":350,"defenceLevel":200,"rangeLevel":350,"magicLevel":350,"magic":300},"8362":{"name":"The Maiden of Sugadinti","hitpoints":3500,"combatLevel":940,"attackSpeed":10,"attackLevel":350,"strengthLevel":350,"defenceLevel":200,"rangeLevel":350,"magicLevel":350,"magic":300},"8363":{"name":"The Maiden of Sugadinti","hitpoints":3500,"combatLevel":940,"attackSpeed":10,"attackLevel":350,"strengthLevel":350,"defenceLevel":200,"rangeLevel":350,"magicLevel":350,"magic":300},"8366":{"name":"Nylocas Matomenos","hitpoints":200,"combatLevel":115,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":100,"magicLevel":100},"8367":{"name":"Blood spawn","hitpoints":120,"combatLevel":55,"attackLevel":1,"strengthLevel":1,"rangeLevel":1},"8369":{"name":"Verzik Vitur","hitpoints":2000,"combatLevel":1040,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":20,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"magicDef":20,"bonusRangeStrength":80,"bonusMagicDamage":150},"8370":{"name":"Verzik Vitur","hitpoints":2000,"combatLevel":1040,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":20,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"magicDef":20,"bonusRangeStrength":80,"bonusMagicDamage":150},"8371":{"name":"Verzik Vitur","hitpoints":2000,"combatLevel":1040,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":20,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"magicDef":20,"bonusRangeStrength":80,"bonusMagicDamage":150},"8372":{"name":"Verzik Vitur","hitpoints":3250,"combatLevel":1265,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":200,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":100,"slashDef":60,"crushDef":100,"rangeDef":250,"magicDef":70,"bonusRangeStrength":80,"bonusMagicDamage":80},"8373":{"name":"Verzik Vitur","hitpoints":3250,"combatLevel":1265,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":200,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":100,"slashDef":60,"crushDef":100,"rangeDef":250,"magicDef":70,"bonusRangeStrength":80,"bonusMagicDamage":80},"8374":{"name":"Verzik Vitur","hitpoints":3250,"combatLevel":1520,"attackSpeed":7,"attackLevel":400,"strengthLevel":400,"defenceLevel":150,"rangeLevel":300,"magicLevel":300,"range":80,"magic":80,"stabDef":70,"slashDef":30,"crushDef":70,"rangeDef":230,"magicDef":100,"bonusAttack":80,"bonusStrength":30,"bonusRangeStrength":5,"bonusMagicDamage":5},"8375":{"name":"Verzik Vitur","hitpoints":3250,"combatLevel":1520,"attackSpeed":7,"attackLevel":400,"strengthLevel":400,"defenceLevel":150,"rangeLevel":300,"magicLevel":300,"range":80,"magic":80,"stabDef":70,"slashDef":30,"crushDef":70,"rangeDef":230,"magicDef":100,"bonusAttack":80,"bonusStrength":30,"bonusRangeStrength":5,"bonusMagicDamage":5},"8381":{"name":"Nylocas Ischyros","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8382":{"name":"Nylocas Toxobolos","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8383":{"name":"Nylocas Hagios","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8384":{"name":"Nylocas Athanatos","hitpoints":180,"combatLevel":350,"attackLevel":1,"strengthLevel":1,"defenceLevel":50,"rangeLevel":1,"magicLevel":50},"8385":{"name":"Nylocas Matomenos","hitpoints":200,"combatLevel":115,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":100,"magicLevel":100},"8387":{"name":"Sotetseg","hitpoints":4000,"combatLevel":995,"attackSpeed":5,"attackLevel":250,"strengthLevel":250,"defenceLevel":200,"magicLevel":250,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":150,"magicDef":30,"bonusStrength":49,"poisonImmune":true,"venomImmune":true},"8388":{"name":"Sotetseg","hitpoints":4000,"combatLevel":995,"attackSpeed":5,"attackLevel":250,"strengthLevel":250,"defenceLevel":200,"magicLevel":250,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":150,"magicDef":30,"bonusStrength":49,"poisonImmune":true,"venomImmune":true},"8400":{"name":"Monk of Zamorak","hitpoints":20,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":22,"rangeLevel":1,"magicLevel":25},"8401":{"name":"Monk of Zamorak","hitpoints":10,"combatLevel":17,"attackSpeed":4,"attackLevel":8,"strengthLevel":8,"defenceLevel":12,"rangeLevel":1,"magicLevel":25},"8428":{"name":"Mother","hitpoints":235,"combatLevel":198,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":170,"rangeLevel":105,"magicLevel":60,"magicDef":200,"bonusAttack":60,"bonusStrength":50},"8429":{"name":"Mother","hitpoints":235,"combatLevel":198,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":170,"rangeLevel":105,"magicLevel":60,"magicDef":200,"bonusAttack":60,"bonusStrength":50},"8430":{"name":"Mother","hitpoints":235,"combatLevel":198,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":170,"rangeLevel":105,"magicLevel":60,"magicDef":200,"bonusAttack":60,"bonusStrength":50},"8439":{"name":"Don't Know What","hitpoints":220,"combatLevel":163,"attackSpeed":3,"attackLevel":120,"strengthLevel":90,"defenceLevel":160,"rangeLevel":115,"magicLevel":60,"magicDef":200,"bonusRangeStrength":40},"8474":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"8475":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"8476":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"8496":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"8512":{"name":"Tormented Soul","hitpoints":20,"combatLevel":16,"attackSpeed":4,"attackLevel":16,"strengthLevel":12,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"8513":{"name":"Tormented Soul","hitpoints":20,"combatLevel":16,"attackSpeed":4,"attackLevel":16,"strengthLevel":12,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"8514":{"name":"Trapped Soul","hitpoints":30,"combatLevel":30,"attackSpeed":4,"attackLevel":25,"strengthLevel":29,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"8528":{"name":"Trapped Soul","hitpoints":30,"combatLevel":30,"attackSpeed":4,"attackLevel":25,"strengthLevel":29,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"8529":{"name":"Trapped Soul (hard)","hitpoints":100,"combatLevel":101,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"8563":{"name":"Lizardman","hitpoints":60,"combatLevel":62,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":53,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"range":28,"slashDef":20,"crushDef":5,"bonusAttack":28,"bonusStrength":25,"bonusRangeStrength":25},"8564":{"name":"Lizardman brute","hitpoints":60,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"range":34,"slashDef":30,"crushDef":10,"bonusAttack":34,"bonusStrength":30,"bonusRangeStrength":30},"8565":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"8578":{"name":"Swamp frog","hitpoints":25,"combatLevel":24,"attackSpeed":4,"attackLevel":25,"strengthLevel":20,"defenceLevel":15,"rangeLevel":1,"magicLevel":1},"8583":{"name":"Hespori","hitpoints":300,"combatLevel":284,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":120,"rangeLevel":150,"magicLevel":126,"range":150,"magic":150,"stabDef":60,"slashDef":20,"crushDef":60,"rangeDef":80,"magicDef":80},"8584":{"name":"Flower","hitpoints":10},"8609":{"name":"Hydra","hitpoints":300,"combatLevel":194,"slayerLevel":95,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":210,"magicLevel":210,"stabDef":160,"slashDef":160,"crushDef":160,"magicDef":160,"dragon":true},"8610":{"name":"Wyrm","hitpoints":130,"combatLevel":99,"slayerLevel":62,"attackSpeed":4,"attackLevel":85,"strengthLevel":60,"defenceLevel":80,"rangeLevel":80,"magicLevel":80,"stabDef":20,"slashDef":50,"crushDef":50,"rangeDef":20,"magicDef":50,"bonusStrength":30,"bonusMagicDamage":30,"dragon":true},"8611":{"name":"Wyrm","hitpoints":130,"combatLevel":99,"slayerLevel":62,"attackSpeed":4,"attackLevel":85,"strengthLevel":60,"defenceLevel":80,"rangeLevel":80,"magicLevel":80,"stabDef":20,"slashDef":50,"crushDef":50,"rangeDef":20,"magicDef":50,"bonusStrength":30,"bonusMagicDamage":30,"dragon":true},"8612":{"name":"Drake","hitpoints":250,"combatLevel":192,"slayerLevel":84,"attackSpeed":4,"attackLevel":140,"strengthLevel":118,"defenceLevel":120,"rangeLevel":140,"magicLevel":112,"range":40,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":100,"magicDef":20,"bonusAttack":40,"bonusStrength":12,"bonusRangeStrength":40,"dragon":true},"8613":{"name":"Drake","hitpoints":250,"combatLevel":192,"slayerLevel":84,"attackSpeed":4,"attackLevel":140,"strengthLevel":118,"defenceLevel":120,"rangeLevel":140,"magicLevel":112,"range":40,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":100,"magicDef":20,"bonusAttack":40,"bonusStrength":12,"bonusRangeStrength":40,"dragon":true},"8614":{"name":"Sulphur Lizard","hitpoints":50,"combatLevel":50,"slayerLevel":44,"attackSpeed":4,"attackLevel":50,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":25,"crushDef":25,"rangeDef":15},"8615":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8616":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8617":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8618":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8619":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8620":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8621":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8622":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8633":{"name":"The Mimic","hitpoints":230,"combatLevel":186,"attackSpeed":3,"attackLevel":185,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":60,"magic":180,"stabDef":160,"slashDef":165,"crushDef":150,"rangeDef":145,"magicDef":30,"bonusAttack":135,"bonusStrength":48},"8635":{"name":"Third Age Warrior","hitpoints":40,"combatLevel":83,"attackSpeed":5,"attackLevel":90,"strengthLevel":75,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":96,"slashDef":108,"crushDef":113,"rangeDef":97,"bonusAttack":105,"bonusStrength":75},"8636":{"name":"Third Age Ranger","hitpoints":40,"combatLevel":76,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":95,"magicLevel":1,"range":140,"stabDef":55,"slashDef":47,"crushDef":60,"rangeDef":55,"magicDef":60,"bonusRangeStrength":7},"8637":{"name":"Third Age Mage","hitpoints":40,"combatLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":1,"magicLevel":110,"magic":145,"stabDef":5,"slashDef":6,"crushDef":5,"magicDef":65,"bonusMagicDamage":24},"8678":{"name":"Feral Vampyre","hitpoints":50,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":70,"defenceLevel":65,"rangeLevel":1,"magicLevel":50},"8698":{"name":"Monk of Zamorak","hitpoints":16,"combatLevel":23,"attackSpeed":4,"attackLevel":15,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":30},"8701":{"name":"Big frog","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":4,"rangeLevel":1,"magicLevel":1},"8702":{"name":"Frog","hitpoints":8,"combatLevel":5,"attackSpeed":4,"attackLevel":5,"strengthLevel":4,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"8703":{"name":"Temple Spider","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":120,"strengthLevel":50,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":30,"crushDef":10,"rangeDef":20,"magicDef":25},"8709":{"name":"Shaeded Beast","hitpoints":210,"combatLevel":186,"attackSpeed":4,"attackLevel":50,"strengthLevel":80,"defenceLevel":50,"rangeLevel":1,"magicLevel":250,"stabDef":50,"slashDef":30,"crushDef":100,"rangeDef":50,"magicDef":150,"bonusMagicDamage":10},"8713":{"name":"Sarachnis","hitpoints":400,"combatLevel":318,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":240,"defenceLevel":150,"rangeLevel":300,"magicLevel":150,"range":15,"stabDef":60,"slashDef":40,"crushDef":10,"rangeDef":300,"magicDef":150,"bonusAttack":30,"bonusRangeStrength":15},"8714":{"name":"Spawn of Sarachnis","hitpoints":30,"combatLevel":107,"attackSpeed":3,"attackLevel":150,"strengthLevel":120,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":20,"rangeDef":150,"bonusAttack":50},"8715":{"name":"Spawn of Sarachnis","hitpoints":30,"combatLevel":68,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":50,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":50,"crushDef":50,"magicDef":150},"8736":{"name":"Moss Giant","hitpoints":120,"combatLevel":84,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"bonusAttack":66,"bonusStrength":62},"8759":{"name":"Iorwerth Warrior","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":80,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"8760":{"name":"Iorwerth Archer","hitpoints":105,"combatLevel":90,"slayerLevel":1,"attackSpeed":5,"attackLevel":10,"strengthLevel":10,"defenceLevel":80,"rangeLevel":90,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"8847":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"8871":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"8872":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"8917":{"name":"Fragment of Seren","hitpoints":1000,"combatLevel":494,"attackSpeed":7,"attackLevel":242,"strengthLevel":288,"defenceLevel":102,"rangeLevel":235,"magicLevel":102,"stab":236,"slash":236,"crush":236,"range":224,"stabDef":320,"slashDef":220,"crushDef":320,"rangeDef":480,"magicDef":10},"8918":{"name":"Fragment of Seren","hitpoints":1000,"combatLevel":494,"attackSpeed":7,"attackLevel":242,"strengthLevel":288,"defenceLevel":102,"rangeLevel":235,"magicLevel":102,"stab":236,"slash":236,"crush":236,"range":224,"stabDef":320,"slashDef":220,"crushDef":320,"rangeDef":480,"magicDef":10},"8919":{"name":"Fragment of Seren","hitpoints":1000,"combatLevel":494,"attackSpeed":7,"attackLevel":242,"strengthLevel":288,"defenceLevel":102,"rangeLevel":235,"magicLevel":102,"stab":236,"slash":236,"crush":236,"range":224,"stabDef":320,"slashDef":220,"crushDef":320,"rangeDef":480,"magicDef":10},"8920":{"name":"Fragment of Seren","hitpoints":1000,"combatLevel":494,"attackSpeed":7,"attackLevel":242,"strengthLevel":288,"defenceLevel":102,"rangeLevel":235,"magicLevel":102,"stab":236,"slash":236,"crush":236,"range":224,"stabDef":320,"slashDef":220,"crushDef":320,"rangeDef":480,"magicDef":10},"8950":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"9016":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"9021":{"name":"Crystalline Hunllef","hitpoints":600,"combatLevel":674,"attackSpeed":5},"9022":{"name":"Crystalline Hunllef","hitpoints":600,"combatLevel":674,"attackSpeed":5},"9023":{"name":"Crystalline Hunllef","hitpoints":600,"combatLevel":674,"attackSpeed":5},"9024":{"name":"Crystalline Hunllef","hitpoints":600,"combatLevel":674,"attackSpeed":5},"9026":{"name":"Crystalline Rat","combatLevel":24,"attackSpeed":4},"9028":{"name":"Crystalline Bat","combatLevel":33,"attackSpeed":4},"9029":{"name":"Crystalline Unicorn","combatLevel":48,"attackSpeed":4},"9030":{"name":"Crystalline Scorpion","combatLevel":64,"attackSpeed":4},"9031":{"name":"Crystalline Wolf","combatLevel":74,"attackSpeed":4},"9032":{"name":"Crystalline Bear","combatLevel":172,"attackSpeed":4},"9033":{"name":"Crystalline Dragon","combatLevel":172,"attackSpeed":4},"9035":{"name":"Corrupted Hunllef","hitpoints":1000,"combatLevel":894,"attackSpeed":5},"9036":{"name":"Corrupted Hunllef","hitpoints":1000,"combatLevel":894,"attackSpeed":5},"9037":{"name":"Corrupted Hunllef","hitpoints":1000,"combatLevel":894,"attackSpeed":5},"9038":{"name":"Corrupted Hunllef","hitpoints":1000,"combatLevel":894,"attackSpeed":5},"9040":{"name":"Corrupted Rat","combatLevel":34,"attackSpeed":4},"9041":{"name":"Corrupted Spider","hitpoints":12,"combatLevel":32,"attackSpeed":4},"9042":{"name":"Corrupted Bat","combatLevel":48,"attackSpeed":4},"9043":{"name":"Corrupted Unicorn","combatLevel":64,"attackSpeed":4},"9044":{"name":"Corrupted Scorpion","combatLevel":89,"attackSpeed":4},"9045":{"name":"Corrupted Wolf","combatLevel":102,"attackSpeed":4},"9046":{"name":"Corrupted Bear","hitpoints":100,"combatLevel":258,"attackSpeed":4},"9047":{"name":"Corrupted Dragon","combatLevel":258,"attackSpeed":4},"9048":{"name":"Corrupted Dark Beast","hitpoints":100,"combatLevel":258,"attackSpeed":4},"9049":{"name":"Zalcano","hitpoints":1000,"combatLevel":336,"attackSpeed":5},"9051":{"name":"Golem","hitpoints":14,"combatLevel":64},"9181":{"name":"Dire Wolf","hitpoints":74,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":61,"defenceLevel":62,"rangeLevel":1,"magicLevel":1},"9182":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9183":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9184":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9185":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9186":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9187":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9188":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9189":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9190":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9191":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9246":{"name":"Arianwyn (hard)","hitpoints":300,"combatLevel":368,"attackSpeed":5,"defenceLevel":102,"rangeLevel":552,"magicLevel":153,"range":126,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":180,"magicDef":260},"9247":{"name":"Essyllt (hard)","hitpoints":320,"combatLevel":395,"attackSpeed":4,"attackLevel":408,"strengthLevel":408,"defenceLevel":104,"rangeLevel":512,"magicLevel":104,"range":168,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusAttack":14,"bonusStrength":28,"bonusRangeStrength":28},"9249":{"name":"Essyllt (hard)","hitpoints":320,"combatLevel":395,"attackSpeed":4,"attackLevel":408,"strengthLevel":408,"defenceLevel":104,"rangeLevel":512,"magicLevel":104,"range":168,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusAttack":14,"bonusStrength":28,"bonusRangeStrength":28},"9258":{"name":"Basilisk Sentinel","hitpoints":520,"combatLevel":358,"slayerLevel":60,"attackSpeed":4,"attackLevel":274,"strengthLevel":274,"defenceLevel":274,"rangeLevel":1,"magicLevel":274,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":10,"magicDef":50,"bonusAttack":12,"bonusMagicDamage":12},"9282":{"name":"Basilisk Youngling","hitpoints":60,"combatLevel":57,"slayerLevel":40,"attackSpeed":4,"attackLevel":25,"strengthLevel":40,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"magicDef":20},"9287":{"name":"Monstrous Basilisk","hitpoints":170,"combatLevel":135,"attackSpeed":4,"attackLevel":88,"strengthLevel":98,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"magicDef":35,"poisonImmune":true,"venomImmune":true},"9288":{"name":"Monstrous Basilisk","hitpoints":170,"combatLevel":135,"attackSpeed":4,"attackLevel":88,"strengthLevel":98,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"magicDef":35,"poisonImmune":true,"venomImmune":true},"9289":{"name":"The Jormungand","hitpoints":600,"combatLevel":363,"slayerLevel":40,"attackSpeed":5,"attackLevel":180,"strengthLevel":180,"defenceLevel":180,"rangeLevel":180,"magicLevel":180,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":50,"magicDef":50,"bonusStrength":12,"bonusRangeStrength":12,"bonusMagicDamage":12},"9290":{"name":"The Jormungand","hitpoints":600,"combatLevel":363,"slayerLevel":40,"attackSpeed":5,"attackLevel":180,"strengthLevel":180,"defenceLevel":180,"rangeLevel":180,"magicLevel":180,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":50,"magicDef":50,"bonusStrength":12,"bonusRangeStrength":12,"bonusMagicDamage":12},"9291":{"name":"The Jormungand","hitpoints":600,"combatLevel":363,"slayerLevel":40,"attackSpeed":5,"attackLevel":180,"strengthLevel":180,"defenceLevel":180,"rangeLevel":180,"magicLevel":180,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":50,"magicDef":50,"bonusStrength":12,"bonusRangeStrength":12,"bonusMagicDamage":12},"9292":{"name":"The Jormungand","hitpoints":600,"combatLevel":363,"slayerLevel":40,"attackSpeed":5,"attackLevel":180,"strengthLevel":180,"defenceLevel":180,"rangeLevel":180,"magicLevel":180,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":50,"magicDef":50,"bonusStrength":12,"bonusRangeStrength":12,"bonusMagicDamage":12},"9293":{"name":"Basilisk Knight","hitpoints":300,"combatLevel":204,"slayerLevel":60,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":186,"rangeLevel":1,"magicLevel":186,"stabDef":30,"slashDef":30,"magicDef":30},"9295":{"name":"Typhor","hitpoints":280,"combatLevel":194,"slayerLevel":40,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":150,"rangeLevel":1,"magicLevel":150,"stabDef":25,"slashDef":25,"magicDef":25,"poisonImmune":true,"venomImmune":true},"9296":{"name":"Typhor","hitpoints":280,"combatLevel":194,"slayerLevel":40,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":150,"rangeLevel":1,"magicLevel":150,"stabDef":25,"slashDef":25,"magicDef":25,"poisonImmune":true,"venomImmune":true}} \ No newline at end of file +{"1":{"name":"Molanisk","hitpoints":52,"combatLevel":51,"slayerLevel":39,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":50,"rangeLevel":1,"stabDef":45,"slashDef":45,"crushDef":35,"rangeDef":55,"magicDef":30},"2":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"3":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"4":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"5":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"6":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"7":{"name":"Aberrant spectre","hitpoints":90,"combatLevel":96,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":105,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":15,"undead":true},"8":{"name":"Nechryael","hitpoints":105,"combatLevel":115,"slayerLevel":80,"attackSpeed":4,"attackLevel":97,"strengthLevel":97,"defenceLevel":105,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"10":{"name":"Death spawn","hitpoints":60,"combatLevel":46,"attackSpeed":4,"attackLevel":67,"strengthLevel":7,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20},"11":{"name":"Nechryael","hitpoints":105,"combatLevel":115,"slayerLevel":80,"attackSpeed":4,"attackLevel":97,"strengthLevel":97,"defenceLevel":105,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"26":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"27":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"28":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"29":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"30":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"31":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"32":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"33":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"34":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"35":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"36":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"37":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"38":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"39":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"40":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"41":{"name":"Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"42":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"43":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"44":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"45":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"46":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"47":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"48":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"49":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"50":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"51":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"52":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"53":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"54":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"55":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"56":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"57":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"58":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"59":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"60":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"61":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"62":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"63":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"64":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"65":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"66":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"67":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"68":{"name":"Zombie","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"69":{"name":"Summoned Zombie","hitpoints":22,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":9,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"undead":true},"70":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"71":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"72":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"73":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"74":{"name":"Skeleton","hitpoints":24,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"75":{"name":"Skeleton","hitpoints":24,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"76":{"name":"Skeleton","hitpoints":24,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"77":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"78":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"79":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"80":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"81":{"name":"Skeleton","hitpoints":17,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"82":{"name":"Skeleton","hitpoints":59,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":35,"defenceLevel":36,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"83":{"name":"Skeleton","hitpoints":59,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":35,"defenceLevel":36,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"84":{"name":"Skeleton Mage","hitpoints":17,"combatLevel":16,"slayerLevel":1,"attackSpeed":4,"attackLevel":14,"strengthLevel":14,"defenceLevel":14,"rangeLevel":1,"magicLevel":18,"undead":true},"85":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"86":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"87":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"88":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"89":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"90":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"91":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"92":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"93":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"94":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"95":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"96":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"97":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"99":{"name":"Death wing","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1},"100":{"name":"Rock Crab","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"101":{"name":"Rocks","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"102":{"name":"Rock Crab","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"103":{"name":"Rocks","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"104":{"name":"Hellhound","hitpoints":116,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":104,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"105":{"name":"Hellhound","hitpoints":116,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":104,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"106":{"name":"Wolf","hitpoints":69,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":55,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"107":{"name":"White wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"108":{"name":"White wolf","hitpoints":44,"combatLevel":38,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":31,"defenceLevel":32,"rangeLevel":1,"magicLevel":1},"109":{"name":"Big Wolf","hitpoints":74,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":61,"defenceLevel":62,"rangeLevel":1,"magicLevel":1},"110":{"name":"Wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"112":{"name":"Wild dog","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"113":{"name":"Wild dog","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"114":{"name":"Guard dog","hitpoints":49,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":36,"defenceLevel":37,"rangeLevel":1,"magicLevel":1},"115":{"name":"Big Wolf","hitpoints":74,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":61,"defenceLevel":62,"rangeLevel":1,"magicLevel":1},"116":{"name":"Wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"117":{"name":"Wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"130":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1},"131":{"name":"Guard dog","hitpoints":49,"combatLevel":44,"attackSpeed":4,"attackLevel":35,"strengthLevel":36,"defenceLevel":37,"rangeLevel":1,"magicLevel":1},"132":{"name":"Hobgoblin","hitpoints":62,"combatLevel":54,"attackSpeed":6,"attackLevel":45,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"bonusAttack":8,"bonusStrength":10},"133":{"name":"Troll","hitpoints":120,"combatLevel":91,"attackSpeed":4,"attackLevel":50,"strengthLevel":100,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"134":{"name":"Huge spider","hitpoints":90,"combatLevel":81,"attackSpeed":4,"attackLevel":59,"strengthLevel":70,"defenceLevel":69,"rangeLevel":1,"magicLevel":1},"135":{"name":"Hellhound","hitpoints":116,"combatLevel":122,"attackSpeed":4,"attackLevel":105,"strengthLevel":104,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"136":{"name":"Ogre","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":6,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20},"137":{"name":"Baby red dragon","hitpoints":65,"combatLevel":65,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":55,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40},"138":{"name":"Kalphite Soldier","hitpoints":90,"combatLevel":85,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"139":{"name":"Steel dragon","hitpoints":210,"combatLevel":246,"attackSpeed":4,"attackLevel":215,"strengthLevel":215,"defenceLevel":215,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30},"140":{"name":"Dagannoth","hitpoints":142,"combatLevel":135,"attackSpeed":4,"attackLevel":114,"strengthLevel":117,"defenceLevel":98,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":50,"bonusRangeStrength":50},"141":{"name":"Tok-Xil","hitpoints":60,"combatLevel":135,"attackSpeed":4,"attackLevel":120,"strengthLevel":180,"defenceLevel":90,"rangeLevel":180,"magicLevel":90},"142":{"name":"Demon","hitpoints":79,"combatLevel":82,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1},"143":{"name":"Rocnar","hitpoints":100,"combatLevel":97,"attackSpeed":6,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"bonusAttack":22,"bonusStrength":20},"231":{"name":"Wolf","hitpoints":34,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"232":{"name":"Jungle Wolf","hitpoints":69,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":55,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"239":{"name":"King Black Dragon","hitpoints":240,"combatLevel":276,"slayerLevel":1,"attackSpeed":3,"attackLevel":240,"strengthLevel":240,"defenceLevel":240,"rangeLevel":1,"magicLevel":240,"stabDef":70,"slashDef":90,"crushDef":90,"rangeDef":70,"magicDef":80,"dragon":true},"240":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"241":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"242":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"243":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"244":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"245":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"246":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"247":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"248":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"249":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"250":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"251":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"252":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"253":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"254":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"255":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"256":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"257":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"258":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"259":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"260":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"261":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"262":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"263":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"264":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"265":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"266":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"267":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"268":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"269":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"270":{"name":"Bronze dragon","hitpoints":122,"combatLevel":131,"slayerLevel":1,"attackSpeed":4,"attackLevel":112,"strengthLevel":112,"defenceLevel":112,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"271":{"name":"Bronze dragon","hitpoints":122,"combatLevel":131,"slayerLevel":1,"attackSpeed":4,"attackLevel":112,"strengthLevel":112,"defenceLevel":112,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"272":{"name":"Iron dragon","hitpoints":165,"combatLevel":189,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":165,"defenceLevel":165,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"273":{"name":"Iron dragon","hitpoints":165,"combatLevel":189,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":165,"defenceLevel":165,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"274":{"name":"Steel dragon","hitpoints":210,"combatLevel":246,"slayerLevel":1,"attackSpeed":4,"attackLevel":215,"strengthLevel":215,"defenceLevel":215,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"275":{"name":"Steel dragon","hitpoints":210,"combatLevel":246,"slayerLevel":1,"attackSpeed":4,"attackLevel":215,"strengthLevel":215,"defenceLevel":215,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"289":{"name":"Ghoul","hitpoints":50,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"290":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5,"attackLevel":8,"strengthLevel":8,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stab":5,"magicDef":5,"bonusAttack":5,"bonusStrength":7},"291":{"name":"Chaos dwarf","hitpoints":61,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":38,"strengthLevel":42,"defenceLevel":28,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":34,"crushDef":25,"rangeDef":35,"magicDef":10,"bonusAttack":13,"bonusStrength":9},"292":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"293":{"name":"Adventurer Jon","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"294":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"295":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"296":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5,"attackLevel":8,"strengthLevel":8,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stab":5,"magicDef":5,"bonusAttack":5,"bonusStrength":7},"299":{"name":"Gunthor the brave","hitpoints":35,"combatLevel":29,"attackSpeed":6,"attackLevel":22,"strengthLevel":22,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":10,"rangeDef":11,"bonusAttack":8,"bonusStrength":13},"300":{"name":"Jailer","hitpoints":47,"combatLevel":47,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":79,"slashDef":63,"crushDef":47},"301":{"name":"Black Heather","hitpoints":37,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":26,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9},"302":{"name":"Donny the lad","hitpoints":37,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":26,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9},"303":{"name":"Speedy Keith","hitpoints":37,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":26,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9},"304":{"name":"Salarin the twisted","hitpoints":70,"combatLevel":70,"attackSpeed":4,"attackLevel":58,"strengthLevel":58,"defenceLevel":62,"rangeLevel":1,"magicLevel":1},"319":{"name":"Corporeal Beast","hitpoints":2000,"combatLevel":785,"attackSpeed":4,"attackLevel":320,"strengthLevel":320,"defenceLevel":310,"rangeLevel":150,"magicLevel":350,"stabDef":25,"slashDef":200,"crushDef":100,"rangeDef":230,"magicDef":150,"bonusAttack":50,"poisonImmune":true,"venomImmune":true},"320":{"name":"Dark energy core","hitpoints":25,"combatLevel":75,"attackSpeed":2,"attackLevel":1,"strengthLevel":1,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"397":{"name":"Town Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":15,"strengthLevel":15,"defenceLevel":16,"rangeLevel":26,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"bonusAttack":6,"bonusStrength":10},"398":{"name":"Town Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":15,"strengthLevel":15,"defenceLevel":16,"rangeLevel":26,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"bonusAttack":6,"bonusStrength":10},"399":{"name":"Town Guard","hitpoints":22,"combatLevel":19,"attackSpeed":6,"attackLevel":15,"strengthLevel":15,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"bonusAttack":6,"bonusStrength":10},"400":{"name":"Town Guard","hitpoints":22,"combatLevel":19,"attackSpeed":6,"attackLevel":15,"strengthLevel":15,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"bonusAttack":6,"bonusStrength":10},"406":{"name":"Cave crawler","hitpoints":22,"combatLevel":23,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"407":{"name":"Cave crawler","hitpoints":22,"combatLevel":23,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"408":{"name":"Cave crawler","hitpoints":22,"combatLevel":23,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"409":{"name":"Cave crawler","hitpoints":22,"combatLevel":23,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"410":{"name":"Kurask","hitpoints":97,"combatLevel":106,"slayerLevel":70,"attackSpeed":4,"attackLevel":67,"strengthLevel":105,"defenceLevel":105,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20,"poisonImmune":true,"venomImmune":true},"411":{"name":"Kurask","hitpoints":97,"combatLevel":106,"slayerLevel":70,"attackSpeed":4,"attackLevel":67,"strengthLevel":105,"defenceLevel":105,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20,"poisonImmune":true,"venomImmune":true},"412":{"name":"Gargoyle","hitpoints":105,"combatLevel":111,"slayerLevel":75,"attackSpeed":4,"attackLevel":75,"strengthLevel":105,"defenceLevel":107,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":20,"magicDef":20},"413":{"name":"Gargoyle","hitpoints":105,"combatLevel":111,"slayerLevel":75,"attackSpeed":4,"attackLevel":75,"strengthLevel":105,"defenceLevel":107,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":20,"magicDef":20},"414":{"name":"Banshee","hitpoints":22,"combatLevel":23,"slayerLevel":15,"attackSpeed":4,"attackLevel":22,"strengthLevel":15,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"415":{"name":"Abyssal demon","hitpoints":150,"combatLevel":124,"slayerLevel":85,"attackSpeed":4,"attackLevel":97,"strengthLevel":67,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"416":{"name":"Abyssal demon","hitpoints":150,"combatLevel":124,"slayerLevel":85,"attackSpeed":4,"attackLevel":97,"strengthLevel":67,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"417":{"name":"Basilisk","hitpoints":75,"combatLevel":61,"slayerLevel":40,"attackSpeed":4,"attackLevel":30,"strengthLevel":45,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"magicDef":20},"418":{"name":"Basilisk","hitpoints":75,"combatLevel":61,"slayerLevel":40,"attackSpeed":4,"attackLevel":30,"strengthLevel":45,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"magicDef":20},"419":{"name":"Cockatrice","hitpoints":37,"combatLevel":37,"slayerLevel":25,"attackSpeed":4,"attackLevel":22,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"magicDef":10},"420":{"name":"Cockatrice","hitpoints":37,"combatLevel":37,"slayerLevel":25,"attackSpeed":4,"attackLevel":22,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"magicDef":10},"421":{"name":"Rockslug","hitpoints":27,"combatLevel":29,"slayerLevel":20,"attackSpeed":4,"attackLevel":22,"strengthLevel":27,"defenceLevel":27,"rangeLevel":1,"magicLevel":1},"422":{"name":"Rockslug","hitpoints":27,"combatLevel":29,"slayerLevel":20,"attackSpeed":4,"attackLevel":22,"strengthLevel":27,"defenceLevel":27,"rangeLevel":1,"magicLevel":1},"423":{"name":"Dust devil","hitpoints":105,"combatLevel":93,"slayerLevel":65,"attackSpeed":4,"attackLevel":105,"strengthLevel":70,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"427":{"name":"Turoth","hitpoints":81,"combatLevel":89,"slayerLevel":55,"attackSpeed":4,"attackLevel":58,"strengthLevel":88,"defenceLevel":88,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20},"428":{"name":"Turoth","hitpoints":79,"combatLevel":87,"slayerLevel":55,"attackSpeed":4,"attackLevel":56,"strengthLevel":86,"defenceLevel":86,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20},"429":{"name":"Turoth","hitpoints":77,"combatLevel":85,"slayerLevel":55,"attackSpeed":4,"attackLevel":54,"strengthLevel":84,"defenceLevel":84,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20},"430":{"name":"Turoth","hitpoints":76,"combatLevel":83,"slayerLevel":55,"attackSpeed":4,"attackLevel":53,"strengthLevel":83,"defenceLevel":83,"rangeLevel":1,"magicLevel":1,"slashDef":20,"crushDef":20},"433":{"name":"Pyrefiend","hitpoints":45,"combatLevel":43,"slayerLevel":30,"attackSpeed":4,"attackLevel":52,"strengthLevel":30,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"434":{"name":"Pyrefiend","hitpoints":45,"combatLevel":43,"slayerLevel":30,"attackSpeed":4,"attackLevel":52,"strengthLevel":30,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"435":{"name":"Pyrefiend","hitpoints":45,"combatLevel":43,"slayerLevel":30,"attackSpeed":4,"attackLevel":52,"strengthLevel":30,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"436":{"name":"Pyrefiend","hitpoints":45,"combatLevel":43,"slayerLevel":30,"attackSpeed":4,"attackLevel":52,"strengthLevel":30,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"437":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"438":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"439":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"440":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"441":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"442":{"name":"Jelly","hitpoints":75,"combatLevel":78,"slayerLevel":52,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":120,"rangeLevel":1,"magicLevel":45},"443":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"444":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"445":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"446":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"447":{"name":"Infernal Mage","hitpoints":60,"combatLevel":66,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":1,"magicLevel":75,"magicDef":40},"448":{"name":"Crawling Hand","hitpoints":16,"combatLevel":8,"slayerLevel":5,"attackSpeed":4,"attackLevel":8,"strengthLevel":4,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"undead":true},"453":{"name":"Crawling Hand","hitpoints":19,"combatLevel":12,"slayerLevel":5,"attackSpeed":4,"attackLevel":11,"strengthLevel":7,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"undead":true},"454":{"name":"Crawling Hand","hitpoints":19,"combatLevel":12,"slayerLevel":5,"attackSpeed":4,"attackLevel":11,"strengthLevel":7,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"undead":true},"458":{"name":"Lizard","hitpoints":40,"combatLevel":42,"slayerLevel":22,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"459":{"name":"Desert Lizard","hitpoints":25,"combatLevel":24,"slayerLevel":22,"attackSpeed":4,"attackLevel":20,"strengthLevel":22,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"460":{"name":"Desert Lizard","hitpoints":25,"combatLevel":24,"slayerLevel":22,"attackSpeed":4,"attackLevel":20,"strengthLevel":22,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"461":{"name":"Desert Lizard","hitpoints":25,"combatLevel":24,"slayerLevel":22,"attackSpeed":4,"attackLevel":20,"strengthLevel":22,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"462":{"name":"Small Lizard","hitpoints":15,"combatLevel":12,"slayerLevel":22,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":5,"crushDef":5},"463":{"name":"Small Lizard","hitpoints":15,"combatLevel":12,"slayerLevel":22,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":5,"crushDef":5},"464":{"name":"Harpie Bug Swarm","hitpoints":25,"combatLevel":46,"slayerLevel":33,"attackSpeed":4,"attackLevel":54,"strengthLevel":46,"defenceLevel":32,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":5,"crushDef":10,"rangeDef":10,"magicDef":5},"465":{"name":"Skeletal Wyvern","hitpoints":210,"combatLevel":140,"slayerLevel":72,"attackSpeed":6,"attackLevel":125,"strengthLevel":116,"defenceLevel":120,"rangeLevel":120,"magicLevel":125,"stabDef":140,"slashDef":90,"crushDef":90,"rangeDef":140,"magicDef":80,"dragon":true},"466":{"name":"Skeletal Wyvern","hitpoints":210,"combatLevel":140,"slayerLevel":72,"attackSpeed":6,"attackLevel":125,"strengthLevel":116,"defenceLevel":120,"rangeLevel":120,"magicLevel":125,"stabDef":140,"slashDef":90,"crushDef":90,"rangeDef":140,"magicDef":80,"dragon":true},"467":{"name":"Skeletal Wyvern","hitpoints":210,"combatLevel":140,"slayerLevel":72,"attackSpeed":6,"attackLevel":125,"strengthLevel":116,"defenceLevel":120,"rangeLevel":120,"magicLevel":125,"stabDef":140,"slashDef":90,"crushDef":90,"rangeDef":140,"magicDef":80,"dragon":true},"468":{"name":"Skeletal Wyvern","hitpoints":210,"combatLevel":140,"slayerLevel":72,"attackSpeed":6,"attackLevel":125,"strengthLevel":116,"defenceLevel":120,"rangeLevel":120,"magicLevel":125,"stabDef":140,"slashDef":90,"crushDef":90,"rangeDef":140,"magicDef":80,"dragon":true},"469":{"name":"Killerwatt","hitpoints":51,"combatLevel":55,"slayerLevel":37,"attackSpeed":2,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":67,"magicLevel":67,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"magicDef":20,"bonusAttack":30},"470":{"name":"Killerwatt","hitpoints":51,"combatLevel":55,"slayerLevel":37,"attackSpeed":2,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":67,"magicLevel":67,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"magicDef":20,"bonusAttack":30},"472":{"name":"Dark wizard","hitpoints":24,"combatLevel":20,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"473":{"name":"Invrigar the Necromancer","hitpoints":24,"combatLevel":20,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":14,"rangeLevel":1,"magicLevel":18,"magicDef":3},"474":{"name":"Dark wizard","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"475":{"name":"Hole in the wall","hitpoints":105,"combatLevel":49,"slayerLevel":35,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":16,"rangeLevel":1,"magicLevel":1},"476":{"name":"Wall beast","hitpoints":105,"combatLevel":49,"slayerLevel":35,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":16,"rangeLevel":1,"magicLevel":1},"477":{"name":"Giant frog","hitpoints":100,"combatLevel":99,"attackSpeed":4,"attackLevel":100,"strengthLevel":80,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"478":{"name":"Big frog","hitpoints":25,"combatLevel":24,"attackSpeed":4,"attackLevel":25,"strengthLevel":20,"defenceLevel":15,"rangeLevel":1,"magicLevel":1},"480":{"name":"Cave slime","hitpoints":25,"combatLevel":23,"slayerLevel":17,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":35,"rangeLevel":1,"magicLevel":13},"481":{"name":"Cave bug","hitpoints":5,"combatLevel":6,"slayerLevel":7,"attackSpeed":4,"attackLevel":6,"strengthLevel":5,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"483":{"name":"Cave bug","hitpoints":93,"combatLevel":96,"slayerLevel":7,"attackSpeed":4,"attackLevel":82,"strengthLevel":80,"defenceLevel":84,"rangeLevel":1,"magicLevel":1,"stabDef":72,"slashDef":59,"crushDef":35,"rangeDef":95,"magicDef":25},"484":{"name":"Bloodveld","hitpoints":120,"combatLevel":76,"slayerLevel":50,"attackSpeed":4,"attackLevel":75,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"485":{"name":"Bloodveld","hitpoints":120,"combatLevel":76,"slayerLevel":50,"attackSpeed":4,"attackLevel":75,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"486":{"name":"Bloodveld","hitpoints":120,"combatLevel":76,"slayerLevel":50,"attackSpeed":4,"attackLevel":75,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"487":{"name":"Bloodveld","hitpoints":120,"combatLevel":76,"slayerLevel":50,"attackSpeed":4,"attackLevel":75,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"492":{"name":"Cave kraken","hitpoints":125,"combatLevel":127,"slayerLevel":87,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":150,"rangeLevel":1,"magicLevel":120,"rangeDef":100},"493":{"name":"Whirlpool","combatLevel":127,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"rangeDef":300,"magicDef":130},"494":{"name":"Kraken","hitpoints":255,"combatLevel":291,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"rangeDef":300,"magicDef":130},"496":{"name":"Whirlpool","combatLevel":127,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"rangeDef":300,"magicDef":130},"498":{"name":"Smoke devil","hitpoints":185,"combatLevel":160,"slayerLevel":93,"attackSpeed":4,"attackLevel":140,"strengthLevel":130,"defenceLevel":275,"rangeLevel":195,"magicLevel":1,"rangeDef":44,"magicDef":600,"poisonImmune":true,"venomImmune":true},"499":{"name":"Thermonuclear smoke devil","hitpoints":240,"combatLevel":301,"slayerLevel":93,"attackSpeed":2,"attackLevel":230,"strengthLevel":220,"defenceLevel":360,"rangeLevel":310,"magicLevel":1,"stabDef":11,"slashDef":4,"crushDef":9,"rangeDef":900,"magicDef":800,"poisonImmune":true,"venomImmune":true},"505":{"name":"Mugger","hitpoints":8,"combatLevel":6,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1},"508":{"name":"Black Knight","hitpoints":42,"combatLevel":33,"attackSpeed":5,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":73,"slashDef":76,"crushDef":70,"rangeDef":72,"bonusAttack":18,"bonusStrength":16},"509":{"name":"Black Knight","hitpoints":42,"combatLevel":33,"attackSpeed":5,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":73,"slashDef":76,"crushDef":70,"rangeDef":72,"bonusAttack":18,"bonusStrength":16},"510":{"name":"Highwayman","hitpoints":13,"combatLevel":5,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":6,"bonusStrength":7},"511":{"name":"Highwayman","hitpoints":13,"combatLevel":5,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":6,"bonusStrength":7},"512":{"name":"Chaos druid","hitpoints":20,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":8,"defenceLevel":12,"rangeLevel":1,"magicLevel":10},"513":{"name":"Pirate","hitpoints":20,"combatLevel":23,"attackSpeed":5,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"slashDef":1,"bonusAttack":9,"bonusStrength":10},"514":{"name":"Pirate","hitpoints":20,"combatLevel":23,"attackSpeed":5,"attackLevel":21,"strengthLevel":21,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":2,"bonusAttack":8,"bonusStrength":10},"515":{"name":"Pirate","hitpoints":23,"combatLevel":26,"attackSpeed":5,"attackLevel":23,"strengthLevel":23,"defenceLevel":23,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":2,"bonusAttack":8,"bonusStrength":10},"517":{"name":"Thug","hitpoints":18,"combatLevel":10,"attackSpeed":6,"attackLevel":7,"strengthLevel":5,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":3,"crushDef":3,"bonusAttack":5,"bonusStrength":5},"518":{"name":"Rogue","hitpoints":17,"combatLevel":15,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":6,"slashDef":9,"crushDef":11,"bonusAttack":5,"bonusStrength":5},"522":{"name":"Tribesman","hitpoints":39,"combatLevel":32,"attackSpeed":4,"attackLevel":23,"strengthLevel":27,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":6,"bonusAttack":8,"bonusStrength":5},"523":{"name":"Dark warrior","hitpoints":17,"combatLevel":8,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1,"stabDef":96,"slashDef":79,"crushDef":59,"bonusAttack":20,"bonusStrength":16},"524":{"name":"Chaos druid warrior","hitpoints":40,"combatLevel":37,"attackSpeed":5,"attackLevel":32,"strengthLevel":34,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":13,"slashDef":17,"crushDef":14,"rangeDef":14,"bonusAttack":9,"bonusStrength":5},"525":{"name":"Necromancer","hitpoints":40,"combatLevel":26,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":18},"537":{"name":"Zygomite","hitpoints":65,"combatLevel":74,"slayerLevel":57,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":65,"magicLevel":65,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"magicDef":20,"bonusAttack":30},"561":{"name":"Sorebones","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":4,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"562":{"name":"Sorebones","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":4,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"563":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"564":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"565":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"566":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"567":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"568":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"569":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"570":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"571":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"572":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"573":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"574":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"575":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"576":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"577":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"578":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"579":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"580":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"581":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"582":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"583":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"584":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"585":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"586":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"587":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"588":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"589":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"590":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"591":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"592":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"593":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"594":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"595":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"596":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"597":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"598":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"599":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"600":{"name":"Barrelchest","hitpoints":134,"combatLevel":190,"attackSpeed":5,"attackLevel":170,"strengthLevel":145,"defenceLevel":140,"rangeLevel":1,"magicLevel":90,"bonusAttack":80,"bonusStrength":80},"613":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"614":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"615":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"616":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"617":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"618":{"name":"Zombie pirate","hitpoints":52,"combatLevel":57,"slayerLevel":1,"attackSpeed":3,"attackLevel":49,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"619":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"620":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"621":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"622":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"623":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"624":{"name":"Zombie swab","hitpoints":50,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"undead":true},"625":{"name":"Evil spirit","hitpoints":90,"combatLevel":150,"attackSpeed":4,"attackLevel":170,"strengthLevel":146,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"626":{"name":"Fever spider","hitpoints":40,"combatLevel":49,"slayerLevel":42,"attackSpeed":4,"attackLevel":60,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":20,"slashDef":15,"crushDef":10,"rangeDef":15,"magicDef":15},"639":{"name":"Tyras guard","hitpoints":110,"combatLevel":110,"attackSpeed":5,"attackLevel":85,"strengthLevel":95,"defenceLevel":100,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":30},"642":{"name":"Arrg","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"rangeLevel":70,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"643":{"name":"Arrg","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"rangeLevel":70,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"645":{"name":"Ice wolf","hitpoints":70,"combatLevel":96,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":90,"defenceLevel":70,"rangeLevel":1,"magicLevel":1},"646":{"name":"Ice wolf","hitpoints":70,"combatLevel":96,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":90,"defenceLevel":70,"rangeLevel":1,"magicLevel":1},"647":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"648":{"name":"Ice troll","hitpoints":80,"combatLevel":124,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":120,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"649":{"name":"Ice troll","hitpoints":80,"combatLevel":123,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"650":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"651":{"name":"Ice troll","hitpoints":80,"combatLevel":121,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"652":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"653":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"654":{"name":"Ice troll","hitpoints":80,"combatLevel":121,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"655":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"656":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"657":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"658":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"659":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"660":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"661":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"662":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"663":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"664":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"665":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"666":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"667":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"668":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"674":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"677":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"678":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"680":{"name":"Giant skeleton","hitpoints":110,"combatLevel":100,"attackSpeed":6,"attackLevel":84,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":15},"681":{"name":"Giant skeleton","hitpoints":110,"combatLevel":100,"attackSpeed":6,"attackLevel":84,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":15},"682":{"name":"Damis","hitpoints":90,"combatLevel":103,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":80},"683":{"name":"Damis","hitpoints":200,"combatLevel":174,"attackSpeed":4,"attackLevel":160,"strengthLevel":100,"defenceLevel":160,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":120,"magicDef":80,"bonusStrength":100},"685":{"name":"Stranger","hitpoints":80,"combatLevel":95,"attackSpeed":4,"attackLevel":90,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"magic":1,"stabDef":81,"slashDef":93,"crushDef":98,"rangeDef":82,"magicDef":1,"bonusStrength":40},"690":{"name":"Bandit","hitpoints":65,"combatLevel":74,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"695":{"name":"Bandit","hitpoints":50,"combatLevel":57,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"699":{"name":"Ice troll","hitpoints":80,"combatLevel":124,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":120,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"700":{"name":"Ice troll","hitpoints":80,"combatLevel":123,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"701":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"702":{"name":"Ice troll","hitpoints":80,"combatLevel":121,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"703":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"704":{"name":"Ice troll","hitpoints":100,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"705":{"name":"Ice troll","hitpoints":80,"combatLevel":121,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"710":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"711":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"712":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"713":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"714":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"715":{"name":"Ice wolf","hitpoints":70,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":70},"717":{"name":"Mummy","hitpoints":86,"attackSpeed":4,"undead":true},"720":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"721":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"722":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"723":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"724":{"name":"Mummy","hitpoints":86,"attackSpeed":4,"undead":true},"725":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"726":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"727":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"728":{"name":"Mummy","hitpoints":91,"combatLevel":103,"attackSpeed":4,"undead":true},"729":{"name":"Scarabs","hitpoints":25,"combatLevel":92,"attackSpeed":1,"attackLevel":255,"strengthLevel":2,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"magicDef":15},"734":{"name":"Bandit","hitpoints":30,"combatLevel":56,"attackSpeed":4,"attackLevel":59,"strengthLevel":70,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"slashDef":9,"crushDef":8,"magicDef":10,"bonusAttack":9,"bonusStrength":9},"735":{"name":"Bandit","hitpoints":30,"combatLevel":56,"attackSpeed":4,"attackLevel":59,"strengthLevel":70,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"slashDef":9,"crushDef":8,"magicDef":10,"bonusAttack":9,"bonusStrength":9},"736":{"name":"Bandit","hitpoints":30,"combatLevel":41,"attackSpeed":4,"attackLevel":40,"strengthLevel":50,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"slashDef":9,"crushDef":8,"magicDef":10,"bonusAttack":9,"bonusStrength":9},"737":{"name":"Bandit","hitpoints":30,"combatLevel":41,"attackSpeed":4,"attackLevel":40,"strengthLevel":50,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"slashDef":9,"crushDef":8,"magicDef":10,"bonusAttack":9,"bonusStrength":9},"738":{"name":"Bandit champion","hitpoints":50,"combatLevel":70,"attackSpeed":4,"attackLevel":59,"strengthLevel":80,"defenceLevel":50,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9},"762":{"name":"Baby Roc","hitpoints":50,"combatLevel":75,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":150},"763":{"name":"Giant Roc","hitpoints":250,"combatLevel":172,"attackSpeed":6,"attackLevel":130,"strengthLevel":130,"defenceLevel":100,"rangeLevel":130,"magicLevel":1,"magicDef":150},"764":{"name":"Shadow","hitpoints":15,"combatLevel":73,"attackSpeed":4,"attackLevel":90,"strengthLevel":120,"defenceLevel":5,"rangeLevel":1,"magicLevel":90,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":30,"magicDef":30},"773":{"name":"Skraeling","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"774":{"name":"Skraeling","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"785":{"name":"Me","hitpoints":45,"combatLevel":79,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":74,"rangeLevel":1,"magicLevel":1},"786":{"name":"Me","hitpoints":45,"combatLevel":79,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":74,"rangeLevel":1,"magicLevel":1},"787":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"788":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"789":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"790":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"791":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"792":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"793":{"name":"Suqah","hitpoints":106,"combatLevel":111,"slayerLevel":1,"attackSpeed":6,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":90},"794":{"name":"Scarab mage","hitpoints":50,"combatLevel":93,"slayerLevel":1,"attackSpeed":15,"attackLevel":90,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":70,"magic":70,"stabDef":40,"slashDef":90,"crushDef":90,"magicDef":34},"795":{"name":"Locust rider","hitpoints":90,"combatLevel":106,"slayerLevel":1,"attackSpeed":6,"attackLevel":100,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":90,"slashDef":90,"crushDef":40},"796":{"name":"Locust rider","hitpoints":90,"combatLevel":98,"slayerLevel":1,"attackSpeed":6,"attackLevel":105,"strengthLevel":90,"defenceLevel":50,"rangeLevel":90,"magicLevel":1,"range":80,"stabDef":50,"slashDef":90,"crushDef":50,"rangeDef":66,"magicDef":34,"bonusRangeStrength":80},"797":{"name":"Giant scarab","hitpoints":130,"combatLevel":191,"slayerLevel":1,"attackSpeed":4,"attackLevel":169,"strengthLevel":190,"defenceLevel":169,"rangeLevel":190,"magicLevel":1,"stabDef":70,"slashDef":99,"crushDef":99,"rangeDef":149,"magicDef":159},"798":{"name":"Giant scarab","hitpoints":130,"combatLevel":191,"slayerLevel":1,"attackSpeed":4,"attackLevel":169,"strengthLevel":190,"defenceLevel":169,"rangeLevel":190,"magicLevel":1,"stabDef":70,"slashDef":99,"crushDef":99,"rangeDef":149,"magicDef":159},"799":{"name":"Scarab mage","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":15,"magic":70},"800":{"name":"Locust rider","hitpoints":90,"combatLevel":68,"slayerLevel":1,"attackSpeed":6,"attackLevel":100,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":90,"slashDef":90,"crushDef":40},"801":{"name":"Locust rider","hitpoints":90,"combatLevel":68,"slayerLevel":1,"attackSpeed":6,"attackLevel":105,"strengthLevel":90,"defenceLevel":50,"rangeLevel":90,"magicLevel":1,"range":80,"stabDef":50,"slashDef":90,"crushDef":50,"rangeDef":66,"magicDef":34,"bonusRangeStrength":80},"817":{"name":"Elvarg","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":70,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30},"820":{"name":"Wormbrain","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"823":{"name":"Melzar the Mad","hitpoints":44,"combatLevel":43,"attackSpeed":4,"attackLevel":37,"strengthLevel":37,"defenceLevel":34,"rangeLevel":1,"magicLevel":40,"poisonImmune":true,"venomImmune":true},"852":{"name":"Icelord","hitpoints":60,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"853":{"name":"Icelord","hitpoints":60,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"854":{"name":"Icelord","hitpoints":60,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"855":{"name":"Icelord","hitpoints":60,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"866":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"867":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"868":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"869":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"870":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"871":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"872":{"name":"Skogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"873":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"874":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"875":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"876":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"877":{"name":"Zogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"878":{"name":"Skogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"879":{"name":"Skogre","hitpoints":71,"combatLevel":44,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"880":{"name":"Zombie","hitpoints":50,"combatLevel":39,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"undead":true},"882":{"name":"Slash Bash","hitpoints":100,"combatLevel":111,"attackSpeed":6,"attackLevel":100,"strengthLevel":120,"defenceLevel":60,"rangeLevel":100,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"bonusAttack":22,"undead":true},"891":{"name":"Moss Guardian","hitpoints":120,"combatLevel":84,"attackSpeed":6,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"bonusAttack":66,"bonusStrength":62},"911":{"name":"Agrith Naar","hitpoints":100,"combatLevel":100,"attackSpeed":4,"attackLevel":83,"strengthLevel":90,"defenceLevel":82,"rangeLevel":100,"magicLevel":100,"demon":true},"924":{"name":"Skeleton","hitpoints":18,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"undead":true},"925":{"name":"Rock","hitpoints":140,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":110,"defenceLevel":70,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"926":{"name":"Stick","hitpoints":135,"combatLevel":104,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":110,"defenceLevel":60,"stabDef":30,"slashDef":30,"crushDef":50,"rangeDef":200,"magicDef":200,"bonusAttack":50,"bonusStrength":80},"927":{"name":"Pee Hat","hitpoints":120,"combatLevel":91,"slayerLevel":1,"attackSpeed":6,"attackLevel":50,"strengthLevel":100,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"928":{"name":"Kraka","hitpoints":120,"combatLevel":91,"slayerLevel":1,"attackSpeed":6,"attackLevel":50,"strengthLevel":100,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"931":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"932":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"933":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"934":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"935":{"name":"Thrower Troll","hitpoints":95,"combatLevel":67,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":80,"defenceLevel":30,"rangeLevel":60,"rangeDef":200,"magicDef":200},"936":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"937":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"938":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"939":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"940":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"941":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"942":{"name":"Mountain troll","hitpoints":90,"combatLevel":69,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":75,"defenceLevel":40,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"946":{"name":"Ghast","hitpoints":22,"combatLevel":30,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":18,"rangeLevel":1,"magicLevel":1},"949":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"950":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"951":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"952":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"953":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"955":{"name":"Kalphite Worker","hitpoints":40,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":1,"rangeDef":10,"magicDef":10},"956":{"name":"Kalphite Worker","hitpoints":40,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":1,"rangeDef":10,"magicDef":10},"957":{"name":"Kalphite Soldier","hitpoints":90,"combatLevel":85,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"958":{"name":"Kalphite Soldier","hitpoints":90,"combatLevel":85,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"959":{"name":"Kalphite Guardian","hitpoints":171,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"960":{"name":"Kalphite Guardian","hitpoints":171,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"961":{"name":"Kalphite Worker","hitpoints":40,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":1,"rangeDef":10,"magicDef":10},"962":{"name":"Kalphite Guardian","hitpoints":171,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":5,"rangeDef":50,"magicDef":50},"963":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":100,"magicDef":100},"965":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":10,"magicDef":10},"970":{"name":"Dagannoth","hitpoints":70,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"971":{"name":"Dagannoth","hitpoints":70,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"972":{"name":"Dagannoth","hitpoints":70,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"973":{"name":"Dagannoth","hitpoints":120,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"974":{"name":"Dagannoth","hitpoints":120,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"975":{"name":"Dagannoth","hitpoints":120,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"976":{"name":"Dagannoth","hitpoints":160,"combatLevel":100},"977":{"name":"Dagannoth","hitpoints":160,"combatLevel":100},"978":{"name":"Dagannoth","hitpoints":160,"combatLevel":100},"979":{"name":"Dagannoth","hitpoints":160,"combatLevel":100},"980":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"981":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"982":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"983":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"984":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"985":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"986":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"987":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"988":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"990":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"991":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"992":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"993":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"994":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"1024":{"name":"Zygomite","hitpoints":75,"combatLevel":86,"slayerLevel":57,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":75,"rangeLevel":75,"magicLevel":75,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"magicDef":20,"bonusAttack":30},"1037":{"name":"Snake","hitpoints":25,"combatLevel":35,"attackSpeed":3,"attackLevel":25,"strengthLevel":50,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1039":{"name":"Albino bat","hitpoints":33,"combatLevel":52,"slayerLevel":1,"attackSpeed":4,"attackLevel":57,"strengthLevel":57,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"1041":{"name":"Giant mosquito","hitpoints":3,"combatLevel":13,"attackSpeed":12,"attackLevel":5,"strengthLevel":1,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"1042":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1043":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1044":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1045":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1046":{"name":"Jungle horror","hitpoints":45,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"1047":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1048":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1049":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1050":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1051":{"name":"Cave horror","hitpoints":55,"combatLevel":80,"slayerLevel":58,"attackLevel":80,"strengthLevel":77,"defenceLevel":62,"rangeLevel":1,"magicLevel":80},"1060":{"name":"Angry bear","combatLevel":40},"1061":{"name":"Angry unicorn","hitpoints":50,"combatLevel":45},"1062":{"name":"Angry giant rat","hitpoints":50,"combatLevel":45},"1063":{"name":"Angry giant rat","hitpoints":50,"combatLevel":45},"1064":{"name":"Angry giant rat","hitpoints":50,"combatLevel":45},"1065":{"name":"Angry goblin","hitpoints":50,"combatLevel":45},"1066":{"name":"Fear reaper","hitpoints":25,"combatLevel":42,"attackSpeed":4,"attackLevel":39,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"1067":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1068":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1069":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1070":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1071":{"name":"Confusion beast","hitpoints":28,"combatLevel":43,"attackSpeed":4,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"1072":{"name":"Hopeless creature","hitpoints":25,"combatLevel":40,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"1073":{"name":"Hopeless creature","hitpoints":25,"combatLevel":40,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"1074":{"name":"Hopeless creature","hitpoints":25,"combatLevel":40,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"1075":{"name":"Tolna","hitpoints":37,"combatLevel":46,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"1076":{"name":"Tolna","hitpoints":37,"combatLevel":46,"attackSpeed":5,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"1077":{"name":"Tolna","hitpoints":37,"combatLevel":46,"attackLevel":42,"strengthLevel":41,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"rangeDef":50,"magicDef":50},"1097":{"name":"Sea Snake Young","hitpoints":85,"combatLevel":90,"slayerLevel":40,"attackSpeed":4,"attackLevel":90,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1},"1098":{"name":"Sea Snake Hatchling","hitpoints":50,"combatLevel":62,"slayerLevel":40,"attackSpeed":4,"attackLevel":60,"strengthLevel":55,"defenceLevel":50,"magicLevel":1},"1101":{"name":"Giant Sea Snake","hitpoints":100,"combatLevel":149,"attackSpeed":4,"attackLevel":170,"strengthLevel":90,"defenceLevel":160,"rangeLevel":130,"magicLevel":1},"1118":{"name":"Man","hitpoints":7,"combatLevel":4,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1119":{"name":"Woman","hitpoints":10,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"1126":{"name":"Barrelchest (hard)","hitpoints":255,"combatLevel":380,"attackSpeed":5,"attackLevel":306,"strengthLevel":261,"defenceLevel":140,"rangeLevel":1,"magicLevel":162,"bonusAttack":80,"bonusStrength":80},"1127":{"name":"Giant scarab (hard)","hitpoints":255,"combatLevel":316,"slayerLevel":1,"attackSpeed":4,"attackLevel":305,"strengthLevel":342,"defenceLevel":169,"rangeLevel":342,"magicLevel":1,"stabDef":70,"slashDef":99,"crushDef":99,"rangeDef":149,"magicDef":159},"1128":{"name":"Dessous (hard)","hitpoints":255,"combatLevel":217,"slayerLevel":1,"attackSpeed":3,"attackLevel":198,"strengthLevel":198,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"1129":{"name":"Kamil (hard)","hitpoints":255,"combatLevel":273,"slayerLevel":1,"attackSpeed":4,"attackLevel":380,"strengthLevel":160,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":60,"crushDef":35,"bonusAttack":60,"bonusStrength":100},"1130":{"name":"Woman","hitpoints":13,"combatLevel":4,"attackSpeed":4,"attackLevel":2,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"crushDef":1},"1131":{"name":"Woman","hitpoints":10,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"1134":{"name":"Damis (hard)","hitpoints":198,"combatLevel":200,"attackSpeed":4,"attackLevel":198,"strengthLevel":198,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":80},"1135":{"name":"Damis (hard)","hitpoints":255,"combatLevel":272,"attackSpeed":4,"attackLevel":320,"strengthLevel":200,"defenceLevel":160,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":120,"magicDef":80,"bonusStrength":100},"1139":{"name":"Woman","hitpoints":13,"combatLevel":4,"attackSpeed":4,"attackLevel":2,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"crushDef":1},"1140":{"name":"Woman","hitpoints":13,"combatLevel":12,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"1141":{"name":"Woman","hitpoints":10,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"1142":{"name":"Woman","hitpoints":23,"combatLevel":14,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"1144":{"name":"Paladin","hitpoints":66,"combatLevel":62,"attackSpeed":5,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"1153":{"name":"Ogre","hitpoints":60,"combatLevel":63,"slayerLevel":1,"attackSpeed":6,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":19,"slashDef":23,"crushDef":24,"bonusAttack":8,"bonusStrength":6},"1163":{"name":"Tree spirit","hitpoints":85,"combatLevel":101,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":95,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"1173":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1174":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1204":{"name":"Alomone","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":6,"crushDef":8},"1206":{"name":"Clivet","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":6,"crushDef":8},"1207":{"name":"Hazeel Cultist","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":6,"crushDef":8},"1208":{"name":"Khazard Guard","hitpoints":25,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":18,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":29,"crushDef":21,"bonusAttack":10,"bonusStrength":14},"1210":{"name":"Khazard Guard","hitpoints":25,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":18,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":29,"crushDef":21,"bonusAttack":10,"bonusStrength":14},"1211":{"name":"Khazard Guard","hitpoints":25,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":18,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":29,"crushDef":21,"bonusAttack":10,"bonusStrength":14},"1213":{"name":"General Khazard","hitpoints":170,"combatLevel":112,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"1224":{"name":"Bouncer","hitpoints":116,"combatLevel":137,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"1225":{"name":"Khazard Ogre","hitpoints":60,"combatLevel":63,"attackSpeed":6,"attackLevel":54,"strengthLevel":53,"defenceLevel":53,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20},"1226":{"name":"Khazard Scorpion","hitpoints":40,"combatLevel":44,"attackSpeed":4,"attackLevel":40,"strengthLevel":39,"defenceLevel":34,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"1227":{"name":"Arzinian Avatar of Strength","attackSpeed":4},"1228":{"name":"Arzinian Avatar of Strength","hitpoints":100,"combatLevel":125,"attackSpeed":4,"attackLevel":110,"strengthLevel":100,"defenceLevel":95,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":80,"magicDef":15},"1229":{"name":"Arzinian Avatar of Strength","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":70,"strengthLevel":65,"defenceLevel":50,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":40,"magicDef":10},"1230":{"name":"Arzinian Avatar of Ranging","attackSpeed":4},"1231":{"name":"Arzinian Avatar of Ranging","hitpoints":100,"combatLevel":125,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":120,"rangeLevel":110,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":20,"magicDef":80,"bonusRangeStrength":10},"1232":{"name":"Arzinian Avatar of Ranging","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":40,"defenceLevel":75,"rangeLevel":75,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":15,"magicDef":40,"bonusRangeStrength":5},"1233":{"name":"Arzinian Avatar of Magic","attackSpeed":4},"1234":{"name":"Arzinian Avatar of Magic","hitpoints":100,"combatLevel":125,"attackSpeed":4,"attackLevel":10,"strengthLevel":90,"defenceLevel":120,"magicLevel":120,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":15,"magicDef":20},"1235":{"name":"Arzinian Avatar of Magic","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":50,"defenceLevel":75,"magicLevel":75,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":10,"magicDef":15},"1261":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1262":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1263":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1264":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1265":{"name":"Ram","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1267":{"name":"Vulture","hitpoints":10,"combatLevel":31,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"1268":{"name":"Vulture","hitpoints":10,"combatLevel":31,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"1273":{"name":"Experiment","hitpoints":40,"combatLevel":51,"attackSpeed":4,"attackLevel":40,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"1274":{"name":"Experiment","hitpoints":100,"combatLevel":25,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"1275":{"name":"Experiment","hitpoints":100,"combatLevel":25,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"1277":{"name":"Loar Shade","hitpoints":38,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":30,"defenceLevel":26,"undead":true},"1280":{"name":"Phrin Shade","hitpoints":56,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":64,"strengthLevel":47,"defenceLevel":42,"poisonImmune":true},"1282":{"name":"Riyl Shade","hitpoints":76,"combatLevel":80,"slayerLevel":1,"attackSpeed":4,"attackLevel":88,"strengthLevel":55,"defenceLevel":60},"1284":{"name":"Asyn Shade","hitpoints":90,"combatLevel":100,"slayerLevel":1,"attackSpeed":4,"attackLevel":102,"strengthLevel":84,"defenceLevel":70},"1286":{"name":"Fiyr Shade","hitpoints":110,"combatLevel":120,"slayerLevel":1,"attackSpeed":6,"attackLevel":120,"strengthLevel":100,"defenceLevel":85,"undead":true},"1293":{"name":"Afflicted","hitpoints":30,"combatLevel":37,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"1294":{"name":"Afflicted","hitpoints":28,"combatLevel":34,"attackSpeed":4,"attackLevel":28,"strengthLevel":28,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"1297":{"name":"Afflicted","hitpoints":26,"combatLevel":32,"attackSpeed":4,"attackLevel":26,"strengthLevel":26,"defenceLevel":36,"rangeLevel":1,"magicLevel":1},"1298":{"name":"Afflicted","hitpoints":24,"combatLevel":30,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":34,"rangeLevel":1,"magicLevel":1},"1338":{"name":"Seagull","hitpoints":6,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1339":{"name":"Seagull","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1354":{"name":"Dwarf gang member","hitpoints":40,"combatLevel":44,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"1355":{"name":"Dwarf gang member","hitpoints":25,"combatLevel":48,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"1356":{"name":"Dwarf gang member","hitpoints":25,"combatLevel":49,"slayerLevel":1,"attackSpeed":5,"attackLevel":30,"strengthLevel":60,"defenceLevel":57,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"1362":{"name":"Slagilith","hitpoints":60,"combatLevel":92,"attackSpeed":4,"attackLevel":60,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":10},"1364":{"name":"Slagilith","hitpoints":60,"combatLevel":92,"attackSpeed":4,"attackLevel":60,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":10},"1365":{"name":"Fire elemental","hitpoints":30,"combatLevel":35,"attackSpeed":4,"attackLevel":35,"strengthLevel":35,"defenceLevel":20,"rangeLevel":20,"magicLevel":20},"1366":{"name":"Earth elemental","hitpoints":35,"combatLevel":35,"attackSpeed":6,"attackLevel":20,"strengthLevel":35,"defenceLevel":35,"rangeLevel":30,"magicLevel":10},"1367":{"name":"Earth elemental","hitpoints":35,"combatLevel":35,"attackSpeed":6,"attackLevel":20,"strengthLevel":35,"defenceLevel":35,"rangeLevel":30,"magicLevel":10,"poisonImmune":true,"venomImmune":true},"1369":{"name":"Air elemental","hitpoints":30,"combatLevel":34,"attackSpeed":4,"attackLevel":40,"strengthLevel":20,"defenceLevel":30,"rangeLevel":20,"magicLevel":40},"1370":{"name":"Water elemental","hitpoints":30,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":30,"magicLevel":30},"1377":{"name":"The Kendal","hitpoints":50,"combatLevel":70,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":60,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"bonusAttack":5,"bonusStrength":10},"1378":{"name":"The Kendal","hitpoints":50,"combatLevel":70,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":60,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"bonusAttack":5,"bonusStrength":10},"1379":{"name":"Camp dweller","hitpoints":30,"combatLevel":31,"attackSpeed":4,"attackLevel":25,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1380":{"name":"Camp dweller","hitpoints":30,"combatLevel":31,"attackSpeed":4,"attackLevel":25,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1381":{"name":"Camp dweller","hitpoints":30,"combatLevel":31,"attackSpeed":4,"attackLevel":25,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1382":{"name":"Camp dweller","hitpoints":30,"combatLevel":31,"attackSpeed":4,"attackLevel":25,"strengthLevel":30,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"1383":{"name":"Camp dweller","hitpoints":25,"combatLevel":25,"attackSpeed":4,"attackLevel":20,"strengthLevel":25,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"1401":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1402":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1403":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1404":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1405":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5,"attackLevel":8,"strengthLevel":8,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stab":5,"magicDef":5,"bonusAttack":5,"bonusStrength":7},"1406":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1407":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1408":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"1409":{"name":"Black Guard","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"1410":{"name":"Black Guard","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"1411":{"name":"Black Guard","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"1412":{"name":"Black Guard","hitpoints":30,"combatLevel":25,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"1429":{"name":"Foreman","hitpoints":20,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"slashDef":1,"crushDef":1},"1430":{"name":"Shipyard worker","hitpoints":10,"combatLevel":11,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"bonusAttack":6,"bonusStrength":6},"1432":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"1443":{"name":"Jungle Demon","hitpoints":170,"combatLevel":195,"attackSpeed":6,"attackLevel":170,"strengthLevel":170,"defenceLevel":170,"rangeLevel":1,"magicLevel":170,"slashDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50,"demon":true},"1447":{"name":"Pirate","hitpoints":20,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"slashDef":1,"bonusAttack":9,"bonusStrength":10},"1448":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"1461":{"name":"Mugger","hitpoints":8,"combatLevel":6,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1},"1475":{"name":"Chompy bird","hitpoints":10,"combatLevel":6,"slayerLevel":1,"defenceLevel":5000},"1494":{"name":"Kebbit","hitpoints":50,"combatLevel":13,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1537":{"name":"Skeleton hero","hitpoints":124,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":134,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15,"undead":true},"1538":{"name":"Skeleton brute","hitpoints":124,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15,"undead":true},"1539":{"name":"Skeleton warlord","hitpoints":124,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"1540":{"name":"Skeleton heavy","hitpoints":124,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"1541":{"name":"Skeleton thug","hitpoints":124,"combatLevel":132,"slayerLevel":1,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15,"undead":true},"1543":{"name":"Gargoyle","hitpoints":105,"combatLevel":111,"slayerLevel":75,"attackSpeed":4,"attackLevel":75,"strengthLevel":105,"defenceLevel":107,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":20,"magicDef":20},"1545":{"name":"Black knight","hitpoints":42,"combatLevel":33,"attackSpeed":5,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":73,"slashDef":76,"crushDef":70,"rangeDef":72,"bonusAttack":18,"bonusStrength":16},"1546":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1547":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1548":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1549":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1550":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"1556":{"name":"Fire wizard","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":10,"magicLevel":10,"magicDef":15},"1557":{"name":"Water wizard","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":10,"magicLevel":10,"magicDef":15},"1558":{"name":"Earth wizard","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":10,"magicLevel":10,"magicDef":15},"1559":{"name":"Air wizard","hitpoints":25,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":10,"magicLevel":10,"magicDef":15},"1603":{"name":"Kolodion","hitpoints":3,"attackSpeed":7},"1604":{"name":"Kolodion","hitpoints":3,"attackSpeed":7},"1605":{"name":"Kolodion","hitpoints":3,"attackSpeed":7},"1606":{"name":"Kolodion","hitpoints":65,"attackSpeed":7},"1607":{"name":"Kolodion","hitpoints":65,"attackSpeed":7},"1608":{"name":"Kolodion","hitpoints":78,"attackSpeed":7},"1609":{"name":"Kolodion","hitpoints":107,"combatLevel":112,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":98,"defenceLevel":105,"rangeLevel":1,"magicLevel":80},"1610":{"name":"Battle mage","hitpoints":120,"combatLevel":54,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":50},"1611":{"name":"Battle mage","hitpoints":120,"combatLevel":54,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":50},"1612":{"name":"Battle mage","hitpoints":120,"combatLevel":54,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":50},"1667":{"name":"Penance Fighter","hitpoints":28,"combatLevel":30,"attackSpeed":4},"1668":{"name":"Penance Ranger","hitpoints":20,"combatLevel":21,"attackSpeed":4},"1672":{"name":"Ahrim the Blighted","hitpoints":100,"combatLevel":98,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":1,"magicLevel":100,"stab":12,"crush":65,"magic":73,"stabDef":103,"slashDef":85,"crushDef":117,"magicDef":73,"bonusStrength":68},"1673":{"name":"Dharok the Wretched","hitpoints":100,"combatLevel":115,"slayerLevel":1,"attackSpeed":7,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slash":103,"crush":95,"stabDef":252,"slashDef":250,"crushDef":244,"rangeDef":249,"bonusStrength":105},"1674":{"name":"Guthan the Infested","hitpoints":100,"combatLevel":115,"slayerLevel":1,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stab":75,"slash":75,"crush":75,"stabDef":259,"slashDef":257,"crushDef":241,"rangeDef":250,"bonusStrength":75},"1675":{"name":"Karil the Tainted","hitpoints":100,"combatLevel":98,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":100,"magicLevel":1,"range":134,"stabDef":79,"slashDef":71,"crushDef":90,"rangeDef":100,"magicDef":106,"bonusRangeStrength":55},"1676":{"name":"Torag the Corrupted","hitpoints":100,"combatLevel":115,"slayerLevel":1,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stab":68,"crush":82,"stabDef":221,"slashDef":235,"crushDef":222,"rangeDef":221,"bonusStrength":72},"1677":{"name":"Verac the Defiled","hitpoints":100,"combatLevel":115,"slayerLevel":1,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stab":68,"crush":82,"stabDef":227,"slashDef":230,"crushDef":221,"rangeDef":225,"bonusStrength":72},"1678":{"name":"Bloodworm","hitpoints":45,"combatLevel":52,"attackSpeed":4,"attackLevel":80,"strengthLevel":20,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"1679":{"name":"Crypt rat","hitpoints":35,"combatLevel":43,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"1680":{"name":"Giant crypt rat","hitpoints":70,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":50,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1681":{"name":"Giant crypt rat","hitpoints":70,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":50,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1682":{"name":"Giant crypt rat","hitpoints":70,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":50,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1683":{"name":"Crypt spider","hitpoints":45,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":47,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"1684":{"name":"Giant crypt spider","hitpoints":80,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":67,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1685":{"name":"Skeleton","hitpoints":51,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":72,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"1686":{"name":"Skeleton","hitpoints":51,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":72,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"1687":{"name":"Skeleton","hitpoints":51,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":72,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"1688":{"name":"Skeleton","hitpoints":51,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":72,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"1689":{"name":"Splatter","hitpoints":13,"combatLevel":22},"1690":{"name":"Splatter","hitpoints":23,"combatLevel":33},"1691":{"name":"Splatter","hitpoints":33,"combatLevel":44},"1692":{"name":"Splatter","hitpoints":43,"combatLevel":54},"1693":{"name":"Splatter","hitpoints":53,"combatLevel":65},"1694":{"name":"Shifter","hitpoints":23,"combatLevel":38,"attackSpeed":4},"1695":{"name":"Shifter","hitpoints":23,"combatLevel":38,"attackSpeed":4},"1696":{"name":"Shifter","hitpoints":38,"combatLevel":57,"attackSpeed":4},"1697":{"name":"Shifter","hitpoints":38,"combatLevel":57,"attackSpeed":4},"1698":{"name":"Shifter","hitpoints":53,"combatLevel":76,"attackSpeed":4},"1699":{"name":"Shifter","hitpoints":53,"combatLevel":76,"attackSpeed":4},"1700":{"name":"Shifter","hitpoints":68,"combatLevel":90,"attackSpeed":4},"1701":{"name":"Shifter","hitpoints":68,"combatLevel":90,"attackSpeed":4},"1702":{"name":"Shifter","hitpoints":83,"combatLevel":104,"attackSpeed":4},"1703":{"name":"Shifter","hitpoints":83,"combatLevel":104,"attackSpeed":4},"1704":{"name":"Ravager","hitpoints":23,"combatLevel":36,"attackSpeed":4},"1705":{"name":"Ravager","hitpoints":38,"combatLevel":53,"attackSpeed":4},"1706":{"name":"Ravager","hitpoints":53,"combatLevel":71,"attackSpeed":4},"1707":{"name":"Ravager","hitpoints":68,"combatLevel":89,"attackSpeed":4},"1708":{"name":"Ravager","hitpoints":83,"combatLevel":106,"attackSpeed":4},"1709":{"name":"Spinner","hitpoints":33,"combatLevel":36},"1710":{"name":"Spinner","hitpoints":53,"combatLevel":55},"1711":{"name":"Spinner","hitpoints":73,"combatLevel":74},"1712":{"name":"Spinner","hitpoints":101,"combatLevel":92},"1713":{"name":"Spinner","hitpoints":93,"combatLevel":88},"1714":{"name":"Torcher","hitpoints":18,"combatLevel":33,"attackSpeed":4},"1715":{"name":"Torcher","hitpoints":18,"combatLevel":33,"attackSpeed":4},"1716":{"name":"Torcher","hitpoints":30,"combatLevel":49,"attackSpeed":4},"1717":{"name":"Torcher","hitpoints":30,"combatLevel":49,"attackSpeed":4},"1718":{"name":"Torcher","hitpoints":45,"combatLevel":66,"attackSpeed":4},"1719":{"name":"Torcher","hitpoints":45,"combatLevel":66,"attackSpeed":4},"1720":{"name":"Torcher","hitpoints":57,"combatLevel":79,"attackSpeed":4},"1721":{"name":"Torcher","hitpoints":57,"combatLevel":79,"attackSpeed":4},"1722":{"name":"Torcher","hitpoints":71,"combatLevel":91,"attackSpeed":4},"1723":{"name":"Torcher","hitpoints":71,"combatLevel":92,"attackSpeed":4},"1724":{"name":"Defiler","hitpoints":27,"combatLevel":33,"attackSpeed":4},"1725":{"name":"Defiler","hitpoints":27,"combatLevel":33,"attackSpeed":4},"1726":{"name":"Defiler","hitpoints":45,"combatLevel":50,"attackSpeed":4},"1727":{"name":"Defiler","hitpoints":45,"combatLevel":50,"attackSpeed":4},"1728":{"name":"Defiler","hitpoints":62,"combatLevel":66,"attackSpeed":4},"1729":{"name":"Defiler","hitpoints":62,"combatLevel":67,"attackSpeed":4},"1730":{"name":"Defiler","hitpoints":78,"combatLevel":80,"attackSpeed":4},"1731":{"name":"Defiler","hitpoints":78,"combatLevel":80,"attackSpeed":4},"1732":{"name":"Defiler","hitpoints":97,"combatLevel":97,"attackSpeed":4},"1733":{"name":"Defiler","hitpoints":97,"combatLevel":97,"attackSpeed":4},"1734":{"name":"Brawler","hitpoints":53,"combatLevel":51,"attackSpeed":4},"1735":{"name":"Brawler","hitpoints":83,"combatLevel":76,"attackSpeed":4},"1736":{"name":"Brawler","hitpoints":97,"combatLevel":101,"attackSpeed":4},"1737":{"name":"Brawler","hitpoints":113,"combatLevel":129,"attackSpeed":4},"1738":{"name":"Brawler","hitpoints":143,"combatLevel":158,"attackSpeed":4},"1777":{"name":"Double agent","hitpoints":80,"combatLevel":65,"attackSpeed":4,"attackLevel":80,"strengthLevel":43,"defenceLevel":24,"rangeLevel":1,"magicLevel":24,"stabDef":3,"slashDef":3,"crushDef":3},"1778":{"name":"Double agent","hitpoints":120,"combatLevel":108,"attackSpeed":4,"attackLevel":100,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":80,"stabDef":20,"slashDef":20,"crushDef":20,"bonusAttack":40,"bonusStrength":40},"1782":{"name":"Scarab swarm","hitpoints":25,"combatLevel":98,"slayerLevel":1,"attackSpeed":1,"attackLevel":255,"strengthLevel":5,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":90,"slashDef":90,"crushDef":5,"rangeDef":90,"magicDef":90},"1792":{"name":"Goat","hitpoints":21,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1793":{"name":"Goat","hitpoints":21,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1794":{"name":"Billy Goat","hitpoints":28,"combatLevel":33,"attackSpeed":4,"attackLevel":31,"strengthLevel":29,"defenceLevel":29,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1795":{"name":"Goat","hitpoints":21,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1796":{"name":"Goat","hitpoints":21,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1797":{"name":"Billy Goat","hitpoints":28,"combatLevel":33,"attackSpeed":4,"attackLevel":31,"strengthLevel":29,"defenceLevel":29,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"rangeDef":10,"bonusAttack":29,"bonusStrength":10},"1798":{"name":"White Knight","hitpoints":52,"combatLevel":36,"attackSpeed":7,"attackLevel":27,"strengthLevel":29,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"1799":{"name":"White Knight","hitpoints":52,"combatLevel":38,"attackSpeed":7,"attackLevel":30,"strengthLevel":29,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"1800":{"name":"White Knight","hitpoints":52,"combatLevel":39,"attackSpeed":7,"attackLevel":32,"strengthLevel":29,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"1829":{"name":"White Knight","hitpoints":55,"combatLevel":42,"attackSpeed":7,"attackLevel":32,"strengthLevel":35,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"1834":{"name":"Gorak","hitpoints":112,"combatLevel":145,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":131,"rangeLevel":1,"magicLevel":1},"1838":{"name":"Duck","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1839":{"name":"Duck","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1845":{"name":"Stag","hitpoints":19,"combatLevel":15,"attackSpeed":4,"attackLevel":11,"strengthLevel":13,"defenceLevel":13,"rangeLevel":1,"magicLevel":1},"1852":{"name":"Rabbit","hitpoints":5,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1853":{"name":"Rabbit","hitpoints":5,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"1861":{"name":"Tree spirit","hitpoints":50,"combatLevel":14,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1},"1862":{"name":"Tree spirit","hitpoints":50,"combatLevel":29,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":32,"rangeLevel":1,"magicLevel":1},"1863":{"name":"Tree spirit","hitpoints":60,"combatLevel":49,"attackSpeed":4,"attackLevel":48,"strengthLevel":48,"defenceLevel":48,"rangeLevel":1,"magicLevel":1},"1864":{"name":"Tree spirit","hitpoints":86,"combatLevel":79,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"1865":{"name":"Tree spirit","hitpoints":120,"combatLevel":120,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"1866":{"name":"Tree spirit","hitpoints":170,"combatLevel":159,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1},"1870":{"name":"Evil Chicken","hitpoints":120,"combatLevel":159,"attackSpeed":4,"defenceLevel":126,"magicLevel":200},"1871":{"name":"Baby dragon","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"1872":{"name":"Baby dragon","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"1874":{"name":"Ice troll runt","hitpoints":60,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"1875":{"name":"Ice troll male","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"1876":{"name":"Ice troll female","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"1877":{"name":"Ice troll grunt","hitpoints":80,"combatLevel":102,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"2001":{"name":"Duckling","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2005":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2006":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2007":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2008":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2018":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"2025":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2026":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2027":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2028":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2029":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2030":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2031":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2032":{"name":"Greater demon","hitpoints":89,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"2042":{"name":"Zulrah","hitpoints":500,"combatLevel":725,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":300,"rangeLevel":300,"magicLevel":300,"range":50,"magic":50,"rangeDef":50,"bonusRangeStrength":20,"bonusMagicDamage":20},"2043":{"name":"Zulrah","hitpoints":500,"combatLevel":725,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":300,"rangeLevel":300,"magicLevel":300,"range":50,"magic":50,"rangeDef":300,"bonusRangeStrength":20,"bonusMagicDamage":20},"2044":{"name":"Zulrah","hitpoints":500,"combatLevel":725,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":300,"rangeLevel":300,"magicLevel":300,"range":50,"magic":50,"magicDef":300,"bonusRangeStrength":20,"bonusMagicDamage":20},"2045":{"name":"Snakeling","hitpoints":1,"combatLevel":90,"attackSpeed":3,"attackLevel":140,"strengthLevel":138,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusAttack":120},"2046":{"name":"Snakeling","hitpoints":1,"combatLevel":90,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":185,"bonusAttack":120},"2048":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2049":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2050":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2051":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2052":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"2054":{"name":"Chaos Elemental","hitpoints":250,"combatLevel":305,"slayerLevel":1,"attackSpeed":5,"attackLevel":270,"strengthLevel":270,"defenceLevel":270,"rangeLevel":270,"magicLevel":270,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":70,"magicDef":70},"2056":{"name":"Dark wizard","hitpoints":24,"combatLevel":23,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"2057":{"name":"Dark wizard","hitpoints":24,"combatLevel":22,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"2058":{"name":"Dark wizard","hitpoints":15,"combatLevel":11,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"2059":{"name":"Dark wizard","hitpoints":15,"combatLevel":11,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"2062":{"name":"Oomlie bird","hitpoints":40,"combatLevel":46,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"2063":{"name":"Penguin","hitpoints":4,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":2,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2064":{"name":"Terrorbird","hitpoints":34,"combatLevel":28,"slayerLevel":1,"attackSpeed":6,"attackLevel":23,"strengthLevel":23,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"2065":{"name":"Terrorbird","hitpoints":34,"combatLevel":28,"slayerLevel":1,"attackSpeed":6,"attackLevel":23,"strengthLevel":23,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"2066":{"name":"Terrorbird","hitpoints":34,"combatLevel":28,"slayerLevel":1,"attackSpeed":6,"attackLevel":23,"strengthLevel":23,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"2067":{"name":"Mounted terrorbird gnome","hitpoints":36,"combatLevel":31,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"2068":{"name":"Mounted terrorbird gnome","hitpoints":55,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"2075":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2076":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2077":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2078":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2079":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2080":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2081":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2082":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2083":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2084":{"name":"Fire giant","hitpoints":111,"combatLevel":86,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2085":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2086":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2087":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2088":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2089":{"name":"Ice giant","hitpoints":70,"combatLevel":53,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"2090":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"2091":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"2092":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"2093":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"2094":{"name":"Jogre","hitpoints":60,"combatLevel":53,"attackSpeed":6,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"crush":22,"bonusAttack":22,"bonusStrength":20},"2095":{"name":"Ogre","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":6,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20},"2096":{"name":"Ogre","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":6,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20},"2097":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2098":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2099":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2100":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2101":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2102":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2103":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"2115":{"name":"Thing under the bed","hitpoints":25,"attackSpeed":4},"2120":{"name":"Market Guard","hitpoints":22,"combatLevel":20,"attackSpeed":5,"attackLevel":17,"strengthLevel":18,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":24,"slashDef":14,"crushDef":19,"rangeDef":16,"magicDef":4,"bonusAttack":9,"bonusStrength":7},"2137":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2138":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2139":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2140":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2141":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2142":{"name":"Cyclops","hitpoints":150,"combatLevel":106,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1},"2143":{"name":"Sraracha","hitpoints":23,"combatLevel":13,"attackSpeed":4,"attackLevel":10,"strengthLevel":8,"defenceLevel":6,"rangeLevel":1,"magicLevel":1},"2145":{"name":"Undead Druid","hitpoints":140,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":50,"defenceLevel":60,"magicLevel":115,"magic":100,"stabDef":40,"slashDef":30,"crushDef":80,"rangeDef":40,"magicDef":140,"bonusAttack":50,"bonusStrength":50,"bonusMagicDamage":50,"undead":true},"2154":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2155":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2156":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2157":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2158":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2159":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2160":{"name":"TzHaar-Mej","hitpoints":100,"combatLevel":103,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":120},"2161":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2162":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2163":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2164":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2165":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2166":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"2167":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2168":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2169":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2170":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2171":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2172":{"name":"TzHaar-Xil","hitpoints":120,"combatLevel":133,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":100,"rangeLevel":120,"magicLevel":40},"2173":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2174":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2175":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2176":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2177":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2178":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2179":{"name":"TzHaar-Ket","hitpoints":140,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":140,"defenceLevel":120,"rangeLevel":1,"magicLevel":40},"2189":{"name":"Tz-Kih","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"2190":{"name":"Tz-Kih","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"2191":{"name":"Tz-Kek","hitpoints":20,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":60,"defenceLevel":30,"rangeLevel":30,"magicLevel":60},"2192":{"name":"Tz-Kek","hitpoints":20,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":60,"defenceLevel":30,"rangeLevel":30,"magicLevel":60},"2193":{"name":"Tok-Xil","hitpoints":40,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":120,"defenceLevel":60,"rangeLevel":120,"magicLevel":60},"2194":{"name":"Tok-Xil","hitpoints":40,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":120,"defenceLevel":60,"rangeLevel":120,"magicLevel":60},"2205":{"name":"Commander Zilyana","hitpoints":255,"combatLevel":596,"slayerLevel":1,"attackSpeed":2,"attackLevel":280,"strengthLevel":196,"defenceLevel":300,"rangeLevel":250,"magicLevel":300,"magic":200,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":195,"bonusStrength":20,"poisonImmune":true,"venomImmune":true},"2206":{"name":"Starlight","hitpoints":160,"combatLevel":149,"attackSpeed":5,"attackLevel":120,"strengthLevel":125,"defenceLevel":120,"rangeLevel":1,"magicLevel":125,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":60,"bonusStrength":10},"2207":{"name":"Growler","hitpoints":146,"combatLevel":139,"attackSpeed":5,"attackLevel":100,"strengthLevel":101,"defenceLevel":120,"rangeLevel":1,"magicLevel":150,"stabDef":12,"slashDef":14,"crushDef":14,"rangeDef":5,"magicDef":18,"bonusAttack":10,"bonusStrength":7},"2208":{"name":"Bree","hitpoints":162,"combatLevel":146,"attackSpeed":5,"attackLevel":110,"strengthLevel":80,"defenceLevel":130,"rangeLevel":150,"magicLevel":80,"stabDef":12,"slashDef":14,"crushDef":14,"rangeDef":5,"magicDef":18,"bonusAttack":10,"bonusStrength":7},"2209":{"name":"Saradomin priest","hitpoints":89,"combatLevel":113,"attackSpeed":5,"attackLevel":120,"strengthLevel":46,"defenceLevel":120,"rangeLevel":1,"magicLevel":125,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":9,"bonusStrength":5},"2210":{"name":"Spiritual warrior","hitpoints":110,"combatLevel":125,"slayerLevel":68,"attackSpeed":5,"attackLevel":110,"strengthLevel":106,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":9,"bonusStrength":6},"2211":{"name":"Spiritual ranger","hitpoints":106,"combatLevel":122,"slayerLevel":63,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":146,"magicLevel":1,"stabDef":3,"slashDef":5,"crushDef":13,"rangeDef":23,"magicDef":16},"2212":{"name":"Spiritual mage","hitpoints":85,"combatLevel":120,"slayerLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":86,"rangeLevel":1,"magicLevel":160,"stabDef":8,"slashDef":7,"crushDef":3,"rangeDef":2,"magicDef":16},"2213":{"name":"Knight of Saradomin","hitpoints":135,"combatLevel":103,"attackSpeed":6,"attackLevel":70,"strengthLevel":85,"defenceLevel":70,"rangeLevel":1,"magicLevel":60,"stabDef":10,"slashDef":10,"crushDef":7,"rangeDef":13,"bonusAttack":8,"bonusStrength":8},"2214":{"name":"Knight of Saradomin","hitpoints":108,"combatLevel":101,"attackSpeed":6,"attackLevel":75,"strengthLevel":90,"defenceLevel":82,"rangeLevel":1,"magicLevel":60,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"bonusAttack":13,"bonusStrength":11},"2215":{"name":"General Graardor","hitpoints":255,"combatLevel":624,"slayerLevel":1,"attackSpeed":6,"attackLevel":280,"strengthLevel":350,"defenceLevel":250,"rangeLevel":350,"magicLevel":80,"range":100,"stabDef":90,"slashDef":90,"crushDef":90,"rangeDef":90,"magicDef":298,"bonusAttack":120,"bonusStrength":43,"bonusRangeStrength":40,"poisonImmune":true,"venomImmune":true},"2216":{"name":"Sergeant Strongstack","hitpoints":128,"combatLevel":141,"slayerLevel":1,"attackSpeed":5,"attackLevel":124,"strengthLevel":118,"defenceLevel":125,"rangeLevel":50,"magicLevel":50,"bonusStrength":14},"2217":{"name":"Sergeant Steelwill","hitpoints":127,"combatLevel":142,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":50,"defenceLevel":150,"rangeLevel":1,"magicLevel":150,"bonusStrength":6},"2218":{"name":"Sergeant Grimspike","hitpoints":146,"combatLevel":142,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":132,"rangeLevel":150,"magicLevel":50,"range":20,"bonusRangeStrength":20},"2232":{"name":"Black Guard Berserker","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"bonusAttack":55,"bonusStrength":55},"2233":{"name":"Ogre","hitpoints":70,"combatLevel":58,"slayerLevel":1,"attackSpeed":6,"attackLevel":46,"strengthLevel":48,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":21},"2234":{"name":"Jogre","hitpoints":70,"combatLevel":58,"attackSpeed":6,"attackLevel":46,"strengthLevel":48,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":21},"2235":{"name":"Cyclops","hitpoints":110,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":48,"rangeLevel":1,"magicLevel":1,"bonusAttack":22},"2236":{"name":"Cyclops","hitpoints":110,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":48,"rangeLevel":1,"magicLevel":1,"bonusAttack":22},"2237":{"name":"Ork","hitpoints":110,"combatLevel":107,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"2238":{"name":"Ork","hitpoints":110,"combatLevel":107,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"2239":{"name":"Ork","hitpoints":110,"combatLevel":107,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"2240":{"name":"Ork","hitpoints":110,"combatLevel":107,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"2241":{"name":"Hobgoblin","hitpoints":52,"combatLevel":47,"slayerLevel":1,"attackSpeed":4,"attackLevel":39,"strengthLevel":39,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2242":{"name":"Spiritual ranger","hitpoints":131,"combatLevel":115,"slayerLevel":63,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5},"2243":{"name":"Spiritual warrior","hitpoints":131,"combatLevel":134,"slayerLevel":68,"attackSpeed":5,"attackLevel":116,"strengthLevel":120,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":29,"bonusStrength":13},"2244":{"name":"Spiritual mage","hitpoints":106,"combatLevel":121,"slayerLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":103,"rangeLevel":1,"magicLevel":142,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":35},"2245":{"name":"Goblin","hitpoints":18,"combatLevel":17,"slayerLevel":1,"attackSpeed":6,"attackLevel":14,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1},"2246":{"name":"Goblin","hitpoints":3,"combatLevel":12,"slayerLevel":1,"attackSpeed":6,"attackLevel":15,"strengthLevel":6,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"2247":{"name":"Goblin","hitpoints":15,"combatLevel":12,"slayerLevel":1,"attackSpeed":6,"attackLevel":12,"strengthLevel":6,"defenceLevel":13,"rangeLevel":1,"magicLevel":1},"2248":{"name":"Goblin","hitpoints":16,"combatLevel":15,"slayerLevel":1,"attackSpeed":6,"attackLevel":16,"strengthLevel":6,"defenceLevel":19,"magicLevel":1},"2249":{"name":"Goblin","hitpoints":13,"combatLevel":13,"slayerLevel":1,"attackSpeed":6,"attackLevel":11,"strengthLevel":6,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"2259":{"name":"Dagannoth","hitpoints":85,"combatLevel":88,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":75,"rangeLevel":100,"magicLevel":1,"slashDef":10,"crushDef":90,"rangeDef":150,"magicDef":200},"2261":{"name":"Giant Rock Crab","hitpoints":180,"combatLevel":137,"attackSpeed":4,"attackLevel":50,"strengthLevel":80,"defenceLevel":200,"rangeLevel":1,"magicLevel":1,"stabDef":225,"slashDef":200,"crushDef":175,"rangeDef":250},"2264":{"name":"Dagannoth fledgeling","hitpoints":100,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"2265":{"name":"Dagannoth Supreme","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":128,"rangeLevel":255,"magicLevel":255,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":550,"magicDef":255},"2266":{"name":"Dagannoth Prime","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":255,"magicLevel":255,"stabDef":255,"slashDef":255,"crushDef":255,"rangeDef":10,"magicDef":255},"2267":{"name":"Dagannoth Rex","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":255,"rangeLevel":255,"stabDef":255,"slashDef":255,"crushDef":255,"rangeDef":255,"magicDef":10},"2316":{"name":"Guard","hitpoints":26,"combatLevel":26,"slayerLevel":1,"attackSpeed":6,"attackLevel":25,"strengthLevel":18,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stab":11,"slash":11,"crush":11,"stabDef":1,"slashDef":16,"crushDef":19,"rangeDef":12},"2317":{"name":"Guard","hitpoints":26,"combatLevel":24,"slayerLevel":1,"attackSpeed":6,"attackLevel":22,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"crush":16,"slashDef":15,"crushDef":19,"rangeDef":12},"2423":{"name":"Chaos dwarf","hitpoints":61,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":38,"strengthLevel":42,"defenceLevel":28,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":34,"crushDef":25,"rangeDef":35,"magicDef":10,"bonusAttack":13,"bonusStrength":9},"2450":{"name":"Animated Bronze Armour","hitpoints":10,"combatLevel":11,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2451":{"name":"Animated Iron Armour","hitpoints":20,"combatLevel":23,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2452":{"name":"Animated Steel Armour","hitpoints":40,"combatLevel":46,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2453":{"name":"Animated Black Armour","hitpoints":60,"combatLevel":69,"attackSpeed":4,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2454":{"name":"Animated Mithril Armour","hitpoints":80,"combatLevel":92,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2455":{"name":"Animated Adamant Armour","hitpoints":99,"combatLevel":113,"attackSpeed":4,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2456":{"name":"Animated Rune Armour","hitpoints":120,"combatLevel":138,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":25,"crushDef":19,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5},"2463":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2464":{"name":"Cyclops","hitpoints":100,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2465":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2466":{"name":"Cyclops","hitpoints":100,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2467":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2468":{"name":"Cyclops","hitpoints":100,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"2474":{"name":"Catablepon","hitpoints":40,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":60,"stabDef":40,"slashDef":30,"crushDef":20,"rangeDef":40,"magicDef":20},"2475":{"name":"Catablepon","hitpoints":70,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":45,"stabDef":50,"slashDef":40,"crushDef":30,"rangeDef":50,"magicDef":30},"2476":{"name":"Catablepon","hitpoints":50,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":60,"stabDef":50,"slashDef":40,"crushDef":30,"rangeDef":50,"magicDef":30},"2477":{"name":"Giant spider","hitpoints":50,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":41,"strengthLevel":51,"defenceLevel":31,"rangeLevel":1,"magicLevel":1},"2478":{"name":"Spider","hitpoints":22,"combatLevel":24,"slayerLevel":1,"attackSpeed":6,"attackLevel":21,"strengthLevel":21,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":53,"slashDef":53,"crushDef":53,"rangeDef":53,"magicDef":53,"bonusAttack":35,"bonusStrength":58},"2479":{"name":"Scorpion","hitpoints":55,"combatLevel":59,"slayerLevel":1,"attackSpeed":6,"attackLevel":50,"strengthLevel":52,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":55},"2480":{"name":"Scorpion","hitpoints":37,"combatLevel":37,"slayerLevel":1,"attackSpeed":6,"attackLevel":31,"strengthLevel":32,"defenceLevel":31,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":15,"crushDef":15,"rangeDef":35,"magicDef":30},"2481":{"name":"Minotaur","hitpoints":10,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":12,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2483":{"name":"Minotaur","hitpoints":22,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":23,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"2484":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"2485":{"name":"Goblin","hitpoints":16,"combatLevel":13,"slayerLevel":1,"attackSpeed":6,"attackLevel":12,"strengthLevel":13,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":8,"rangeDef":4,"magicDef":4},"2486":{"name":"Goblin","hitpoints":7,"combatLevel":11,"slayerLevel":1,"attackSpeed":6,"attackLevel":10,"strengthLevel":3,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"2487":{"name":"Goblin","hitpoints":22,"combatLevel":16,"slayerLevel":1,"attackSpeed":6,"attackLevel":13,"strengthLevel":11,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":22},"2488":{"name":"Goblin","hitpoints":26,"combatLevel":25,"slayerLevel":1,"attackSpeed":6,"attackLevel":22,"strengthLevel":23,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":8,"rangeDef":4,"magicDef":4},"2489":{"name":"Goblin","hitpoints":22,"combatLevel":16,"slayerLevel":1,"attackSpeed":6,"attackLevel":13,"strengthLevel":11,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":22},"2490":{"name":"Wolf","hitpoints":15,"combatLevel":14,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":15,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2491":{"name":"Wolf","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2492":{"name":"Rat","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1},"2498":{"name":"Flesh Crawler","hitpoints":25,"combatLevel":28,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":2,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"magicDef":15},"2499":{"name":"Flesh Crawler","hitpoints":25,"combatLevel":35,"slayerLevel":1,"attackSpeed":3,"attackLevel":80,"strengthLevel":2,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"magicDef":15},"2500":{"name":"Flesh Crawler","hitpoints":25,"combatLevel":41,"slayerLevel":1,"attackSpeed":3,"attackLevel":100,"strengthLevel":2,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"magicDef":15},"2501":{"name":"Zombie","hitpoints":30,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2502":{"name":"Zombie","hitpoints":30,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2503":{"name":"Zombie","hitpoints":30,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2504":{"name":"Zombie","hitpoints":41,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2505":{"name":"Zombie","hitpoints":41,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2506":{"name":"Zombie","hitpoints":41,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2507":{"name":"Zombie","hitpoints":50,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2508":{"name":"Zombie","hitpoints":50,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2509":{"name":"Zombie","hitpoints":50,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"2510":{"name":"Giant rat","hitpoints":25,"combatLevel":26,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":23,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"2511":{"name":"Giant rat","hitpoints":25,"combatLevel":26,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":23,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"2512":{"name":"Giant rat","hitpoints":25,"combatLevel":26,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":23,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"2513":{"name":"Rat","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1},"2514":{"name":"Ankou","hitpoints":60,"combatLevel":75,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"undead":true},"2515":{"name":"Ankou","hitpoints":65,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"undead":true},"2516":{"name":"Ankou","hitpoints":70,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"undead":true},"2517":{"name":"Ankou","hitpoints":60,"combatLevel":75,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"undead":true},"2518":{"name":"Ankou","hitpoints":65,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"undead":true},"2519":{"name":"Ankou","hitpoints":70,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"undead":true},"2520":{"name":"Skeleton","hitpoints":70,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":50,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"rangeDef":35,"undead":true},"2521":{"name":"Skeleton","hitpoints":70,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"rangeDef":35,"undead":true},"2522":{"name":"Skeleton","hitpoints":70,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"rangeDef":35,"undead":true},"2523":{"name":"Skeleton","hitpoints":70,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"rangeDef":35,"undead":true},"2524":{"name":"Skeleton","hitpoints":77,"combatLevel":85,"slayerLevel":1,"attackSpeed":4,"attackLevel":74,"strengthLevel":74,"defenceLevel":74,"rangeLevel":1,"magicLevel":1,"stabDef":79,"slashDef":31,"crushDef":20,"rangeDef":70,"magicDef":5,"bonusAttack":15,"bonusStrength":14,"undead":true},"2525":{"name":"Skeleton","hitpoints":77,"combatLevel":85,"slayerLevel":1,"attackSpeed":4,"attackLevel":74,"strengthLevel":74,"defenceLevel":74,"rangeLevel":1,"magicLevel":1,"stabDef":79,"slashDef":31,"crushDef":20,"rangeDef":70,"magicDef":5,"bonusAttack":15,"bonusStrength":14,"undead":true},"2526":{"name":"Skeleton","hitpoints":77,"combatLevel":85,"slayerLevel":1,"attackSpeed":4,"attackLevel":74,"strengthLevel":74,"defenceLevel":74,"rangeLevel":1,"magicLevel":1,"stabDef":79,"slashDef":31,"crushDef":20,"rangeDef":70,"magicDef":5,"bonusAttack":15,"bonusStrength":14,"undead":true},"2527":{"name":"Ghost","hitpoints":75,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":68,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":5,"rangeDef":45,"undead":true},"2528":{"name":"Ghost","hitpoints":75,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":68,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":5,"rangeDef":45,"undead":true},"2529":{"name":"Ghost","hitpoints":75,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":68,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":5,"rangeDef":45,"undead":true},"2530":{"name":"Ghost","hitpoints":75,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":68,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":5,"rangeDef":45,"undead":true},"2531":{"name":"Ghost","hitpoints":27,"slayerLevel":1,"attackSpeed":4,"undead":true},"2532":{"name":"Ghost","hitpoints":27,"slayerLevel":1,"attackSpeed":4,"undead":true},"2533":{"name":"Ghost","hitpoints":27,"slayerLevel":1,"attackSpeed":4,"undead":true},"2534":{"name":"Ghost","hitpoints":27,"slayerLevel":1,"attackSpeed":4,"undead":true},"2536":{"name":"H.A.M. Guard","hitpoints":15,"combatLevel":12,"attackSpeed":7,"attackLevel":8,"strengthLevel":12,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5},"2537":{"name":"H.A.M. Guard","hitpoints":20,"combatLevel":18,"attackSpeed":6,"attackLevel":14,"strengthLevel":18,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":6,"slashDef":6,"rangeDef":6},"2538":{"name":"H.A.M. Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"2579":{"name":"Monk","hitpoints":15,"combatLevel":5,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"2584":{"name":"Abyssal leech","hitpoints":10,"combatLevel":41,"attackSpeed":2,"attackLevel":95,"strengthLevel":5,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":100,"rangeDef":10,"magicDef":50,"bonusAttack":100,"bonusStrength":10},"2585":{"name":"Abyssal guardian","hitpoints":55,"combatLevel":59,"attackSpeed":4,"attackLevel":30,"strengthLevel":90,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":70,"magicDef":150,"bonusAttack":15,"bonusStrength":5},"2586":{"name":"Abyssal walker","hitpoints":95,"combatLevel":81,"attackSpeed":5,"attackLevel":5,"strengthLevel":100,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":75,"slashDef":75,"crushDef":10,"rangeDef":75,"magicDef":75,"bonusAttack":5,"bonusStrength":10},"2592":{"name":"Mogre","hitpoints":48,"combatLevel":60,"slayerLevel":32,"attackSpeed":6,"attackLevel":58,"strengthLevel":55,"defenceLevel":48,"rangeLevel":1,"magicLevel":1,"bonusAttack":22,"bonusStrength":20,"poisonImmune":true,"venomImmune":true},"2593":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2594":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2595":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2596":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2597":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2598":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2599":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2600":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2601":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2602":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2603":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2604":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2605":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2606":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2607":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2608":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2609":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2610":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2611":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2612":{"name":"Werewolf","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"magicDef":60},"2613":{"name":"Boris","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2614":{"name":"Imre","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2615":{"name":"Yuri","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2616":{"name":"Joseph","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2617":{"name":"Nikolai","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2618":{"name":"Eduard","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2619":{"name":"Lev","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2620":{"name":"Georgy","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2621":{"name":"Svetlana","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2622":{"name":"Irina","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2623":{"name":"Alexis","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2624":{"name":"Milla","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2625":{"name":"Galina","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2626":{"name":"Sofiya","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2627":{"name":"Ksenia","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2628":{"name":"Yadviga","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2629":{"name":"Nikita","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2630":{"name":"Vera","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2631":{"name":"Zoja","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2632":{"name":"Liliya","hitpoints":60,"combatLevel":24,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2634":{"name":"Myre Blamish Snail","hitpoints":8,"combatLevel":9,"attackSpeed":4,"defenceLevel":22,"rangeLevel":5,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2645":{"name":"Blood Blamish Snail","hitpoints":13,"combatLevel":20,"attackSpeed":6,"defenceLevel":45,"rangeLevel":12,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"bonusAttack":10,"bonusStrength":10},"2646":{"name":"Ochre Blamish Snail","hitpoints":10,"combatLevel":10,"attackSpeed":6,"defenceLevel":18,"rangeLevel":7,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2647":{"name":"Bruise Blamish Snail","hitpoints":12,"combatLevel":20,"attackSpeed":6,"defenceLevel":40,"rangeLevel":15,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2648":{"name":"Bark Blamish Snail","hitpoints":22,"combatLevel":15,"attackSpeed":6,"defenceLevel":20,"rangeLevel":10,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":30,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2649":{"name":"Myre Blamish Snail","hitpoints":13,"combatLevel":10,"attackSpeed":4,"defenceLevel":12,"rangeLevel":8,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2650":{"name":"Blood Blamish Snail","hitpoints":10,"combatLevel":20,"attackSpeed":6,"defenceLevel":30,"rangeLevel":21,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"bonusAttack":10,"bonusStrength":10},"2651":{"name":"Ochre Blamish Snail","hitpoints":20,"combatLevel":15,"attackSpeed":6,"defenceLevel":25,"rangeLevel":8,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2652":{"name":"Bruise Blamish Snail","hitpoints":15,"combatLevel":20,"attackSpeed":6,"defenceLevel":27,"rangeLevel":20,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":50,"magicDef":5,"bonusAttack":10,"bonusStrength":10},"2694":{"name":"Sheep","hitpoints":7,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2790":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"2791":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"2792":{"name":"Cow calf","hitpoints":6,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2793":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"2794":{"name":"Cow calf","hitpoints":6,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2795":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"2801":{"name":"Cow calf","hitpoints":6,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2804":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2805":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2806":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"2827":{"name":"Bat","hitpoints":8,"combatLevel":6,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"2834":{"name":"Giant bat","hitpoints":32,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":12,"rangeDef":8,"magicDef":10},"2837":{"name":"Unicorn","hitpoints":19,"combatLevel":15,"attackSpeed":4,"attackLevel":11,"strengthLevel":13,"defenceLevel":13,"rangeLevel":1,"magicLevel":1},"2838":{"name":"Grizzly bear","hitpoints":27,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1},"2839":{"name":"Black bear","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":16,"defenceLevel":13},"2840":{"name":"Earth warrior","hitpoints":54,"combatLevel":51,"slayerLevel":1,"attackSpeed":4,"attackLevel":42,"strengthLevel":42,"defenceLevel":42,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"2841":{"name":"Ice warrior","hitpoints":59,"combatLevel":57,"attackSpeed":4,"attackLevel":47,"strengthLevel":47,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"2842":{"name":"Ice warrior","hitpoints":59,"combatLevel":57,"attackSpeed":4,"attackLevel":47,"strengthLevel":47,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"2843":{"name":"Otherworldly being","hitpoints":66,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":56,"strengthLevel":56,"defenceLevel":46,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":20,"rangeDef":15},"2844":{"name":"Magic axe","hitpoints":45,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":38,"strengthLevel":38,"defenceLevel":29,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":5,"crushDef":15,"rangeDef":10,"magicDef":5},"2845":{"name":"Snake","hitpoints":6,"combatLevel":5,"attackSpeed":4,"attackLevel":4,"strengthLevel":5,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"2848":{"name":"Monkey","hitpoints":6,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2849":{"name":"Black unicorn","hitpoints":29,"combatLevel":27,"attackSpeed":4,"attackLevel":21,"strengthLevel":23,"defenceLevel":23,"rangeLevel":1,"magicLevel":1},"2851":{"name":"Ice warrior","hitpoints":59,"combatLevel":57,"attackSpeed":4,"attackLevel":47,"strengthLevel":47,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"2853":{"name":"Shadow warrior","hitpoints":67,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":36,"strengthLevel":36,"defenceLevel":33,"stabDef":43,"slashDef":31,"crushDef":19,"rangeDef":38,"magicDef":15,"bonusAttack":20,"bonusStrength":26},"2854":{"name":"Rat","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1},"2855":{"name":"Rat","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1},"2856":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2857":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2858":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2859":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2860":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2861":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2862":{"name":"Giant rat","hitpoints":10,"combatLevel":6,"slayerLevel":1,"attackSpeed":4,"attackLevel":6,"strengthLevel":5,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2863":{"name":"Giant rat","hitpoints":10,"combatLevel":6,"slayerLevel":1,"attackSpeed":4,"attackLevel":6,"strengthLevel":5,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2864":{"name":"Giant rat","hitpoints":10,"combatLevel":6,"slayerLevel":1,"attackSpeed":4,"attackLevel":6,"strengthLevel":5,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2865":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2866":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2867":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"2885":{"name":"Monk of Zamorak","hitpoints":20,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":22,"rangeLevel":1,"magicLevel":25},"2886":{"name":"Monk of Zamorak","hitpoints":10,"combatLevel":17,"attackSpeed":4,"attackLevel":8,"strengthLevel":8,"defenceLevel":12,"rangeLevel":1,"magicLevel":25},"2887":{"name":"Asyff","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":38,"strengthLevel":38,"defenceLevel":42,"rangeLevel":1,"magicLevel":40},"2892":{"name":"Brian","hitpoints":27,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stab":11,"slashDef":3,"crushDef":2,"bonusStrength":12},"2916":{"name":"Waterfiend","hitpoints":130,"combatLevel":115,"slayerLevel":1,"attackSpeed":4,"defenceLevel":128,"rangeLevel":105,"magicLevel":105,"stabDef":100,"slashDef":100,"crushDef":10,"rangeDef":100,"magicDef":100,"poisonImmune":true,"venomImmune":true},"2917":{"name":"Waterfiend","hitpoints":130,"combatLevel":115,"slayerLevel":1,"attackSpeed":4,"defenceLevel":128,"rangeLevel":105,"magicLevel":105,"stabDef":100,"slashDef":100,"crushDef":10,"rangeDef":100,"magicDef":100,"poisonImmune":true,"venomImmune":true},"2918":{"name":"Brutal green dragon","hitpoints":175,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":168,"defenceLevel":168,"magicLevel":168,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"2919":{"name":"Mithril dragon","hitpoints":254,"combatLevel":304,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":268,"rangeLevel":168,"magicLevel":168,"stabDef":50,"slashDef":100,"crushDef":70,"rangeDef":90,"magicDef":30,"venomImmune":true,"dragon":true},"2920":{"name":"Confused barbarian","hitpoints":124,"combatLevel":132,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"2921":{"name":"Lost barbarian","hitpoints":124,"combatLevel":132,"attackSpeed":4,"attackLevel":115,"strengthLevel":114,"defenceLevel":110,"rangeLevel":1,"magicLevel":1},"2946":{"name":"Nail beast","hitpoints":55,"combatLevel":69,"attackSpeed":8,"attackLevel":150,"strengthLevel":6,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"2947":{"name":"Nail beast","hitpoints":65,"combatLevel":98,"attackSpeed":8,"attackLevel":215,"strengthLevel":16,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"2948":{"name":"Nail beast","hitpoints":75,"combatLevel":141,"attackSpeed":8,"attackLevel":320,"strengthLevel":26,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"2954":{"name":"Zamorak wizard","hitpoints":73,"combatLevel":65,"attackSpeed":4,"attackLevel":24,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":80,"magicDef":3},"2955":{"name":"Saradomin wizard","hitpoints":120,"combatLevel":108,"attackSpeed":4,"attackLevel":100,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":80,"magicDef":30,"bonusAttack":40,"bonusStrength":40},"2978":{"name":"Big Snake","hitpoints":120,"combatLevel":84,"attackSpeed":6,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"bonusAttack":66,"bonusStrength":62},"2992":{"name":"Undead cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"undead":true},"2993":{"name":"Undead chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"undead":true},"2994":{"name":"Giant lobster","hitpoints":32,"combatLevel":32,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":26,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":5,"rangeDef":5},"2999":{"name":"Tortured soul","hitpoints":51,"combatLevel":59,"slayerLevel":1,"attackSpeed":4,"attackLevel":52,"strengthLevel":62,"defenceLevel":38,"rangeLevel":1,"magicLevel":1,"undead":true},"3010":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3011":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3015":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3016":{"name":"Shadow spider","hitpoints":55,"combatLevel":52,"slayerLevel":1,"attackSpeed":4,"attackLevel":44,"strengthLevel":42,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":15,"crushDef":10,"rangeDef":15,"magicDef":15},"3017":{"name":"Giant spider","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3018":{"name":"Giant spider","hitpoints":32,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":24,"defenceLevel":21,"rangeLevel":1,"magicLevel":1},"3019":{"name":"Spider","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3020":{"name":"Jungle spider","hitpoints":50,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":37,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"3021":{"name":"Deadly red spider","hitpoints":35,"combatLevel":34,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":16,"crushDef":7,"rangeDef":16,"magicDef":12},"3022":{"name":"Ice spider","hitpoints":65,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":55,"defenceLevel":43,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":17,"crushDef":12,"rangeDef":13,"magicDef":13},"3023":{"name":"Poison spider","hitpoints":64,"combatLevel":64,"slayerLevel":1,"attackSpeed":6,"attackLevel":50,"strengthLevel":52,"defenceLevel":58,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":17,"crushDef":10,"rangeDef":14,"magicDef":14},"3024":{"name":"Scorpion","hitpoints":17,"combatLevel":14,"slayerLevel":1,"attackSpeed":6,"attackLevel":11,"strengthLevel":12,"defenceLevel":11,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"3025":{"name":"Poison Scorpion","hitpoints":23,"combatLevel":20,"slayerLevel":1,"attackSpeed":4,"attackLevel":16,"strengthLevel":17,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"3026":{"name":"Pit Scorpion","hitpoints":32,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":23,"strengthLevel":23,"defenceLevel":23,"rangeLevel":1,"magicLevel":1,"slashDef":5,"crushDef":5},"3027":{"name":"King Scorpion","hitpoints":30,"combatLevel":32,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":29,"defenceLevel":23,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"3028":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3029":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3030":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3031":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3032":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3033":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3034":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3035":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3036":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3037":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3038":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3039":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3040":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3041":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3042":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3043":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3044":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3045":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3046":{"name":"Goblin","hitpoints":16,"combatLevel":13,"slayerLevel":1,"attackSpeed":6,"attackLevel":12,"strengthLevel":13,"defenceLevel":7,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":8,"rangeDef":4,"magicDef":4},"3047":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3048":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3049":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3050":{"name":"Hobgoblin","hitpoints":49,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":33,"strengthLevel":31,"defenceLevel":36,"rangeLevel":1,"magicLevel":1,"bonusAttack":8,"bonusStrength":10},"3051":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3052":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3053":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3054":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3055":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3056":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3057":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3058":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3059":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3060":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3061":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3062":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3064":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3065":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3066":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3067":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3068":{"name":"Barbarian","hitpoints":24,"combatLevel":15,"attackSpeed":4,"attackLevel":15,"strengthLevel":3,"defenceLevel":10,"rangeLevel":15,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3069":{"name":"Barbarian","hitpoints":24,"combatLevel":17,"attackSpeed":4,"attackLevel":15,"strengthLevel":14,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3070":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3071":{"name":"Barbarian","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"3072":{"name":"Barbarian","hitpoints":20,"combatLevel":9,"attackSpeed":4,"attackLevel":6,"strengthLevel":7,"defenceLevel":3,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":10,"crushDef":10,"rangeDef":5,"bonusAttack":9,"bonusStrength":16},"3073":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3074":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3075":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3076":{"name":"Goblin","hitpoints":12,"combatLevel":5,"slayerLevel":1,"attackSpeed":6,"attackLevel":7,"strengthLevel":2,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":12},"3078":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3079":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3080":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3081":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3082":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3083":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3084":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3085":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3086":{"name":"Farmer","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":3,"strengthLevel":4,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":6},"3087":{"name":"Farmer","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":3,"strengthLevel":4,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":6},"3088":{"name":"Farmer","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":3,"strengthLevel":4,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":6},"3092":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"3093":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"3094":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3096":{"name":"Barbarian","combatLevel":7},"3097":{"name":"Wizard","hitpoints":14,"combatLevel":9,"attackSpeed":3,"attackLevel":8,"strengthLevel":8,"defenceLevel":5,"rangeLevel":1,"magicLevel":10,"magicDef":3},"3098":{"name":"Druid","hitpoints":30,"combatLevel":33,"attackSpeed":4,"attackLevel":28,"strengthLevel":28,"defenceLevel":32,"rangeLevel":1,"magicLevel":25},"3100":{"name":"Warrior woman","hitpoints":20,"combatLevel":24,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"3101":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3102":{"name":"Barbarian","hitpoints":14,"combatLevel":8,"attackSpeed":6,"attackLevel":6,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"bonusAttack":8,"bonusStrength":10},"3103":{"name":"Al-Kharid warrior","hitpoints":19,"combatLevel":9,"attackSpeed":4,"attackLevel":7,"strengthLevel":5,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stab":10,"slash":10,"crush":10,"range":10,"magic":10,"stabDef":12,"slashDef":15,"crushDef":10,"rangeDef":12,"bonusAttack":10,"bonusStrength":9},"3104":{"name":"Paladin","hitpoints":66,"combatLevel":62,"attackSpeed":5,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"3105":{"name":"Paladin","hitpoints":66,"combatLevel":62,"attackSpeed":5,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"3106":{"name":"Hero","hitpoints":82,"combatLevel":69,"attackSpeed":5,"attackLevel":54,"strengthLevel":55,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"3108":{"name":"Knight of Ardougne","hitpoints":52,"combatLevel":46,"attackSpeed":5,"attackLevel":38,"strengthLevel":40,"defenceLevel":31,"rangeLevel":1,"magicLevel":1,"stabDef":39,"slashDef":40,"crushDef":36,"rangeDef":36,"bonusAttack":8,"bonusStrength":10},"3109":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3110":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3111":{"name":"Knight of Ardougne","hitpoints":52,"combatLevel":46,"attackSpeed":5,"attackLevel":38,"strengthLevel":40,"defenceLevel":31,"rangeLevel":1,"magicLevel":1,"stabDef":39,"slashDef":40,"crushDef":36,"rangeDef":36,"bonusAttack":8,"bonusStrength":10},"3112":{"name":"Archer","hitpoints":50,"combatLevel":37,"attackSpeed":6,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":40,"magicLevel":1,"range":19,"stabDef":18,"slashDef":23,"crushDef":27,"rangeDef":19,"magicDef":10,"bonusRangeStrength":8},"3116":{"name":"Tz-Kih","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"3117":{"name":"Tz-Kih","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"3118":{"name":"Tz-Kek","hitpoints":20,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":60,"defenceLevel":30,"rangeLevel":30,"magicLevel":60},"3119":{"name":"Tz-Kek","hitpoints":20,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":60,"defenceLevel":30,"rangeLevel":30,"magicLevel":60},"3120":{"name":"Tz-Kek","hitpoints":10,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":30,"defenceLevel":15,"rangeLevel":15,"magicLevel":30},"3121":{"name":"Tok-Xil","hitpoints":40,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":120,"defenceLevel":60,"rangeLevel":120,"magicLevel":60},"3122":{"name":"Tok-Xil","hitpoints":40,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":120,"defenceLevel":60,"rangeLevel":120,"magicLevel":60},"3123":{"name":"Yt-MejKot","hitpoints":80,"combatLevel":180,"slayerLevel":1,"attackSpeed":4,"attackLevel":160,"strengthLevel":240,"defenceLevel":120,"rangeLevel":240,"magicLevel":120},"3124":{"name":"Yt-MejKot","hitpoints":80,"combatLevel":180,"slayerLevel":1,"attackSpeed":4,"attackLevel":160,"strengthLevel":240,"defenceLevel":120,"rangeLevel":240,"magicLevel":120},"3125":{"name":"Ket-Zek","hitpoints":160,"combatLevel":360,"slayerLevel":1,"attackSpeed":4,"attackLevel":320,"strengthLevel":480,"defenceLevel":240,"rangeLevel":480,"magicLevel":240,"magic":60},"3126":{"name":"Ket-Zek","hitpoints":160,"combatLevel":360,"slayerLevel":1,"attackSpeed":4,"attackLevel":320,"strengthLevel":480,"defenceLevel":240,"rangeLevel":480,"magicLevel":240,"magic":60},"3127":{"name":"TzTok-Jad","hitpoints":250,"combatLevel":702,"slayerLevel":1,"attackSpeed":8,"attackLevel":640,"strengthLevel":960,"defenceLevel":480,"rangeLevel":960,"magicLevel":480,"magic":60},"3128":{"name":"Yt-HurKot","hitpoints":60,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":100,"defenceLevel":60,"rangeLevel":120,"magicLevel":120,"rangeDef":100,"magicDef":100},"3129":{"name":"K'ril Tsutsaroth","hitpoints":255,"combatLevel":650,"slayerLevel":1,"attackSpeed":6,"attackLevel":340,"strengthLevel":300,"defenceLevel":270,"rangeLevel":1,"magicLevel":200,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":80,"magicDef":130,"bonusAttack":160,"bonusStrength":31,"demon":true},"3130":{"name":"Tstanon Karlak","hitpoints":142,"combatLevel":145,"slayerLevel":1,"attackSpeed":5,"attackLevel":124,"strengthLevel":118,"defenceLevel":125,"rangeLevel":50,"magicLevel":50,"bonusStrength":14,"demon":true},"3131":{"name":"Zakl'n Gritch","hitpoints":150,"combatLevel":142,"slayerLevel":1,"attackSpeed":5,"attackLevel":83,"strengthLevel":76,"defenceLevel":127,"rangeLevel":150,"magicLevel":50,"range":20,"bonusRangeStrength":20,"demon":true},"3132":{"name":"Balfrug Kreeyath","hitpoints":161,"combatLevel":151,"slayerLevel":1,"attackSpeed":5,"attackLevel":115,"strengthLevel":60,"defenceLevel":153,"rangeLevel":1,"magicLevel":150,"magicDef":10,"demon":true},"3133":{"name":"Hellhound","hitpoints":116,"combatLevel":127,"slayerLevel":1,"attackSpeed":4,"attackLevel":107,"strengthLevel":116,"defenceLevel":106,"rangeLevel":1,"magicLevel":1},"3134":{"name":"Imp","hitpoints":10,"combatLevel":7,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":6,"rangeLevel":1,"magicLevel":1},"3135":{"name":"Werewolf","hitpoints":92,"combatLevel":93,"slayerLevel":1,"attackSpeed":4,"attackLevel":77,"strengthLevel":76,"defenceLevel":85,"rangeLevel":1,"magicLevel":1},"3136":{"name":"Werewolf","hitpoints":92,"combatLevel":93,"slayerLevel":1,"attackSpeed":4,"attackLevel":77,"strengthLevel":76,"defenceLevel":85,"rangeLevel":1,"magicLevel":1},"3137":{"name":"Feral Vampyre","hitpoints":60,"combatLevel":77,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":66,"defenceLevel":81,"rangeLevel":1,"magicLevel":1},"3138":{"name":"Bloodveld","hitpoints":134,"combatLevel":81,"slayerLevel":50,"attackSpeed":4,"attackLevel":80,"strengthLevel":46,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3139":{"name":"Pyrefiend","hitpoints":48,"combatLevel":48,"slayerLevel":30,"attackSpeed":4,"attackLevel":60,"strengthLevel":36,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10},"3140":{"name":"Icefiend","hitpoints":20,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":12,"strengthLevel":16,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"3141":{"name":"Gorak","hitpoints":128,"combatLevel":149,"attackSpeed":4,"attackLevel":133,"strengthLevel":126,"defenceLevel":135,"rangeLevel":1,"magicLevel":1},"3159":{"name":"Spiritual warrior","hitpoints":100,"combatLevel":115,"slayerLevel":68,"attackSpeed":5,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"3160":{"name":"Spiritual ranger","hitpoints":120,"combatLevel":118,"slayerLevel":63,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":140,"magicLevel":1},"3161":{"name":"Spiritual mage","hitpoints":75,"combatLevel":121,"slayerLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":61,"rangeLevel":1,"magicLevel":180},"3162":{"name":"Kree'arra","hitpoints":255,"combatLevel":580,"slayerLevel":1,"attackSpeed":3,"attackLevel":300,"strengthLevel":200,"defenceLevel":260,"rangeLevel":380,"magicLevel":200,"range":120,"stabDef":180,"slashDef":180,"crushDef":180,"rangeDef":200,"magicDef":200,"bonusAttack":136,"bonusStrength":12,"bonusRangeStrength":50},"3163":{"name":"Wingman Skree","hitpoints":121,"combatLevel":143,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":50,"defenceLevel":160,"rangeLevel":100,"magicLevel":150,"bonusAttack":45,"bonusStrength":25},"3164":{"name":"Flockleader Geerin","hitpoints":132,"combatLevel":149,"slayerLevel":1,"attackSpeed":5,"attackLevel":80,"strengthLevel":80,"defenceLevel":175,"rangeLevel":150,"magicLevel":50,"range":60,"bonusRangeStrength":35},"3165":{"name":"Flight Kilisa","hitpoints":133,"combatLevel":159,"slayerLevel":1,"attackSpeed":5,"attackLevel":124,"strengthLevel":118,"defenceLevel":175,"rangeLevel":169,"magicLevel":50,"bonusStrength":14},"3166":{"name":"Spiritual warrior","hitpoints":98,"combatLevel":123,"slayerLevel":68,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":120,"rangeLevel":141,"magicLevel":1,"stabDef":23,"slashDef":25,"crushDef":13,"rangeDef":35,"magicDef":35},"3167":{"name":"Spiritual ranger","hitpoints":89,"combatLevel":127,"slayerLevel":63,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"stabDef":17,"slashDef":16,"crushDef":8,"rangeDef":41,"magicDef":35},"3168":{"name":"Spiritual mage","hitpoints":75,"combatLevel":123,"slayerLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":111,"rangeLevel":1,"magicLevel":150,"stabDef":9,"slashDef":12,"crushDef":5,"rangeDef":28,"magicDef":45},"3169":{"name":"Aviansie","hitpoints":70,"combatLevel":69,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":71,"magicLevel":1},"3170":{"name":"Aviansie","hitpoints":83,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":85,"magicLevel":1},"3171":{"name":"Aviansie","hitpoints":86,"combatLevel":84,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":93,"magicLevel":1},"3172":{"name":"Aviansie","hitpoints":86,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":76,"magicLevel":1},"3173":{"name":"Aviansie","hitpoints":95,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":90,"magicLevel":1},"3174":{"name":"Aviansie","hitpoints":98,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":99,"magicLevel":1},"3175":{"name":"Aviansie","hitpoints":124,"combatLevel":137,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":160,"rangeLevel":136,"magicLevel":1},"3176":{"name":"Aviansie","hitpoints":139,"combatLevel":148,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":160,"rangeLevel":151,"magicLevel":1},"3177":{"name":"Aviansie","hitpoints":63,"combatLevel":71,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":55,"rangeLevel":86,"magicLevel":1},"3178":{"name":"Aviansie","hitpoints":67,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":55,"rangeLevel":89,"magicLevel":1},"3179":{"name":"Aviansie","hitpoints":77,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":55,"rangeLevel":96,"magicLevel":1},"3180":{"name":"Aviansie","hitpoints":69,"combatLevel":89,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":115,"rangeLevel":89,"magicLevel":1},"3181":{"name":"Aviansie","hitpoints":75,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":115,"rangeLevel":96,"magicLevel":1},"3182":{"name":"Aviansie","hitpoints":79,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":115,"rangeLevel":101,"magicLevel":1},"3183":{"name":"Aviansie","hitpoints":115,"combatLevel":131,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":175,"rangeLevel":143,"magicLevel":1},"3184":{"name":"Dagannoth spawn","hitpoints":35,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":35,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3185":{"name":"Dagannoth","hitpoints":95,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50},"3200":{"name":"Arhein","hitpoints":6,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3233":{"name":"Leech","hitpoints":45,"combatLevel":52,"attackSpeed":4,"attackLevel":80,"strengthLevel":20,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"3234":{"name":"Feral Vampyre","hitpoints":50,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":70,"defenceLevel":65,"rangeLevel":1,"magicLevel":50},"3237":{"name":"Feral Vampyre","hitpoints":40,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":60,"defenceLevel":55,"rangeLevel":1,"magicLevel":40},"3245":{"name":"Guard","hitpoints":22,"combatLevel":20,"attackSpeed":5,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3251":{"name":"Watchman","hitpoints":22,"combatLevel":33,"attackSpeed":6,"attackLevel":31,"strengthLevel":31,"defenceLevel":31,"rangeLevel":1,"magicLevel":1,"stabDef":24,"slashDef":14,"crushDef":19,"rangeDef":16},"3252":{"name":"Soldier","hitpoints":22,"combatLevel":28,"attackSpeed":5,"attackLevel":26,"strengthLevel":25,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":24,"slashDef":14,"crushDef":19,"rangeDef":16,"bonusAttack":8,"bonusStrength":10},"3255":{"name":"Shipyard worker","hitpoints":10,"combatLevel":11,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"bonusAttack":6,"bonusStrength":6},"3256":{"name":"Shipyard worker","hitpoints":10,"combatLevel":11,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"bonusAttack":6,"bonusStrength":6},"3259":{"name":"Market Guard","hitpoints":22,"combatLevel":20,"attackSpeed":5,"attackLevel":17,"strengthLevel":18,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":24,"slashDef":14,"crushDef":19,"rangeDef":16,"magicDef":4,"bonusAttack":9,"bonusStrength":7},"3260":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3263":{"name":"Drunken man","hitpoints":7,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":3,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3264":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3265":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3266":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3267":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3268":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3269":{"name":"Guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3270":{"name":"Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3271":{"name":"Guard","hitpoints":22,"combatLevel":19,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3272":{"name":"Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3273":{"name":"Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3274":{"name":"Guard","hitpoints":22,"combatLevel":22,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3275":{"name":"Gardener","hitpoints":7,"combatLevel":4,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"3276":{"name":"Gardener","hitpoints":7,"combatLevel":3,"attackSpeed":4,"attackLevel":2,"strengthLevel":1,"defenceLevel":5,"rangeLevel":1,"magicLevel":1},"3279":{"name":"Cuffs","hitpoints":7,"combatLevel":3,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"magicDef":5},"3280":{"name":"Narf","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3281":{"name":"Rusty","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3282":{"name":"Jeff","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3283":{"name":"Guard","hitpoints":22,"combatLevel":19,"attackSpeed":6,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"3284":{"name":"Hengel","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3285":{"name":"Anja","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3286":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3287":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3288":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3289":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"3313":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3314":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3315":{"name":"Giant rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3328":{"name":"Earth Warrior Champion","hitpoints":108,"combatLevel":102,"attackSpeed":4,"attackLevel":84,"strengthLevel":84,"defenceLevel":84,"rangeLevel":1,"magicLevel":1},"3329":{"name":"Giant Champion","hitpoints":70,"combatLevel":56,"attackSpeed":4,"attackLevel":36,"strengthLevel":44,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"3330":{"name":"Ghoul Champion","hitpoints":100,"combatLevel":85,"attackSpeed":4},"3353":{"name":"Goblin Champion","hitpoints":32,"combatLevel":24,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":14,"rangeLevel":1,"magicLevel":26},"3354":{"name":"Hobgoblin Champion","hitpoints":58,"combatLevel":56,"attackSpeed":4,"attackLevel":44,"strengthLevel":48,"defenceLevel":48,"rangeLevel":44,"magicLevel":1},"3355":{"name":"Imp Champion","hitpoints":40,"combatLevel":14,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":5,"magicLevel":1},"3356":{"name":"Jogre Champion","hitpoints":120,"combatLevel":107,"attackSpeed":4,"attackLevel":86,"strengthLevel":86,"defenceLevel":86,"rangeLevel":1,"magicLevel":1},"3357":{"name":"Lesser Demon Champion","hitpoints":148,"combatLevel":162,"attackSpeed":4,"attackLevel":136,"strengthLevel":140,"defenceLevel":142,"rangeLevel":1,"magicLevel":136},"3358":{"name":"Skeleton Champion","hitpoints":58,"combatLevel":40,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":34,"rangeLevel":36,"magicLevel":1},"3359":{"name":"Zombies Champion","hitpoints":60,"combatLevel":51,"attackSpeed":4,"attackLevel":38,"strengthLevel":42,"defenceLevel":42,"rangeLevel":1,"magicLevel":1},"3360":{"name":"Leon d'Cour","hitpoints":123,"combatLevel":141,"attackSpeed":4},"3361":{"name":"Kourend guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"3400":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3420":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3421":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3422":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3423":{"name":"Grizzly bear","hitpoints":35,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"3424":{"name":"Grizzly bear cub","hitpoints":35,"combatLevel":33,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":26,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3425":{"name":"Grizzly bear cub","hitpoints":35,"combatLevel":36,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":28,"rangeLevel":1,"magicLevel":1},"3426":{"name":"Dire Wolf","hitpoints":85,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":1},"3428":{"name":"Iorwerth Archer","hitpoints":105,"combatLevel":90,"slayerLevel":1,"attackSpeed":5,"attackLevel":10,"strengthLevel":10,"defenceLevel":80,"rangeLevel":90,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"3429":{"name":"Iorwerth Warrior","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":80,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"3433":{"name":"Tyras guard","hitpoints":110,"combatLevel":110,"attackSpeed":5,"attackLevel":85,"strengthLevel":95,"defenceLevel":100,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":30},"3434":{"name":"Tyras guard","hitpoints":110,"combatLevel":110,"attackSpeed":5,"attackLevel":85,"strengthLevel":95,"defenceLevel":100,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":30},"3443":{"name":"Lucien","hitpoints":17,"combatLevel":14,"attackSpeed":4,"attackLevel":12,"strengthLevel":11,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":6,"slashDef":8,"crushDef":7,"rangeDef":4,"bonusAttack":5,"bonusStrength":4},"3444":{"name":"Lucien","hitpoints":17,"combatLevel":14,"attackSpeed":4,"attackLevel":12,"strengthLevel":11,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":6,"slashDef":8,"crushDef":7,"rangeDef":4,"bonusAttack":5,"bonusStrength":4},"3445":{"name":"Guardian of Armadyl","hitpoints":50,"combatLevel":45,"attackSpeed":5,"attackLevel":37,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":43,"slashDef":55,"crushDef":50,"rangeDef":51,"bonusAttack":14,"bonusStrength":16},"3446":{"name":"Guardian of Armadyl","hitpoints":40,"combatLevel":43,"attackSpeed":5,"attackLevel":37,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":43,"slashDef":55,"crushDef":50,"rangeDef":51,"bonusAttack":14,"bonusStrength":16},"3448":{"name":"Fire Warrior of Lesarkus","hitpoints":59,"combatLevel":84,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":78,"rangeLevel":1,"magicLevel":62,"stabDef":34,"slashDef":37,"crushDef":35,"rangeDef":35},"3449":{"name":"Shadow Hound","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"3456":{"name":"Fareed","hitpoints":130,"combatLevel":167,"attackSpeed":4,"attackLevel":190,"strengthLevel":120,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"bonusStrength":120},"3458":{"name":"Kamil","hitpoints":130,"combatLevel":154,"slayerLevel":1,"attackSpeed":4,"attackLevel":190,"strengthLevel":80,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":60,"crushDef":35,"bonusAttack":60,"bonusStrength":100},"3459":{"name":"Dessous","hitpoints":200,"combatLevel":139,"slayerLevel":1,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"3460":{"name":"Dessous","hitpoints":200,"combatLevel":139,"slayerLevel":1,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"3473":{"name":"The Inadequacy","hitpoints":180,"combatLevel":343,"attackSpeed":4,"attackLevel":564,"strengthLevel":170,"defenceLevel":240,"rangeLevel":170,"magicLevel":1},"3474":{"name":"The Everlasting","hitpoints":230,"combatLevel":223,"attackSpeed":6,"attackLevel":187,"strengthLevel":231,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"3475":{"name":"The Untouchable","hitpoints":90,"combatLevel":274,"attackSpeed":6,"attackLevel":187,"strengthLevel":255,"defenceLevel":434,"rangeLevel":1,"magicLevel":1},"3476":{"name":"The Illusive","hitpoints":140,"combatLevel":108,"attackSpeed":6},"3477":{"name":"A Doubt","hitpoints":50,"combatLevel":78,"attackSpeed":6},"3478":{"name":"The Illusive","hitpoints":140,"combatLevel":108,"attackSpeed":6},"3481":{"name":"Count Draynor","hitpoints":35,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":1,"crushDef":3},"3482":{"name":"Count Draynor","hitpoints":35,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":1,"crushDef":3},"3484":{"name":"Monk of Zamorak","hitpoints":20,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":22,"rangeLevel":1,"magicLevel":25},"3485":{"name":"Monk of Zamorak","hitpoints":10,"combatLevel":17,"attackSpeed":4,"attackLevel":8,"strengthLevel":8,"defenceLevel":12,"rangeLevel":1,"magicLevel":25},"3486":{"name":"Monk of Zamorak","hitpoints":25,"combatLevel":30,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":40},"3508":{"name":"Bouncer","hitpoints":120,"combatLevel":160,"attackSpeed":4,"attackLevel":145,"strengthLevel":145,"defenceLevel":145,"rangeLevel":1,"magicLevel":1},"3509":{"name":"Bouncer","hitpoints":120,"combatLevel":160,"attackSpeed":4,"attackLevel":145,"strengthLevel":145,"defenceLevel":145,"rangeLevel":1,"magicLevel":1},"3517":{"name":"Renegade Knight","hitpoints":48,"combatLevel":37,"attackSpeed":4,"attackLevel":28,"strengthLevel":28,"defenceLevel":28,"rangeLevel":1,"magicLevel":1,"stabDef":99,"slashDef":82,"crushDef":62,"bonusAttack":20,"bonusStrength":16},"3518":{"name":"Thrantax the Mighty","hitpoints":80,"combatLevel":92,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"3527":{"name":"Sir Mordred","hitpoints":38,"combatLevel":39,"attackSpeed":4,"attackLevel":33,"strengthLevel":33,"defenceLevel":33,"rangeLevel":1,"magicLevel":1,"stabDef":99,"slashDef":82,"crushDef":45,"bonusAttack":20,"bonusStrength":16},"3544":{"name":"Desert snake","hitpoints":6,"combatLevel":5,"attackSpeed":4,"attackLevel":4,"strengthLevel":5,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3549":{"name":"Menaphite Thug","hitpoints":60,"combatLevel":55,"attackSpeed":4,"attackLevel":60,"strengthLevel":50,"defenceLevel":20,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":4,"bonusStrength":9},"3550":{"name":"Menaphite Thug","hitpoints":60,"combatLevel":55,"attackSpeed":4,"attackLevel":60,"strengthLevel":50,"defenceLevel":20,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":4,"bonusStrength":9},"3551":{"name":"Tough Guy","hitpoints":75,"combatLevel":75,"attackSpeed":4,"attackLevel":85,"strengthLevel":50,"defenceLevel":50,"magicLevel":80,"stabDef":9,"slashDef":8,"crushDef":10,"bonusAttack":9,"bonusStrength":9,"poisonImmune":true},"3565":{"name":"Skeleton","combatLevel":22,"slayerLevel":1,"attackSpeed":4,"undead":true},"3600":{"name":"Frogeel","hitpoints":90,"combatLevel":103,"attackSpeed":4,"attackLevel":91,"strengthLevel":89,"defenceLevel":90,"rangeLevel":1,"magicLevel":1},"3601":{"name":"Unicow","hitpoints":24,"combatLevel":25,"attackSpeed":4,"attackLevel":18,"strengthLevel":26,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"3602":{"name":"Spidine","hitpoints":35,"combatLevel":42,"attackSpeed":4,"attackLevel":37,"strengthLevel":40,"defenceLevel":36,"rangeLevel":1,"magicLevel":1},"3603":{"name":"Swordchick","hitpoints":35,"combatLevel":46,"attackSpeed":4,"attackLevel":41,"strengthLevel":42,"defenceLevel":45,"rangeLevel":1,"magicLevel":1},"3604":{"name":"Jubster","hitpoints":60,"combatLevel":87,"attackSpeed":4,"attackLevel":82,"strengthLevel":78,"defenceLevel":81,"rangeLevel":1,"magicLevel":1},"3605":{"name":"Newtroost","hitpoints":18,"combatLevel":19,"attackSpeed":4,"attackLevel":18,"strengthLevel":16,"defenceLevel":17,"rangeLevel":1,"magicLevel":1},"3607":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3608":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3609":{"name":"Dungeon rat","hitpoints":12,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3612":{"name":"Possessed pickaxe","hitpoints":40,"combatLevel":50,"attackSpeed":4,"attackLevel":40,"strengthLevel":55,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"3615":{"name":"Skeletal miner","hitpoints":39,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":37,"defenceLevel":38,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"3616":{"name":"Treus Dayth","hitpoints":100,"combatLevel":95,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5},"3651":{"name":"Gardener","hitpoints":7,"combatLevel":4,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"3661":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3662":{"name":"Chicken","hitpoints":3,"combatLevel":1,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3663":{"name":"Rooster","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3664":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3665":{"name":"Rabbit","hitpoints":5,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3674":{"name":"Ragnar","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3675":{"name":"Einar","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3676":{"name":"Alrik","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3677":{"name":"Thorhild","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3678":{"name":"Halla","hitpoints":1,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"3681":{"name":"Rannveig","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3682":{"name":"Thora","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3683":{"name":"Valgerd","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3684":{"name":"Skraeling","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3685":{"name":"Broddi","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3686":{"name":"Skraeling","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3687":{"name":"Ragnvald","hitpoints":1,"combatLevel":2,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"3690":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3691":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3692":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3693":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3694":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3695":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3696":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3697":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"3698":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3699":{"name":"Vampyre Juvinate","hitpoints":85,"combatLevel":54,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"3707":{"name":"Feral Vampyre","hitpoints":80,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":30,"defenceLevel":60,"rangeLevel":1,"magicLevel":1},"3708":{"name":"Feral Vampyre","hitpoints":80,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":30,"defenceLevel":60,"rangeLevel":1,"magicLevel":1},"3709":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3710":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3711":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3712":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3713":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3714":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3715":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3716":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3717":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3718":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3719":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3720":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3721":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3722":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3723":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3724":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3725":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3726":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3727":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3728":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3729":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3730":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3731":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3732":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3734":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3735":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3736":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3737":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3738":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3739":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"3748":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3749":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3750":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3751":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3752":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3753":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3754":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3755":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3756":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3757":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3758":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3759":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3760":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"3761":{"name":"Vyrewatch","hitpoints":90,"combatLevel":110,"slayerLevel":1,"attackSpeed":4,"attackLevel":110,"strengthLevel":96,"defenceLevel":85,"rangeLevel":110,"magicLevel":110},"3762":{"name":"Vyrewatch","hitpoints":105,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":106,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3763":{"name":"Vyrewatch","hitpoints":110,"combatLevel":125,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":85,"rangeLevel":120,"magicLevel":120},"3851":{"name":"Moss giant","hitpoints":85,"combatLevel":48,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"3852":{"name":"Moss giant","hitpoints":85,"combatLevel":48,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"3863":{"name":"Jake","hitpoints":50,"combatLevel":37,"attackSpeed":4,"attackLevel":27,"strengthLevel":31,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3865":{"name":"Wilson","hitpoints":50,"combatLevel":37,"attackSpeed":4,"attackLevel":27,"strengthLevel":31,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3869":{"name":"Palmer","hitpoints":50,"combatLevel":37,"attackSpeed":4,"attackLevel":27,"strengthLevel":31,"defenceLevel":25,"rangeLevel":1,"magicLevel":1},"3901":{"name":"Fox","hitpoints":30,"combatLevel":19,"attackSpeed":4,"attackLevel":1,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":30,"magicDef":30,"bonusAttack":30,"bonusStrength":30},"3902":{"name":"Bunny","hitpoints":5,"combatLevel":2},"3903":{"name":"Bunny","hitpoints":5,"combatLevel":2},"3908":{"name":"Bear Cub","hitpoints":20,"combatLevel":15,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":15,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3909":{"name":"Bear Cub","hitpoints":20,"combatLevel":15,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":15,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3910":{"name":"Unicorn Foal","hitpoints":15,"combatLevel":12,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"3911":{"name":"Black unicorn Foal","hitpoints":25,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1},"3912":{"name":"Wolf","hitpoints":69,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":55,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"3922":{"name":"The Draugen","hitpoints":60,"combatLevel":69,"attackSpeed":4,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":500,"magicDef":500,"poisonImmune":true,"venomImmune":true,"undead":true},"3938":{"name":"Freidir","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3939":{"name":"Borrokar","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3940":{"name":"Lanzig","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3943":{"name":"Lensa","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3944":{"name":"Jennella","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"3949":{"name":"Market Guard","hitpoints":50,"combatLevel":48,"attackSpeed":3,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":40,"bonusStrength":40},"3950":{"name":"Warrior","hitpoints":50,"combatLevel":48,"attackSpeed":3,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":40,"bonusStrength":40},"3957":{"name":"Ungadulu","hitpoints":65,"combatLevel":70,"attackSpeed":4,"attackLevel":57,"strengthLevel":65,"defenceLevel":61,"magicLevel":65,"bonusStrength":3,"bonusRangeStrength":7},"3958":{"name":"Ungadulu","hitpoints":150,"combatLevel":169,"attackSpeed":4,"attackLevel":147,"strengthLevel":147,"defenceLevel":147,"bonusStrength":3,"bonusRangeStrength":7},"3959":{"name":"Jungle savage","hitpoints":90,"combatLevel":90,"attackSpeed":4,"attackLevel":76,"strengthLevel":76,"defenceLevel":76,"bonusAttack":8,"bonusStrength":10},"3962":{"name":"Nezikchened","hitpoints":150,"combatLevel":187,"attackSpeed":5,"attackLevel":165,"strengthLevel":168,"defenceLevel":167,"rangeLevel":160,"magicLevel":160,"demon":true},"3963":{"name":"Viyeldi","hitpoints":80,"combatLevel":79,"attackSpeed":4,"attackLevel":62,"strengthLevel":66,"defenceLevel":70,"bonusAttack":7,"bonusStrength":3},"3964":{"name":"San Tojalon","hitpoints":120,"combatLevel":106,"attackSpeed":4,"attackLevel":86,"strengthLevel":84,"defenceLevel":86,"stabDef":18,"slashDef":22,"crushDef":20,"rangeDef":20,"bonusAttack":16,"bonusStrength":17},"3965":{"name":"Irvig Senay","hitpoints":125,"combatLevel":100,"attackSpeed":4,"attackLevel":76,"strengthLevel":74,"defenceLevel":81,"stabDef":27,"slashDef":31,"crushDef":29,"rangeDef":29,"bonusAttack":29,"bonusStrength":31},"3966":{"name":"Ranalph Devere","hitpoints":130,"combatLevel":92,"attackSpeed":4,"attackLevel":66,"strengthLevel":67,"defenceLevel":66,"stabDef":38,"slashDef":40,"crushDef":36,"rangeDef":38,"bonusAttack":45,"bonusStrength":44},"3969":{"name":"Zombie rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3970":{"name":"Zombie rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3971":{"name":"Zombie rat","hitpoints":5,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":2,"strengthLevel":3,"defenceLevel":2,"rangeLevel":1,"magicLevel":1},"3972":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"3973":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"3974":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":11,"rangeDef":4,"magicDef":1,"bonusAttack":15,"bonusStrength":14,"undead":true},"3975":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3976":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3977":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3978":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3979":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"3980":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":5,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"3981":{"name":"Zombie","hitpoints":30,"combatLevel":24,"slayerLevel":1,"attackSpeed":5,"attackLevel":19,"strengthLevel":21,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"stabDef":9,"slashDef":8,"crushDef":12,"rangeDef":11,"magicDef":10,"bonusAttack":5,"bonusStrength":7,"undead":true},"3982":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"3996":{"name":"Witch's experiment","hitpoints":21,"combatLevel":19,"attackSpeed":4,"attackLevel":18,"strengthLevel":10,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"3997":{"name":"Witch's experiment (second form)","hitpoints":31,"combatLevel":30,"attackSpeed":4,"attackLevel":28,"strengthLevel":20,"defenceLevel":29,"rangeLevel":1,"magicLevel":1},"3998":{"name":"Witch's experiment (third form)","hitpoints":41,"combatLevel":42,"attackSpeed":4,"attackLevel":38,"strengthLevel":30,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"3999":{"name":"Witch's experiment (fourth form)","hitpoints":51,"combatLevel":53,"attackSpeed":4,"attackLevel":48,"strengthLevel":40,"defenceLevel":49,"rangeLevel":1,"magicLevel":1},"4004":{"name":"Shadow","hitpoints":15,"combatLevel":73,"attackSpeed":4,"attackLevel":90,"strengthLevel":120,"defenceLevel":5,"rangeLevel":1,"magicLevel":90,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":30,"magicDef":30},"4005":{"name":"Dark beast","hitpoints":220,"combatLevel":182,"slayerLevel":90,"attackSpeed":4,"attackLevel":140,"strengthLevel":160,"defenceLevel":120,"rangeLevel":1,"magicLevel":160,"stabDef":30,"slashDef":40,"crushDef":100,"rangeDef":100,"magicDef":90},"4043":{"name":"Pirate","hitpoints":20},"4044":{"name":"Pirate","hitpoints":20},"4045":{"name":"Pirate","hitpoints":20},"4046":{"name":"Pirate","hitpoints":20},"4047":{"name":"Pirate","hitpoints":20},"4048":{"name":"Pirate","hitpoints":20},"4049":{"name":"Pirate","hitpoints":20},"4050":{"name":"Pirate","hitpoints":20},"4051":{"name":"Pirate","hitpoints":20},"4052":{"name":"Pirate","hitpoints":20},"4067":{"name":"Black Knight Titan","hitpoints":142,"combatLevel":120,"attackSpeed":7,"attackLevel":91,"strengthLevel":100,"defenceLevel":91,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":27,"crushDef":18,"rangeDef":1000,"magicDef":1000,"bonusAttack":27,"bonusStrength":22},"4088":{"name":"Soldier","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"magicLevel":1,"stabDef":15,"slashDef":23,"crushDef":21,"rangeDef":14,"magicDef":6,"bonusAttack":11,"bonusStrength":12},"4095":{"name":"Eadburg","hitpoints":10,"combatLevel":4,"attackSpeed":4},"4096":{"name":"Archer","hitpoints":50,"combatLevel":42,"attackSpeed":6,"defenceLevel":40,"rangeLevel":40,"magicLevel":1,"stabDef":39,"slashDef":50,"crushDef":49,"rangeDef":45,"magicDef":18,"bonusAttack":34},"4097":{"name":"Archer","hitpoints":50,"combatLevel":42,"attackSpeed":6,"defenceLevel":40,"rangeLevel":40,"magicLevel":1,"stabDef":39,"slashDef":50,"crushDef":49,"rangeDef":45,"magicDef":18,"bonusAttack":34},"4098":{"name":"Archer","hitpoints":50,"combatLevel":42,"attackSpeed":6,"defenceLevel":40,"rangeLevel":40,"magicLevel":1,"stabDef":39,"slashDef":50,"crushDef":49,"rangeDef":45,"magicDef":18,"bonusAttack":34},"4099":{"name":"Guard","hitpoints":40,"combatLevel":37,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"magicLevel":1,"stabDef":36,"slashDef":48,"crushDef":50,"rangeDef":38,"bonusAttack":18,"bonusStrength":16},"4100":{"name":"Guard","hitpoints":40,"combatLevel":37,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"magicLevel":1,"stabDef":36,"slashDef":48,"crushDef":50,"rangeDef":38,"bonusAttack":18,"bonusStrength":16},"4107":{"name":"Breoca","hitpoints":10,"combatLevel":5,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4108":{"name":"Ocga","hitpoints":10,"combatLevel":5,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4109":{"name":"Penda","hitpoints":10,"combatLevel":5,"attackSpeed":4,"attackLevel":3,"strengthLevel":3,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4110":{"name":"Hygd","hitpoints":10,"combatLevel":4,"attackSpeed":4,"attackLevel":3,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4111":{"name":"Ceolburg","hitpoints":10,"combatLevel":4,"attackSpeed":4,"attackLevel":3,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4114":{"name":"White Knight","hitpoints":55,"combatLevel":42,"attackSpeed":7,"attackLevel":32,"strengthLevel":35,"defenceLevel":27,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"4115":{"name":"Fareed (hard)","hitpoints":255,"combatLevel":299,"attackSpeed":4,"attackLevel":380,"strengthLevel":240,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"bonusStrength":120},"4120":{"name":"Troll general","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"4121":{"name":"Troll general","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"4122":{"name":"Troll general","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"4123":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4124":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4125":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4126":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4127":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4128":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4129":{"name":"Troll spectator","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4130":{"name":"Dad","hitpoints":120,"combatLevel":101,"slayerLevel":1,"attackSpeed":8,"attackLevel":60,"strengthLevel":120,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"4131":{"name":"Twig","hitpoints":90,"combatLevel":71,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4132":{"name":"Berry","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4133":{"name":"Twig","hitpoints":90,"combatLevel":71,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4134":{"name":"Berry","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4135":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4136":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4137":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4138":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4139":{"name":"Thrower troll","hitpoints":95,"combatLevel":68,"slayerLevel":1,"attackSpeed":7,"attackLevel":30,"strengthLevel":95,"defenceLevel":15,"rangeLevel":60,"rangeDef":200,"magicDef":200},"4143":{"name":"Mountain troll","hitpoints":90,"combatLevel":71,"slayerLevel":1,"attackSpeed":6,"attackLevel":40,"strengthLevel":90,"defenceLevel":25,"crushDef":10,"rangeDef":200,"magicDef":200,"bonusAttack":20,"bonusStrength":20},"4163":{"name":"King Roald","hitpoints":75,"combatLevel":47,"attackSpeed":4,"attackLevel":35,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4167":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4168":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4169":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4170":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4171":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4172":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4173":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4174":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4175":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4176":{"name":"Outlaw","hitpoints":20,"combatLevel":32,"attackSpeed":6,"attackLevel":35,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4184":{"name":"Crocodile","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"4185":{"name":"Jackal","hitpoints":27,"combatLevel":21,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1},"4186":{"name":"Locust","hitpoints":27,"combatLevel":18,"attackSpeed":4,"attackLevel":17,"strengthLevel":18,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4188":{"name":"Plague frog","hitpoints":10,"combatLevel":11,"attackSpeed":4,"attackLevel":18,"strengthLevel":10,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4192":{"name":"Scarab swarm","hitpoints":25,"combatLevel":98,"slayerLevel":1,"attackSpeed":1,"attackLevel":255,"strengthLevel":5,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":90,"slashDef":90,"crushDef":5,"rangeDef":90,"magicDef":90},"4195":{"name":"Het","combatLevel":81,"attackSpeed":4},"4196":{"name":"Apmeken","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":30,"strengthLevel":40,"defenceLevel":60,"rangeLevel":1,"magicLevel":85,"stabDef":65,"slashDef":65,"crushDef":65,"magicDef":50},"4197":{"name":"Scabaras","combatLevel":75,"attackSpeed":4},"4198":{"name":"Crondis","hitpoints":60,"combatLevel":75,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":35,"rangeLevel":1,"magicLevel":40,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":40,"magicDef":70},"4210":{"name":"Possessed Priest","hitpoints":90,"combatLevel":91,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":40,"rangeLevel":1,"magicLevel":60,"stabDef":90,"crushDef":90,"bonusStrength":90},"4246":{"name":"Monk","hitpoints":5,"combatLevel":3,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"4247":{"name":"Thief","hitpoints":17,"combatLevel":14,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"4248":{"name":"Head Thief","hitpoints":37,"combatLevel":26,"attackSpeed":5,"attackLevel":24,"strengthLevel":18,"defenceLevel":16,"rangeLevel":2,"stabDef":8,"slashDef":14,"crushDef":15,"rangeDef":9,"magicDef":4,"bonusStrength":10},"4276":{"name":"Jail guard","hitpoints":32,"combatLevel":26,"attackSpeed":5,"attackLevel":19,"strengthLevel":23,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":10,"rangeDef":9,"magicDef":4,"bonusAttack":9,"bonusStrength":5},"4277":{"name":"Jail guard","hitpoints":32,"combatLevel":26,"attackSpeed":5,"attackLevel":19,"strengthLevel":23,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":10,"rangeDef":9,"magicDef":4,"bonusAttack":9,"bonusStrength":5},"4278":{"name":"Jail guard","hitpoints":32,"combatLevel":26,"attackSpeed":5,"attackLevel":19,"strengthLevel":23,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":10,"rangeDef":9,"magicDef":4,"bonusAttack":9,"bonusStrength":5},"4279":{"name":"Jail guard","hitpoints":32,"combatLevel":26,"attackSpeed":5,"attackLevel":19,"strengthLevel":23,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":10,"rangeDef":9,"magicDef":4,"bonusAttack":9,"bonusStrength":5},"4303":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":100,"magicDef":100},"4304":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":10,"magicDef":10},"4308":{"name":"Sea troll","hitpoints":100,"combatLevel":79,"attackSpeed":4,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1},"4309":{"name":"Sea troll","hitpoints":80,"combatLevel":65,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"4310":{"name":"Sea troll","hitpoints":80,"combatLevel":87,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":1},"4311":{"name":"Sea troll","hitpoints":80,"combatLevel":101,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1},"4315":{"name":"Sea Troll Queen","hitpoints":200,"combatLevel":170,"attackSpeed":4,"attackLevel":100,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":150,"stabDef":20,"slashDef":40,"crushDef":40,"magicDef":40,"bonusAttack":100,"bonusStrength":40},"4319":{"name":"Skeleton Mage","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":60,"rangeLevel":1,"magicLevel":100,"magicDef":15,"undead":true},"4321":{"name":"Renegade Knight","hitpoints":48,"combatLevel":37,"attackSpeed":4,"attackLevel":28,"strengthLevel":28,"defenceLevel":28,"rangeLevel":1,"magicLevel":1,"stabDef":99,"slashDef":82,"crushDef":62,"bonusAttack":20,"bonusStrength":16},"4328":{"name":"Sigmund","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":45,"strengthLevel":45,"defenceLevel":24,"rangeLevel":1,"magicLevel":1,"magic":8,"venomImmune":true},"4331":{"name":"Black Knight","hitpoints":42,"combatLevel":33,"attackSpeed":5,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":73,"slashDef":76,"crushDef":70,"rangeDef":72,"bonusAttack":18,"bonusStrength":16},"4342":{"name":"Sir Lucan","hitpoints":105,"combatLevel":120,"attackSpeed":5,"attackLevel":105,"strengthLevel":110,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":275,"slashDef":65,"crushDef":45,"bonusAttack":40,"bonusStrength":40},"4343":{"name":"Sir Palomedes","hitpoints":100,"combatLevel":118,"attackSpeed":5,"attackLevel":105,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":250,"slashDef":250,"crushDef":50,"bonusAttack":35,"bonusStrength":35},"4344":{"name":"Sir Lancelot","hitpoints":115,"combatLevel":127,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":300,"slashDef":85,"crushDef":300,"bonusAttack":60,"bonusStrength":60},"4345":{"name":"Sir Bedivere","hitpoints":90,"combatLevel":110,"attackSpeed":5,"attackLevel":99,"strengthLevel":95,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":15,"crushDef":190,"bonusAttack":20,"bonusStrength":20},"4346":{"name":"Sir Tristram","hitpoints":105,"combatLevel":115,"attackSpeed":5,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"crushDef":225,"bonusAttack":25,"bonusStrength":25},"4347":{"name":"Sir Pelleas","hitpoints":99,"combatLevel":112,"attackSpeed":5,"attackLevel":95,"strengthLevel":99,"defenceLevel":98,"rangeLevel":1,"magicLevel":1,"stabDef":200,"crushDef":5,"bonusAttack":22,"bonusStrength":22},"4348":{"name":"Sir Gawain","hitpoints":110,"combatLevel":122,"attackSpeed":5,"attackLevel":110,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":65,"slashDef":90,"crushDef":300,"bonusAttack":40,"bonusStrength":45},"4349":{"name":"Sir Kay","hitpoints":110,"combatLevel":124,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":300,"crushDef":65,"bonusAttack":55,"bonusStrength":55},"4354":{"name":"Sir Lancelot","hitpoints":115,"combatLevel":127,"attackSpeed":4,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":300,"slashDef":85,"crushDef":300,"bonusAttack":60,"bonusStrength":60},"4355":{"name":"Sir Kay","hitpoints":110,"combatLevel":124,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":300,"crushDef":65,"bonusAttack":55,"bonusStrength":55},"4356":{"name":"Sir Gawain","hitpoints":110,"combatLevel":122,"attackSpeed":5,"attackLevel":110,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":65,"slashDef":90,"crushDef":300,"bonusAttack":40,"bonusStrength":45},"4357":{"name":"Sir Lucan","hitpoints":105,"combatLevel":120,"attackSpeed":5,"attackLevel":105,"strengthLevel":110,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":275,"slashDef":65,"crushDef":45,"bonusAttack":40,"bonusStrength":40},"4358":{"name":"Sir Palomedes","hitpoints":100,"combatLevel":118,"attackSpeed":5,"attackLevel":105,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":250,"slashDef":250,"crushDef":50,"bonusAttack":35,"bonusStrength":35},"4359":{"name":"Sir Tristram","hitpoints":105,"combatLevel":115,"attackSpeed":5,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"crushDef":225,"bonusAttack":25,"bonusStrength":25},"4360":{"name":"Sir Pelleas","hitpoints":99,"combatLevel":112,"attackSpeed":5,"attackLevel":95,"strengthLevel":99,"defenceLevel":98,"rangeLevel":1,"magicLevel":1,"stabDef":200,"crushDef":5,"bonusAttack":22,"bonusStrength":22},"4361":{"name":"Sir Bedivere","hitpoints":90,"combatLevel":110,"attackSpeed":5,"attackLevel":99,"strengthLevel":95,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":15,"crushDef":190,"bonusAttack":20,"bonusStrength":20},"4362":{"name":"Ogre chieftain","hitpoints":60,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":71,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":21,"crushDef":16,"bonusAttack":5,"bonusStrength":7},"4363":{"name":"Ogre chieftain","hitpoints":60,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":71,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":21,"crushDef":16,"bonusAttack":5,"bonusStrength":7},"4367":{"name":"Gorad","hitpoints":80,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":27,"crushDef":21,"bonusAttack":8,"bonusStrength":8},"4373":{"name":"City guard","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":13,"slashDef":24,"crushDef":19,"bonusAttack":9,"bonusStrength":13},"4381":{"name":"Enclave guard","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":13,"slashDef":24,"crushDef":19,"bonusAttack":9,"bonusStrength":13},"4382":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4383":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4384":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4385":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"4387":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4389":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4391":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4393":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4395":{"name":"Ogre shaman","hitpoints":1,"combatLevel":113,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4405":{"name":"Tower guard","hitpoints":22,"combatLevel":28,"attackSpeed":4,"attackLevel":26,"strengthLevel":26,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":23,"slashDef":35,"crushDef":28,"bonusAttack":8,"bonusStrength":8},"4406":{"name":"Colonel Radick","hitpoints":65,"combatLevel":38,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"stabDef":39,"slashDef":31,"crushDef":34,"bonusAttack":9,"bonusStrength":13},"4421":{"name":"Undead cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"undead":true},"4427":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4428":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4429":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4430":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4431":{"name":"Feral Vampyre","hitpoints":80,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":30,"defenceLevel":60,"rangeLevel":1,"magicLevel":1},"4432":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4436":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4437":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4438":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4439":{"name":"Vampyre Juvenile","hitpoints":60,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4442":{"name":"Vampyre Juvinate","hitpoints":110,"combatLevel":75,"attackSpeed":4,"attackLevel":70,"strengthLevel":50,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"4443":{"name":"Vampyre Juvinate","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":50,"strengthLevel":37,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4483":{"name":"Gadderanks","hitpoints":20,"combatLevel":35,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10,"magicDef":10,"poisonImmune":true,"venomImmune":true},"4484":{"name":"Gadderanks","hitpoints":20,"combatLevel":35,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10,"magicDef":10,"poisonImmune":true,"venomImmune":true},"4485":{"name":"Gadderanks","hitpoints":20,"combatLevel":35,"attackSpeed":4,"attackLevel":20,"strengthLevel":20,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":10,"magicDef":10,"poisonImmune":true,"venomImmune":true},"4486":{"name":"Vampyre Juvinate","hitpoints":60,"combatLevel":50,"attackSpeed":4,"attackLevel":50,"strengthLevel":37,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4487":{"name":"Vampyre Juvinate","hitpoints":65,"combatLevel":54,"attackSpeed":4,"attackLevel":55,"strengthLevel":40,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"4491":{"name":"Skeleton fremennik","hitpoints":25,"combatLevel":40,"slayerLevel":1,"attackSpeed":6,"attackLevel":53,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4492":{"name":"Skeleton fremennik","hitpoints":25,"combatLevel":40,"slayerLevel":1,"attackSpeed":6,"attackLevel":53,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4493":{"name":"Skeleton fremennik","hitpoints":25,"combatLevel":40,"slayerLevel":1,"attackSpeed":6,"attackLevel":53,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4494":{"name":"Skeleton fremennik","hitpoints":35,"combatLevel":50,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":43,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4495":{"name":"Skeleton fremennik","hitpoints":35,"combatLevel":50,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":43,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4496":{"name":"Skeleton fremennik","hitpoints":35,"combatLevel":50,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":43,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4497":{"name":"Skeleton fremennik","hitpoints":40,"combatLevel":60,"slayerLevel":1,"attackSpeed":6,"attackLevel":72,"strengthLevel":54,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4498":{"name":"Skeleton fremennik","hitpoints":40,"combatLevel":60,"slayerLevel":1,"attackSpeed":6,"attackLevel":72,"strengthLevel":54,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4499":{"name":"Skeleton fremennik","hitpoints":40,"combatLevel":60,"slayerLevel":1,"attackSpeed":6,"attackLevel":72,"strengthLevel":54,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":15,"rangeDef":15,"bonusAttack":8,"bonusStrength":13},"4500":{"name":"Ulfric","hitpoints":60,"combatLevel":100,"attackSpeed":6,"attackLevel":100,"strengthLevel":82,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"4501":{"name":"Brine rat","hitpoints":50,"combatLevel":70,"slayerLevel":47,"attackSpeed":4,"attackLevel":70,"strengthLevel":79,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"4504":{"name":"Giant bat","hitpoints":32,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":12,"rangeDef":8,"magicDef":10},"4505":{"name":"Ulfric","hitpoints":60,"combatLevel":100,"attackSpeed":6,"attackLevel":100,"strengthLevel":82,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"4522":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4523":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4524":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4525":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4526":{"name":"Guard","hitpoints":30,"combatLevel":22,"attackSpeed":5,"attackLevel":16,"strengthLevel":20,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"stabDef":7,"slashDef":7,"rangeDef":7},"4533":{"name":"Blessed spider","hitpoints":32,"combatLevel":39,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":35,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":16,"crushDef":7,"rangeDef":16,"magicDef":12},"4534":{"name":"Blessed giant rat","hitpoints":30,"combatLevel":9,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4535":{"name":"Blessed giant rat","hitpoints":30,"combatLevel":9,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4561":{"name":"Spider","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4634":{"name":"Rowdy slave","hitpoints":16,"combatLevel":10,"attackSpeed":4,"attackLevel":7,"strengthLevel":7,"defenceLevel":7},"4635":{"name":"Mercenary Captain","hitpoints":80,"combatLevel":47,"attackSpeed":4,"attackLevel":32,"strengthLevel":29,"defenceLevel":32,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4643":{"name":"Shantay Guard","hitpoints":32,"combatLevel":22,"attackSpeed":4,"attackLevel":17,"strengthLevel":16,"defenceLevel":16,"stabDef":12,"slashDef":15,"crushDef":18,"rangeDef":15,"magicDef":6,"bonusAttack":11,"bonusStrength":12},"4648":{"name":"Shantay Guard","hitpoints":32,"combatLevel":22,"attackSpeed":4,"attackLevel":17,"strengthLevel":16,"defenceLevel":16,"stabDef":12,"slashDef":15,"crushDef":18,"rangeDef":15,"magicDef":6,"bonusAttack":11,"bonusStrength":12},"4649":{"name":"Desert Wolf","hitpoints":34,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":21,"defenceLevel":22},"4650":{"name":"Desert Wolf","hitpoints":34,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":21,"defenceLevel":22},"4651":{"name":"Desert Wolf","hitpoints":34,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":20,"strengthLevel":21,"defenceLevel":22},"4652":{"name":"Ugthanki","hitpoints":45,"combatLevel":42,"attackSpeed":4,"attackLevel":35,"strengthLevel":35,"defenceLevel":35},"4655":{"name":"Bedabin Nomad Fighter","hitpoints":50,"combatLevel":56,"attackSpeed":4,"attackLevel":40,"strengthLevel":50,"defenceLevel":60,"bonusAttack":9,"bonusStrength":14},"4656":{"name":"Mercenary","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4657":{"name":"Mercenary","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4658":{"name":"Mercenary","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4659":{"name":"Mercenary","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4660":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4661":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4662":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4663":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4664":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4665":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4666":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4667":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4668":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4669":{"name":"Guard","hitpoints":60,"combatLevel":45,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":39,"stabDef":17,"slashDef":15,"crushDef":19,"rangeDef":19,"bonusAttack":9,"bonusStrength":14},"4682":{"name":"Sir Leye","hitpoints":20,"combatLevel":20,"attackSpeed":5},"4688":{"name":"Angry unicorn","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4689":{"name":"Angry giant rat","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4690":{"name":"Angry giant rat","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4691":{"name":"Angry goblin","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4692":{"name":"Angry bear","hitpoints":50,"combatLevel":47,"attackSpeed":4,"attackLevel":38,"strengthLevel":41,"defenceLevel":38,"rangeLevel":1,"magicLevel":1},"4693":{"name":"Fear reaper","hitpoints":57,"combatLevel":55,"attackSpeed":4,"attackLevel":45,"strengthLevel":48,"defenceLevel":45,"rangeLevel":1,"magicLevel":1},"4694":{"name":"Confusion beast","hitpoints":64,"combatLevel":63,"attackSpeed":4,"attackLevel":52,"strengthLevel":55,"defenceLevel":52,"rangeLevel":1,"magicLevel":1},"4695":{"name":"Hopeless creature","hitpoints":71,"combatLevel":71,"attackSpeed":4,"attackLevel":59,"strengthLevel":62,"defenceLevel":59,"rangeLevel":1,"magicLevel":1},"4708":{"name":"The Shaikahan","hitpoints":100,"combatLevel":83,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"rangeDef":10000,"magicDef":10000},"4709":{"name":"The Shaikahan","hitpoints":100,"combatLevel":83,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":25,"rangeLevel":1,"magicLevel":1,"rangeDef":10000,"magicDef":10000},"4742":{"name":"Black golem","hitpoints":80,"combatLevel":75,"attackSpeed":4,"attackLevel":80,"strengthLevel":30,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":300,"slashDef":300,"crushDef":1,"rangeDef":300,"magicDef":300},"4743":{"name":"White golem","hitpoints":80,"combatLevel":75,"attackSpeed":4,"attackLevel":80,"strengthLevel":30,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":300,"crushDef":300,"rangeDef":300,"magicDef":300},"4744":{"name":"Grey golem","hitpoints":80,"combatLevel":75,"attackSpeed":4,"attackLevel":80,"strengthLevel":30,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":300,"slashDef":1,"crushDef":300,"rangeDef":300,"magicDef":300},"4758":{"name":"Poltenip","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"4759":{"name":"Radat","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":25,"crushDef":19,"rangeDef":20,"bonusAttack":4,"bonusStrength":5},"4772":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4773":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4774":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4775":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4776":{"name":"Fortress Guard","hitpoints":22,"combatLevel":20,"attackSpeed":6,"attackLevel":18,"strengthLevel":18,"defenceLevel":15,"rangeLevel":1,"magicLevel":1,"stabDef":14,"slashDef":18,"crushDef":14,"rangeDef":15,"bonusAttack":5,"bonusStrength":6},"4797":{"name":"Slug Prince","hitpoints":70,"combatLevel":62,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":99,"magicDef":99},"4798":{"name":"Slug Prince","hitpoints":70,"combatLevel":62,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":99,"magicDef":99},"4799":{"name":"Giant lobster","hitpoints":50,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":15,"rangeDef":70,"magicDef":99},"4800":{"name":"Giant lobster","hitpoints":50,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":15,"rangeDef":70,"magicDef":99},"4805":{"name":"Hobgoblin","hitpoints":29,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":24,"defenceLevel":24,"rangeLevel":1,"magicLevel":1},"4813":{"name":"Icefiend","hitpoints":15,"combatLevel":13,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"4819":{"name":"Crab","hitpoints":19,"combatLevel":23,"attackSpeed":4,"attackLevel":19,"strengthLevel":20,"defenceLevel":26,"rangeLevel":1,"magicLevel":1},"4820":{"name":"Mudskipper","hitpoints":20,"combatLevel":30,"attackSpeed":4,"attackLevel":29,"strengthLevel":29,"defenceLevel":26,"rangeLevel":1,"magicLevel":1},"4821":{"name":"Mudskipper","hitpoints":20,"combatLevel":31,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":29,"rangeLevel":1,"magicLevel":1},"4822":{"name":"Crab","hitpoints":18,"combatLevel":21,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":22,"rangeLevel":1,"magicLevel":1},"4849":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4863":{"name":"Jubbly bird","hitpoints":21,"combatLevel":9,"slayerLevel":1},"4864":{"name":"Jubbly bird","hitpoints":21,"combatLevel":9,"slayerLevel":1},"4872":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4873":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4874":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4875":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4876":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4877":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4878":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4879":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"4880":{"name":"Agrith-Na-Na","hitpoints":200,"combatLevel":146,"attackSpeed":4,"attackLevel":83,"strengthLevel":150,"defenceLevel":82,"rangeLevel":100,"magicLevel":100,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":100},"4881":{"name":"Flambeed","hitpoints":210,"combatLevel":149,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":100},"4882":{"name":"Karamel","hitpoints":250,"combatLevel":136,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":100,"magicLevel":1,"stab":50,"slash":50,"crush":50,"range":134,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":150,"magicDef":150,"bonusRangeStrength":55},"4883":{"name":"Dessourt","hitpoints":130,"combatLevel":121,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"4884":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4885":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4886":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4887":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4888":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4889":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"4919":{"name":"Grip","hitpoints":25,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":17,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":16,"slashDef":27,"crushDef":22,"bonusAttack":5,"bonusStrength":7},"4922":{"name":"Ice Queen","hitpoints":105,"combatLevel":111,"attackSpeed":4,"attackLevel":95,"strengthLevel":94,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":40,"crushDef":20,"rangeDef":30,"magicDef":10},"4926":{"name":"Pirate Guard","hitpoints":25,"combatLevel":19,"attackSpeed":4,"attackLevel":18,"strengthLevel":16,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":39,"crushDef":30,"bonusAttack":20,"bonusStrength":16},"4927":{"name":"Entrana firebird","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4930":{"name":"Solus Dellagar","hitpoints":40,"attackSpeed":3},"4933":{"name":"Solus Dellagar","hitpoints":40,"attackSpeed":3},"4934":{"name":"Black Knight","hitpoints":42,"combatLevel":32,"attackSpeed":5},"4958":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"4959":{"name":"Black Knight","hitpoints":42,"combatLevel":32,"attackSpeed":5},"4960":{"name":"Black Knight","hitpoints":42,"combatLevel":32,"attackSpeed":5},"4962":{"name":"Solus Dellagar","hitpoints":40,"attackSpeed":3},"4969":{"name":"Khazard trooper","hitpoints":22,"combatLevel":19,"attackSpeed":5,"attackLevel":17,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":22,"bonusAttack":9,"bonusStrength":5},"4970":{"name":"Khazard trooper","hitpoints":22,"combatLevel":19,"attackSpeed":5,"attackLevel":17,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":22,"bonusAttack":9,"bonusStrength":5},"4972":{"name":"Khazard commander","hitpoints":22,"combatLevel":48,"attackSpeed":4,"attackLevel":50,"strengthLevel":45,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"4973":{"name":"Gnome troop","hitpoints":3,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":5,"rangeDef":4,"magicDef":2,"bonusAttack":2,"bonusStrength":3,"bonusRangeStrength":2},"4974":{"name":"Gnome troop","hitpoints":3,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":5,"rangeDef":4,"magicDef":2,"bonusAttack":2,"bonusStrength":3,"bonusRangeStrength":2},"4987":{"name":"Chronozon","hitpoints":60,"combatLevel":170,"attackSpeed":4,"attackLevel":173,"strengthLevel":172,"defenceLevel":173,"rangeLevel":1,"magicLevel":1,"demon":true},"5007":{"name":"Imp","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5043":{"name":"Suit of armour","hitpoints":29,"combatLevel":19,"attackSpeed":5,"attackLevel":16,"strengthLevel":14,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":46,"slashDef":50,"crushDef":45,"rangeDef":45,"bonusAttack":8,"bonusStrength":10},"5054":{"name":"Skeleton Hellhound","hitpoints":55,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":110,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"5079":{"name":"Delrith","hitpoints":7,"combatLevel":27,"demon":true},"5086":{"name":"Dark wizard","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"5087":{"name":"Dark wizard","hitpoints":12,"combatLevel":7,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"5088":{"name":"Dark wizard","hitpoints":24,"combatLevel":20,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"5089":{"name":"Dark wizard","hitpoints":24,"combatLevel":20,"attackSpeed":4,"attackLevel":5,"strengthLevel":2,"defenceLevel":5,"rangeLevel":1,"magicLevel":6,"magicDef":3},"5126":{"name":"Experiment No.2","hitpoints":95,"combatLevel":109,"attackSpeed":4,"attackLevel":104,"strengthLevel":92,"defenceLevel":90,"rangeLevel":100,"magicLevel":1,"stabDef":45,"slashDef":70,"crushDef":60,"rangeDef":55,"magicDef":60},"5129":{"name":"Glod","hitpoints":160,"combatLevel":138,"attackSpeed":4,"attackLevel":115,"strengthLevel":120,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":105,"slashDef":110,"crushDef":130,"rangeDef":100,"magicDef":125},"5139":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5142":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5143":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5144":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5145":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5146":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5157":{"name":"H.A.M. Archer","hitpoints":35,"combatLevel":30,"attackSpeed":10,"defenceLevel":30,"rangeLevel":30,"stabDef":5,"slashDef":5,"rangeDef":5},"5158":{"name":"H.A.M. Mage","hitpoints":35,"combatLevel":30,"attackSpeed":6,"defenceLevel":30,"rangeLevel":1,"magicLevel":30,"magic":8,"stabDef":5,"slashDef":5,"rangeDef":5},"5185":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5186":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5187":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5188":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5189":{"name":"Guard","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":9,"rangeLevel":1,"magicLevel":1,"stabDef":3,"slashDef":4,"crushDef":4,"rangeDef":3,"magicDef":2,"bonusAttack":5,"bonusStrength":7},"5192":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5193":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5194":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"5195":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5196":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5197":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5198":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5199":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5200":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5201":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5202":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5203":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5204":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5205":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5206":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5207":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5208":{"name":"Goblin","hitpoints":5,"combatLevel":2,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5211":{"name":"Weaponsmaster","hitpoints":20,"combatLevel":23,"attackSpeed":5,"attackLevel":21,"strengthLevel":21,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":21,"slashDef":23,"crushDef":21,"rangeDef":20,"bonusAttack":8,"bonusStrength":10},"5213":{"name":"Jonny the beard","hitpoints":8,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5217":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"5218":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"5219":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"5220":{"name":"Thief","hitpoints":17,"combatLevel":16,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"5223":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5237":{"name":"Skeleton","hitpoints":110,"combatLevel":142,"slayerLevel":1,"attackSpeed":4,"attackLevel":180,"strengthLevel":90,"defenceLevel":110,"rangeLevel":1,"magicLevel":110,"bonusAttack":50,"undead":true},"5238":{"name":"Spider","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"slashDef":1,"magicDef":1,"bonusAttack":1,"bonusStrength":1},"5239":{"name":"Spider","hitpoints":2,"combatLevel":1,"slayerLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"slashDef":1,"magicDef":1,"bonusAttack":1,"bonusStrength":1},"5240":{"name":"Bird","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":1,"magicLevel":10},"5241":{"name":"Bird","hitpoints":5,"combatLevel":5,"slayerLevel":1,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":5},"5242":{"name":"Scorpion","hitpoints":15,"combatLevel":38,"slayerLevel":1,"attackSpeed":6},"5243":{"name":"Jungle spider","hitpoints":35,"combatLevel":37,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":30,"defenceLevel":10,"rangeLevel":1,"magicLevel":10,"bonusAttack":100,"bonusStrength":100},"5244":{"name":"Snake","hitpoints":36,"combatLevel":24,"attackSpeed":4,"attackLevel":15,"strengthLevel":25,"defenceLevel":10,"rangeLevel":1,"magicLevel":10,"bonusAttack":100,"bonusStrength":100},"5263":{"name":"Padulah","hitpoints":130,"combatLevel":149,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":130,"bonusAttack":50},"5271":{"name":"Monkey Guard","hitpoints":130,"combatLevel":149,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":130},"5272":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"5273":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"5274":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"5275":{"name":"Monkey Guard","hitpoints":130,"combatLevel":167,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":200,"rangeLevel":1,"magicLevel":130,"bonusAttack":50},"5276":{"name":"Monkey Guard","hitpoints":130,"combatLevel":167,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":200,"rangeLevel":1,"magicLevel":130,"bonusAttack":50},"5281":{"name":"Monkey Zombie","hitpoints":60,"combatLevel":98,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":60,"bonusAttack":35,"undead":true},"5282":{"name":"Monkey Zombie","hitpoints":90,"combatLevel":129,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":110,"defenceLevel":90,"rangeLevel":1,"magicLevel":90,"bonusAttack":35,"undead":true},"5283":{"name":"Monkey Zombie","hitpoints":60,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":60,"bonusAttack":15,"undead":true},"5293":{"name":"Elf Warrior","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":80,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"5294":{"name":"Elf Warrior","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":80,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"5295":{"name":"Elf Archer","hitpoints":105,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":80,"rangeLevel":90,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"5296":{"name":"Elf Archer","hitpoints":105,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":80,"rangeLevel":90,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"5329":{"name":"Sigmund","hitpoints":70,"combatLevel":64,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"magic":8,"poisonImmune":true,"venomImmune":true},"5330":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5331":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5332":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5333":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5334":{"name":"Cave goblin guard","hitpoints":26,"combatLevel":26,"slayerLevel":1,"attackSpeed":6,"attackLevel":22,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"slashDef":15,"crushDef":19,"rangeDef":12},"5335":{"name":"Cave goblin guard","hitpoints":26,"combatLevel":24,"slayerLevel":1,"attackSpeed":6,"attackLevel":22,"strengthLevel":16,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"slashDef":15,"crushDef":19,"rangeDef":12},"5336":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5337":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5338":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5339":{"name":"Cave goblin miner","hitpoints":10,"combatLevel":11,"slayerLevel":1,"attackSpeed":4,"attackLevel":10,"strengthLevel":12,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5342":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5343":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5344":{"name":"Undead one","hitpoints":47,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":55,"stabDef":5,"slashDef":5,"crushDef":4,"rangeDef":4,"magicDef":1,"bonusAttack":7,"bonusStrength":5,"undead":true},"5345":{"name":"Undead one","hitpoints":47,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":55,"defenceLevel":55,"stabDef":5,"slashDef":5,"crushDef":4,"rangeDef":4,"magicDef":1,"bonusAttack":7,"bonusStrength":5,"undead":true},"5346":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5347":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5348":{"name":"Undead one","hitpoints":47,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":63,"strengthLevel":63,"defenceLevel":63,"undead":true},"5349":{"name":"Undead one","hitpoints":59,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"bonusAttack":4,"bonusStrength":5,"undead":true},"5350":{"name":"Undead one","hitpoints":59,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"bonusAttack":4,"bonusStrength":5,"undead":true},"5351":{"name":"Undead one","hitpoints":59,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"bonusAttack":4,"bonusStrength":5,"undead":true},"5353":{"name":"Nazastarool","hitpoints":70,"combatLevel":91,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":80},"5354":{"name":"Nazastarool","hitpoints":70,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":58,"strengthLevel":54,"defenceLevel":58,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"magicDef":5,"bonusAttack":15,"bonusStrength":15},"5355":{"name":"Nazastarool","hitpoints":80,"combatLevel":93,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":80},"5369":{"name":"Goblin guard","hitpoints":43,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":37,"defenceLevel":37,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":6,"bonusAttack":8,"bonusStrength":5},"5370":{"name":"Ghost","hitpoints":20,"combatLevel":24,"slayerLevel":1,"attackSpeed":4,"attackLevel":23,"strengthLevel":23,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"undead":true},"5372":{"name":"Grave scorpion","hitpoints":7,"combatLevel":12,"slayerLevel":1,"attackSpeed":4,"attackLevel":11,"strengthLevel":12,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":3},"5373":{"name":"Poison spider","hitpoints":64,"combatLevel":31,"slayerLevel":1,"attackSpeed":6},"5512":{"name":"Gardener","hitpoints":7,"combatLevel":4,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":7,"rangeLevel":1,"magicLevel":1},"5534":{"name":"Whirlpool","combatLevel":127,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"rangeDef":300,"magicDef":130},"5535":{"name":"Enormous Tentacle","hitpoints":120,"combatLevel":112,"slayerLevel":87,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":150,"magicLevel":1,"rangeDef":270,"poisonImmune":true,"venomImmune":true},"5563":{"name":"Angry barbarian spirit","hitpoints":190,"combatLevel":166,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"5564":{"name":"Enraged barbarian spirit","hitpoints":190,"combatLevel":166,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"5565":{"name":"Berserk barbarian spirit","hitpoints":190,"combatLevel":166,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"rangeDef":2,"bonusAttack":9,"bonusStrength":15},"5566":{"name":"Ferocious barbarian spirit","hitpoints":190,"combatLevel":166,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"slashDef":73,"crushDef":72,"rangeDef":72,"bonusAttack":9,"bonusStrength":15},"5615":{"name":"Swamp snake","hitpoints":120,"combatLevel":80,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":70,"rangeLevel":30,"magicLevel":30},"5616":{"name":"Swamp snake","hitpoints":125,"combatLevel":109,"attackSpeed":4,"attackLevel":70,"strengthLevel":110,"defenceLevel":80,"rangeLevel":30,"magicLevel":30},"5617":{"name":"Swamp snake","hitpoints":130,"combatLevel":139,"attackSpeed":4,"attackLevel":90,"strengthLevel":170,"defenceLevel":90,"rangeLevel":30,"magicLevel":30},"5625":{"name":"Ghast","hitpoints":115,"combatLevel":79,"attackSpeed":8,"attackLevel":80,"strengthLevel":30,"defenceLevel":60,"rangeLevel":30,"magicLevel":30,"undead":true},"5626":{"name":"Ghast","hitpoints":135,"combatLevel":109,"attackSpeed":8,"attackLevel":110,"strengthLevel":70,"defenceLevel":70,"rangeLevel":30,"magicLevel":30,"undead":true},"5627":{"name":"Ghast","hitpoints":160,"combatLevel":139,"attackSpeed":8,"attackLevel":135,"strengthLevel":110,"defenceLevel":80,"rangeLevel":30,"magicLevel":30,"undead":true},"5628":{"name":"Giant snail","hitpoints":125,"combatLevel":80,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":60,"rangeLevel":70,"magicLevel":30},"5629":{"name":"Giant snail","hitpoints":150,"combatLevel":109,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":75,"rangeLevel":110,"magicLevel":30},"5630":{"name":"Giant snail","hitpoints":160,"combatLevel":139,"attackSpeed":4,"attackLevel":30,"strengthLevel":30,"defenceLevel":86,"rangeLevel":160,"magicLevel":30},"5633":{"name":"Shade","hitpoints":115,"combatLevel":140,"slayerLevel":1,"attackSpeed":6,"attackLevel":130,"strengthLevel":136,"defenceLevel":100,"rangeLevel":50,"magicLevel":50,"undead":true},"5634":{"name":"Vampyre Juvinate","hitpoints":50,"combatLevel":59,"attackSpeed":4,"attackLevel":95,"strengthLevel":16,"defenceLevel":45,"rangeLevel":50,"magicLevel":50},"5635":{"name":"Vampyre Juvinate","hitpoints":100,"combatLevel":90,"attackSpeed":4,"attackLevel":113,"strengthLevel":46,"defenceLevel":55,"rangeLevel":50,"magicLevel":50},"5636":{"name":"Vampyre Juvinate","hitpoints":150,"combatLevel":119,"attackSpeed":4,"attackLevel":127,"strengthLevel":76,"defenceLevel":65,"rangeLevel":50,"magicLevel":50},"5637":{"name":"Vampyre Juvinate","hitpoints":50,"combatLevel":59,"attackSpeed":4,"attackLevel":95,"strengthLevel":16,"defenceLevel":45,"rangeLevel":50,"magicLevel":50},"5638":{"name":"Vampyre Juvinate","hitpoints":100,"combatLevel":90,"attackSpeed":4,"attackLevel":113,"strengthLevel":46,"defenceLevel":55,"rangeLevel":50,"magicLevel":50},"5639":{"name":"Vampyre Juvinate","hitpoints":150,"combatLevel":119,"attackSpeed":4,"attackLevel":127,"strengthLevel":76,"defenceLevel":65,"rangeLevel":50,"magicLevel":50},"5640":{"name":"Feral Vampyre","hitpoints":75,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":46,"defenceLevel":30},"5641":{"name":"Feral Vampyre","hitpoints":135,"combatLevel":100,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":76,"defenceLevel":30},"5642":{"name":"Feral Vampyre","hitpoints":185,"combatLevel":130,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":116,"defenceLevel":30},"5643":{"name":"Tentacle","hitpoints":75,"combatLevel":99,"attackSpeed":6,"attackLevel":115,"strengthLevel":76,"defenceLevel":75,"rangeLevel":115,"magicLevel":50},"5644":{"name":"Head","hitpoints":150,"combatLevel":140,"attackSpeed":10,"attackLevel":73,"strengthLevel":186,"defenceLevel":75,"rangeLevel":50,"magicLevel":50},"5645":{"name":"Head","hitpoints":150,"combatLevel":140,"attackSpeed":10,"attackLevel":73,"strengthLevel":186,"defenceLevel":75,"rangeLevel":50,"magicLevel":50},"5646":{"name":"Tentacle","hitpoints":75,"combatLevel":99,"attackSpeed":6,"attackLevel":115,"strengthLevel":76,"defenceLevel":75,"rangeLevel":115,"magicLevel":50},"5647":{"name":"Zombie","hitpoints":20,"combatLevel":23,"slayerLevel":1,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"undead":true},"5648":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5649":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5650":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5651":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5652":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5653":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5654":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5655":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":30,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5656":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5657":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5658":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5659":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5660":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5661":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5662":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5663":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5665":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5666":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5667":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5668":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5669":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5670":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5671":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5672":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":101,"strengthLevel":6,"defenceLevel":12,"rangeLevel":1,"magicLevel":1,"undead":true},"5673":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5674":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5675":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5676":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5677":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5678":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5679":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5680":{"name":"Undead Lumberjack","hitpoints":13,"combatLevel":45,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"undead":true},"5681":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5682":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5683":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5684":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5685":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5686":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5687":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5688":{"name":"Undead Lumberjack","hitpoints":14,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":117,"strengthLevel":16,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"undead":true},"5689":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5690":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5691":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5692":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5693":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5694":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5695":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5696":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":55,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5697":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5698":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5699":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5700":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5701":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5702":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5703":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5704":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":137,"strengthLevel":26,"defenceLevel":16,"rangeLevel":1,"magicLevel":1,"undead":true},"5705":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5706":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5707":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5708":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5709":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5710":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5711":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5712":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":64,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5713":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5714":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5715":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5716":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5717":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5718":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5719":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5720":{"name":"Undead Lumberjack","hitpoints":12,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magicLevel":1,"undead":true},"5739":{"name":"Penance Fighter","hitpoints":28,"combatLevel":30,"attackSpeed":4},"5740":{"name":"Penance Fighter","hitpoints":29,"combatLevel":32,"attackSpeed":4},"5741":{"name":"Penance Fighter","hitpoints":32,"combatLevel":37,"attackSpeed":4},"5742":{"name":"Penance Fighter","hitpoints":37,"combatLevel":42,"attackSpeed":4},"5743":{"name":"Penance Fighter","hitpoints":38,"combatLevel":47,"attackSpeed":4},"5744":{"name":"Penance Fighter","hitpoints":49,"combatLevel":56,"attackSpeed":4},"5745":{"name":"Penance Fighter","hitpoints":50,"combatLevel":61,"attackSpeed":4},"5746":{"name":"Penance Fighter","hitpoints":55,"combatLevel":68,"attackSpeed":4},"5747":{"name":"Penance Fighter","hitpoints":56,"combatLevel":77,"attackSpeed":4},"5757":{"name":"Penance Ranger","hitpoints":20,"combatLevel":21,"attackSpeed":4},"5758":{"name":"Penance Ranger","hitpoints":29,"combatLevel":25,"attackSpeed":4},"5759":{"name":"Penance Ranger","hitpoints":32,"combatLevel":32,"attackSpeed":4},"5760":{"name":"Penance Ranger","hitpoints":34,"combatLevel":38,"attackSpeed":4},"5761":{"name":"Penance Ranger","hitpoints":41,"combatLevel":43,"attackSpeed":4},"5762":{"name":"Penance Ranger","hitpoints":50,"combatLevel":51,"attackSpeed":4},"5763":{"name":"Penance Ranger","hitpoints":50,"combatLevel":57,"attackSpeed":4},"5764":{"name":"Penance Ranger","hitpoints":55,"combatLevel":64,"attackSpeed":4},"5765":{"name":"Penance Ranger","hitpoints":58,"combatLevel":72,"attackSpeed":4},"5775":{"name":"Penance Queen","hitpoints":250,"combatLevel":209,"attackSpeed":4,"attackLevel":260,"strengthLevel":92,"defenceLevel":132,"rangeLevel":116,"magicLevel":1},"5776":{"name":"Queen spawn","hitpoints":45,"combatLevel":63,"attackSpeed":4,"attackLevel":60,"strengthLevel":62,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"venomImmune":true},"5779":{"name":"Giant Mole","hitpoints":200,"combatLevel":230,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":200,"stabDef":60,"slashDef":80,"crushDef":100,"rangeDef":60,"magicDef":80},"5816":{"name":"Yak","hitpoints":50,"combatLevel":22,"attackSpeed":4,"attackLevel":20,"strengthLevel":10,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true},"5822":{"name":"Ice Troll King","hitpoints":150,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":45,"rangeDef":2000,"magicDef":2000,"bonusAttack":60,"bonusStrength":60},"5823":{"name":"Ice troll runt","hitpoints":60,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5824":{"name":"Ice troll male","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5825":{"name":"Ice troll female","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5828":{"name":"Ice troll runt","hitpoints":60,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5829":{"name":"Ice troll male","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5830":{"name":"Ice troll female","hitpoints":80,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5831":{"name":"Ice troll grunt","hitpoints":80,"combatLevel":102,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":60,"crushDef":30,"bonusAttack":60,"bonusStrength":60},"5842":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"5848":{"name":"Tanglefoot","hitpoints":102,"combatLevel":111,"attackSpeed":4,"attackLevel":97,"strengthLevel":97,"defenceLevel":91,"rangeLevel":1,"magicLevel":1},"5853":{"name":"Baby tanglefoot","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":40,"strengthLevel":38,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"5854":{"name":"Baby tanglefoot","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":40,"strengthLevel":38,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"5862":{"name":"Cerberus","hitpoints":600,"combatLevel":318,"slayerLevel":91,"attackSpeed":6,"attackLevel":220,"strengthLevel":220,"defenceLevel":100,"rangeLevel":220,"magicLevel":220,"slash":50,"range":50,"magic":50,"stabDef":50,"slashDef":100,"crushDef":25,"rangeDef":100,"magicDef":100,"bonusAttack":50,"poisonImmune":true,"venomImmune":true},"5863":{"name":"Cerberus","hitpoints":600,"combatLevel":318,"slayerLevel":91,"attackSpeed":6,"attackLevel":220,"strengthLevel":220,"defenceLevel":100,"rangeLevel":220,"magicLevel":220,"slash":50,"range":50,"magic":50,"stabDef":50,"slashDef":100,"crushDef":25,"rangeDef":100,"magicDef":100,"bonusAttack":50,"poisonImmune":true,"venomImmune":true},"5866":{"name":"Cerberus","hitpoints":600,"combatLevel":318,"slayerLevel":91,"attackSpeed":6,"attackLevel":220,"strengthLevel":220,"defenceLevel":100,"rangeLevel":220,"magicLevel":220,"slash":50,"range":50,"magic":50,"stabDef":50,"slashDef":100,"crushDef":25,"rangeDef":100,"magicDef":100,"bonusAttack":50,"poisonImmune":true,"venomImmune":true},"5872":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"5873":{"name":"Baby dragon","hitpoints":50,"combatLevel":48,"slayerLevel":1,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"5874":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"5875":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"5876":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"5877":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"5878":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5879":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5880":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5881":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5882":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"5886":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5887":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5888":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5889":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5890":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5891":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5908":{"name":"Abyssal Sire","hitpoints":400,"combatLevel":350,"slayerLevel":85,"attackSpeed":7,"attackLevel":180,"strengthLevel":136,"defenceLevel":250,"rangeLevel":1,"magicLevel":200,"stabDef":40,"slashDef":60,"crushDef":50,"rangeDef":60,"magicDef":20,"bonusAttack":65,"demon":true},"5916":{"name":"Spawn","hitpoints":15,"combatLevel":60,"attackSpeed":4,"attackLevel":120,"strengthLevel":30,"defenceLevel":30,"rangeLevel":50,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"5917":{"name":"Spawn","hitpoints":15,"combatLevel":60,"attackSpeed":4,"attackLevel":120,"strengthLevel":30,"defenceLevel":30,"rangeLevel":50,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"5918":{"name":"Scion","hitpoints":50,"combatLevel":100,"attackSpeed":4,"attackLevel":120,"strengthLevel":90,"defenceLevel":80,"rangeLevel":100,"magicLevel":1,"range":30,"bonusAttack":30,"bonusRangeStrength":30,"poisonImmune":true,"venomImmune":true},"5935":{"name":"Sand Crab","hitpoints":60,"combatLevel":15,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5936":{"name":"Sandy rocks","hitpoints":60,"combatLevel":15,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"5938":{"name":"Wallasalki","hitpoints":120,"combatLevel":98,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":1,"magicLevel":100,"stabDef":100,"slashDef":150,"crushDef":175,"magicDef":250},"5939":{"name":"Wallasalki","hitpoints":120,"combatLevel":98,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":1,"magicLevel":100,"stabDef":100,"slashDef":150,"crushDef":175,"magicDef":250},"5940":{"name":"Giant Rock Crab","hitpoints":180,"combatLevel":137,"attackSpeed":4,"attackLevel":50,"strengthLevel":80,"defenceLevel":200,"rangeLevel":1,"magicLevel":1,"stabDef":225,"slashDef":200,"crushDef":175,"rangeDef":250},"5942":{"name":"Dagannoth","hitpoints":85,"combatLevel":88,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":75,"rangeLevel":100,"magicLevel":1,"slashDef":10,"crushDef":90,"rangeDef":150,"magicDef":200},"5943":{"name":"Dagannoth","hitpoints":95,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":78,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50},"5944":{"name":"Rock lobster","hitpoints":150,"combatLevel":127,"attackSpeed":2,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":50,"rangeDef":150,"magicDef":50},"5946":{"name":"Suspicious water","hitpoints":100,"combatLevel":34},"5947":{"name":"Spinolyp","hitpoints":100,"combatLevel":76,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":100,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":50,"magicDef":50},"5948":{"name":"Suspicious water","hitpoints":100,"combatLevel":34},"5961":{"name":"Spinolyp","hitpoints":100,"combatLevel":76,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":100,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":50,"magicDef":50},"5962":{"name":"Suspicious water","hitpoints":100,"combatLevel":34},"5963":{"name":"Spinolyp","hitpoints":100,"combatLevel":76,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":100,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":50,"magicDef":50},"5964":{"name":"Khazard trooper","hitpoints":22,"combatLevel":19,"attackSpeed":5,"attackLevel":17,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":22,"bonusAttack":9,"bonusStrength":5},"5965":{"name":"Khazard trooper","hitpoints":22,"combatLevel":19,"attackSpeed":5,"attackLevel":17,"strengthLevel":16,"defenceLevel":13,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":22,"bonusAttack":9,"bonusStrength":5},"5968":{"name":"Gnome","hitpoints":3,"combatLevel":3,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1,"bonusRangeStrength":2},"5969":{"name":"Gnome","hitpoints":3,"combatLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusRangeStrength":2},"5970":{"name":"Gnome","hitpoints":3,"combatLevel":3,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1,"bonusRangeStrength":2},"5971":{"name":"Mounted terrorbird gnome","hitpoints":55,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"5972":{"name":"Mounted terrorbird gnome","hitpoints":55,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"5973":{"name":"Mounted terrorbird gnome","hitpoints":55,"combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":25,"strengthLevel":25,"defenceLevel":25,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":10,"magicDef":15},"5977":{"name":"Justiciar Zachariah","hitpoints":320,"combatLevel":348,"attackSpeed":6,"attackLevel":500,"strengthLevel":250,"defenceLevel":100,"rangeLevel":1,"magicLevel":180,"magic":80,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusAttack":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"6046":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"6047":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"6048":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"6049":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"6050":{"name":"Black Guard Berserker","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"bonusAttack":55,"bonusStrength":55},"6051":{"name":"Black Guard Berserker","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"bonusAttack":55,"bonusStrength":55},"6052":{"name":"Black Guard Berserker","hitpoints":50,"combatLevel":66,"slayerLevel":1,"attackSpeed":3,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"bonusAttack":55,"bonusStrength":55},"6056":{"name":"Guard","hitpoints":50,"combatLevel":37,"attackSpeed":6,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":40,"magicLevel":1,"stabDef":18,"slashDef":23,"crushDef":27,"rangeDef":19,"magicDef":10,"bonusAttack":19,"bonusStrength":8,"bonusRangeStrength":8},"6065":{"name":"Tower Archer","hitpoints":30,"combatLevel":19,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":20,"magicLevel":1,"rangeDef":12,"magicDef":6,"bonusRangeStrength":16},"6066":{"name":"Tower Archer","hitpoints":50,"combatLevel":34,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":40,"magicLevel":1,"rangeDef":40,"magicDef":24,"bonusRangeStrength":22},"6067":{"name":"Tower Archer","hitpoints":70,"combatLevel":49,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":60,"magicLevel":1,"rangeDef":45,"magicDef":20,"bonusRangeStrength":31},"6068":{"name":"Tower Archer","hitpoints":90,"combatLevel":64,"attackSpeed":6,"attackLevel":10,"strengthLevel":10,"defenceLevel":10,"rangeLevel":80,"magicLevel":1,"rangeDef":66,"magicDef":34,"bonusRangeStrength":49},"6075":{"name":"Tortoise","hitpoints":100,"combatLevel":79,"attackSpeed":4,"attackLevel":15,"strengthLevel":90,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6076":{"name":"Tortoise","hitpoints":120,"combatLevel":92,"attackSpeed":4,"attackLevel":30,"strengthLevel":100,"defenceLevel":80,"rangeLevel":50,"magicLevel":50},"6077":{"name":"Gnome child","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6078":{"name":"Gnome child","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6079":{"name":"Gnome child","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6081":{"name":"Gnome guard","hitpoints":31,"combatLevel":23,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"bonusAttack":8,"bonusStrength":13},"6082":{"name":"Gnome guard","hitpoints":31,"combatLevel":23,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"bonusAttack":8,"bonusStrength":13},"6086":{"name":"Gnome woman","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6087":{"name":"Gnome woman","hitpoints":2,"combatLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6094":{"name":"Gnome","hitpoints":3,"combatLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusRangeStrength":2},"6095":{"name":"Gnome","hitpoints":3,"combatLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusRangeStrength":2},"6096":{"name":"Gnome","hitpoints":3,"combatLevel":1,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"bonusRangeStrength":2},"6097":{"name":"Gnome Archer","hitpoints":10,"combatLevel":5,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":6,"magicLevel":1},"6098":{"name":"Gnome Driver","hitpoints":10,"combatLevel":5,"attackSpeed":6,"attackLevel":3,"strengthLevel":5,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"6099":{"name":"Gnome Mage","hitpoints":10,"combatLevel":5,"attackSpeed":6,"attackLevel":3,"strengthLevel":1,"defenceLevel":1,"rangeLevel":5,"magicLevel":1},"6102":{"name":"Bush snake","hitpoints":25,"combatLevel":35,"attackSpeed":3,"attackLevel":25,"strengthLevel":25,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"6103":{"name":"Bush snake","hitpoints":25,"combatLevel":35,"attackSpeed":3,"attackLevel":25,"strengthLevel":25,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"6118":{"name":"Elvarg (hard)","hitpoints":240,"combatLevel":214,"slayerLevel":1,"attackSpeed":4,"attackLevel":210,"strengthLevel":210,"defenceLevel":70,"rangeLevel":1,"magicLevel":210,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30},"6119":{"name":"The Inadequacy (hard)","hitpoints":255,"combatLevel":600,"attackSpeed":4,"attackLevel":1128,"strengthLevel":340,"defenceLevel":240,"rangeLevel":340,"magicLevel":1},"6120":{"name":"The Everlasting (hard)","hitpoints":255,"combatLevel":365,"attackSpeed":6,"attackLevel":374,"strengthLevel":462,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"6121":{"name":"The Untouchable (hard)","hitpoints":180,"combatLevel":440,"attackSpeed":6,"attackLevel":374,"strengthLevel":510,"defenceLevel":434,"rangeLevel":1,"magicLevel":1},"6177":{"name":"Scion","hitpoints":50,"combatLevel":100,"attackSpeed":4,"attackLevel":120,"strengthLevel":90,"defenceLevel":80,"rangeLevel":100,"magicLevel":1,"range":30,"bonusAttack":30,"bonusRangeStrength":30,"poisonImmune":true,"venomImmune":true},"6267":{"name":"Jungle spider","hitpoints":50,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":37,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"6271":{"name":"Jungle spider","hitpoints":50,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":37,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"6272":{"name":"Large mosquito","hitpoints":3,"combatLevel":13,"attackSpeed":4,"attackLevel":5,"strengthLevel":1,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"6273":{"name":"Mosquito swarm","hitpoints":9,"combatLevel":17,"attackSpeed":3,"attackLevel":10,"strengthLevel":1,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"6291":{"name":"Tanglefoot (hard)","hitpoints":204,"combatLevel":199,"attackSpeed":4,"attackLevel":194,"strengthLevel":194,"defenceLevel":91,"rangeLevel":1,"magicLevel":1},"6292":{"name":"Chronozon (hard)","hitpoints":120,"combatLevel":297,"attackSpeed":4,"attackLevel":346,"strengthLevel":344,"defenceLevel":173,"rangeLevel":1,"magicLevel":1,"demon":true},"6293":{"name":"Bouncer (hard)","hitpoints":232,"combatLevel":244,"attackSpeed":4,"attackLevel":240,"strengthLevel":240,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"6294":{"name":"Ice Troll King (hard)","hitpoints":255,"combatLevel":213,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":45,"rangeDef":2000,"magicDef":2000,"bonusAttack":60,"bonusStrength":60},"6295":{"name":"Black demon (hard)","hitpoints":157,"combatLevel":292,"slayerLevel":1,"attackSpeed":4,"attackLevel":290,"strengthLevel":296,"defenceLevel":152,"rangeLevel":1,"magicLevel":1,"demon":true},"6297":{"name":"Glod (hard)","hitpoints":255,"combatLevel":276,"attackSpeed":4,"attackLevel":230,"strengthLevel":240,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":105,"slashDef":110,"crushDef":130,"rangeDef":100,"magicDef":125},"6298":{"name":"Treus Dayth (hard)","hitpoints":240,"combatLevel":194,"attackSpeed":4,"attackLevel":168,"strengthLevel":168,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5},"6299":{"name":"Black Knight Titan (hard)","hitpoints":255,"combatLevel":210,"attackSpeed":7,"attackLevel":182,"strengthLevel":200,"defenceLevel":91,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":27,"crushDef":18,"rangeDef":1000,"magicDef":1000,"bonusAttack":27,"bonusStrength":22},"6300":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6301":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6302":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6303":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6304":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6305":{"name":"Dagannoth mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6307":{"name":"Culinaromancer (hard)","hitpoints":255,"combatLevel":209,"attackSpeed":4,"attackLevel":10,"strengthLevel":400,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"6308":{"name":"Agrith-Na-Na (hard)","hitpoints":255,"combatLevel":235,"attackSpeed":4,"attackLevel":166,"strengthLevel":300,"defenceLevel":82,"rangeLevel":200,"magicLevel":200,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":100},"6309":{"name":"Flambeed (hard)","hitpoints":255,"combatLevel":238,"attackSpeed":4,"attackLevel":240,"strengthLevel":240,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":100},"6310":{"name":"Karamel (hard)","hitpoints":255,"combatLevel":186,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":200,"magicLevel":1,"stab":100,"slash":100,"crush":100,"range":268,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":150,"magicDef":150,"bonusRangeStrength":110},"6311":{"name":"Dessourt (hard)","hitpoints":255,"combatLevel":217,"attackSpeed":3,"attackLevel":198,"strengthLevel":198,"defenceLevel":198,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"6312":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6313":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6314":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6315":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6316":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6317":{"name":"Gelatinnoth Mother (hard)","hitpoints":240,"combatLevel":201,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":81,"rangeLevel":120,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6318":{"name":"Nezikchened (hard)","hitpoints":150,"combatLevel":295,"attackSpeed":5,"attackLevel":330,"strengthLevel":336,"defenceLevel":167,"rangeLevel":320,"magicLevel":320,"demon":true},"6319":{"name":"Tree spirit (hard)","hitpoints":187,"combatLevel":199,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":209,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6320":{"name":"Me (hard)","hitpoints":135,"combatLevel":201,"attackSpeed":4,"attackLevel":225,"strengthLevel":234,"defenceLevel":74,"rangeLevel":1,"magicLevel":1},"6321":{"name":"Jungle Demon (hard)","hitpoints":255,"combatLevel":327,"attackSpeed":6,"attackLevel":340,"strengthLevel":340,"defenceLevel":170,"rangeLevel":1,"magicLevel":340,"slashDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50,"demon":true},"6322":{"name":"The Kendal (hard)","hitpoints":150,"combatLevel":210,"attackSpeed":4,"attackLevel":195,"strengthLevel":195,"defenceLevel":60,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"bonusAttack":5,"bonusStrength":10},"6323":{"name":"Giant Roc (hard)","hitpoints":255,"combatLevel":257,"attackSpeed":6,"attackLevel":260,"strengthLevel":260,"defenceLevel":100,"rangeLevel":130,"magicLevel":1,"magicDef":150},"6324":{"name":"Slagilith (hard)","hitpoints":150,"combatLevel":202,"attackSpeed":4,"attackLevel":150,"strengthLevel":300,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":10},"6325":{"name":"Moss Guardian (hard)","hitpoints":240,"combatLevel":182,"attackSpeed":6,"attackLevel":165,"strengthLevel":165,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"bonusAttack":66,"bonusStrength":62},"6326":{"name":"Skeleton Hellhound (hard)","hitpoints":132,"combatLevel":198,"attackSpeed":4,"attackLevel":168,"strengthLevel":264,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"6327":{"name":"Agrith Naar (hard)","hitpoints":209,"combatLevel":196,"attackSpeed":4,"attackLevel":182,"strengthLevel":198,"defenceLevel":82,"rangeLevel":220,"magicLevel":220,"demon":true},"6328":{"name":"King Roald (hard)","hitpoints":150,"combatLevel":188,"attackSpeed":4,"attackLevel":140,"strengthLevel":120,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"6329":{"name":"Khazard warlord (hard)","hitpoints":255,"combatLevel":192,"attackSpeed":4,"attackLevel":165,"strengthLevel":170,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6330":{"name":"Dad (hard)","hitpoints":240,"combatLevel":201,"slayerLevel":1,"attackSpeed":8,"attackLevel":132,"strengthLevel":264,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"6331":{"name":"Arrg (hard)","hitpoints":255,"combatLevel":210,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":280,"defenceLevel":40,"rangeLevel":140,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"6332":{"name":"Count Draynor (hard)","hitpoints":210,"combatLevel":177,"slayerLevel":1,"attackSpeed":4,"attackLevel":198,"strengthLevel":165,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":1,"crushDef":3},"6333":{"name":"Witch's experiment (hard)","hitpoints":63,"combatLevel":47,"attackSpeed":4,"attackLevel":54,"strengthLevel":30,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"6334":{"name":"Witch's experiment (second form) (hard)","hitpoints":93,"combatLevel":77,"attackSpeed":4,"attackLevel":84,"strengthLevel":60,"defenceLevel":29,"rangeLevel":1,"magicLevel":1},"6335":{"name":"Witch's experiment (third form) (hard)","hitpoints":103,"combatLevel":90,"attackSpeed":4,"attackLevel":95,"strengthLevel":75,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"6336":{"name":"Witch's experiment (fourth form) (hard)","hitpoints":113,"combatLevel":103,"attackSpeed":4,"attackLevel":105,"strengthLevel":88,"defenceLevel":49,"rangeLevel":1,"magicLevel":1},"6337":{"name":"Nazastarool (hard)","hitpoints":154,"combatLevel":176,"slayerLevel":1,"attackSpeed":4,"attackLevel":187,"strengthLevel":176,"defenceLevel":80},"6338":{"name":"Nazastarool (hard)","hitpoints":180,"combatLevel":153,"slayerLevel":1,"attackSpeed":4,"attackLevel":150,"strengthLevel":140,"defenceLevel":58,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"magicDef":5,"bonusAttack":15,"bonusStrength":15},"6339":{"name":"Nazastarool (hard)","hitpoints":176,"combatLevel":181,"slayerLevel":1,"attackSpeed":4,"attackLevel":187,"strengthLevel":176,"defenceLevel":80},"6340":{"name":"Cow (hard)","hitpoints":160,"combatLevel":170,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6342":{"name":"Barrelchest","hitpoints":134,"combatLevel":190,"attackSpeed":5,"attackLevel":170,"strengthLevel":145,"defenceLevel":140,"rangeLevel":1,"magicLevel":90,"bonusAttack":80,"bonusStrength":80},"6343":{"name":"Giant scarab","hitpoints":130,"combatLevel":191,"slayerLevel":1,"attackSpeed":4,"attackLevel":169,"strengthLevel":190,"defenceLevel":169,"rangeLevel":190,"magicLevel":1,"stabDef":70,"slashDef":99,"crushDef":99,"rangeDef":149,"magicDef":159},"6344":{"name":"Dessous","hitpoints":200,"combatLevel":139,"slayerLevel":1,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"6345":{"name":"Kamil","hitpoints":130,"combatLevel":154,"slayerLevel":1,"attackSpeed":4,"attackLevel":190,"strengthLevel":80,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":60,"crushDef":35,"bonusAttack":60,"bonusStrength":100},"6346":{"name":"Damis","hitpoints":90,"combatLevel":103,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":90,"rangeLevel":1,"magicLevel":1,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":80},"6347":{"name":"Damis","hitpoints":200,"combatLevel":174,"attackSpeed":4,"attackLevel":160,"strengthLevel":100,"defenceLevel":160,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":120,"magicDef":80,"bonusStrength":100},"6348":{"name":"Fareed","hitpoints":130,"combatLevel":167,"attackSpeed":4,"attackLevel":190,"strengthLevel":120,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":100,"slashDef":100,"crushDef":100,"bonusStrength":120},"6349":{"name":"Elvarg","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":70,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30},"6350":{"name":"The Inadequacy","hitpoints":180,"combatLevel":343,"attackSpeed":4,"attackLevel":564,"strengthLevel":170,"defenceLevel":240,"rangeLevel":170,"magicLevel":1},"6351":{"name":"The Everlasting","hitpoints":230,"combatLevel":223,"attackSpeed":6,"attackLevel":187,"strengthLevel":231,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"6352":{"name":"The Untouchable","hitpoints":90,"combatLevel":274,"attackSpeed":6,"attackLevel":187,"strengthLevel":255,"defenceLevel":434,"rangeLevel":1,"magicLevel":1},"6353":{"name":"Tanglefoot","hitpoints":102,"combatLevel":111,"attackSpeed":4,"attackLevel":97,"strengthLevel":97,"defenceLevel":91,"rangeLevel":1,"magicLevel":1},"6354":{"name":"Chronozon","hitpoints":60,"combatLevel":170,"attackSpeed":4,"attackLevel":173,"strengthLevel":172,"defenceLevel":173,"rangeLevel":1,"magicLevel":1,"demon":true},"6355":{"name":"Bouncer","hitpoints":116,"combatLevel":137,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"6356":{"name":"Ice Troll King","hitpoints":150,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":45,"slashDef":45,"crushDef":45,"rangeDef":2000,"magicDef":2000,"bonusAttack":60,"bonusStrength":60},"6357":{"name":"Black demon","hitpoints":157,"combatLevel":172,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":152,"defenceLevel":148,"rangeLevel":1,"magicLevel":1,"demon":true},"6358":{"name":"Glod","hitpoints":160,"combatLevel":138,"attackSpeed":4,"attackLevel":115,"strengthLevel":120,"defenceLevel":110,"rangeLevel":1,"magicLevel":1,"stabDef":105,"slashDef":110,"crushDef":130,"rangeDef":100,"magicDef":125},"6359":{"name":"Treus Dayth","hitpoints":100,"combatLevel":95,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5},"6360":{"name":"Black Knight Titan","hitpoints":142,"combatLevel":120,"attackSpeed":7,"attackLevel":91,"strengthLevel":100,"defenceLevel":91,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":27,"crushDef":18,"rangeDef":1000,"magicDef":1000,"bonusAttack":27,"bonusStrength":22},"6361":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6362":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6363":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6364":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6365":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6366":{"name":"Dagannoth mother","hitpoints":120,"combatLevel":100,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6367":{"name":"Evil Chicken","hitpoints":120,"combatLevel":159,"attackSpeed":4,"defenceLevel":126,"magicLevel":200},"6368":{"name":"Culinaromancer","hitpoints":150,"combatLevel":75,"attackSpeed":4,"attackLevel":10,"strengthLevel":100,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"6369":{"name":"Agrith-Na-Na","hitpoints":200,"combatLevel":146,"attackSpeed":4,"attackLevel":83,"strengthLevel":150,"defenceLevel":82,"rangeLevel":100,"magicLevel":100,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":100},"6370":{"name":"Flambeed","hitpoints":210,"combatLevel":149,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":100},"6371":{"name":"Karamel","hitpoints":250,"combatLevel":136,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":100,"magicLevel":1,"stab":50,"slash":50,"crush":50,"range":134,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":150,"magicDef":150,"bonusRangeStrength":55},"6372":{"name":"Dessourt","hitpoints":130,"combatLevel":121,"attackSpeed":3,"attackLevel":99,"strengthLevel":99,"defenceLevel":99,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":150,"crushDef":150,"bonusAttack":50,"bonusStrength":50},"6373":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6374":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6375":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6376":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6377":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6378":{"name":"Gelatinnoth Mother","hitpoints":240,"combatLevel":130,"attackSpeed":4,"attackLevel":78,"strengthLevel":78,"defenceLevel":81,"rangeLevel":50,"magicLevel":1,"stabDef":150,"slashDef":150,"crushDef":150,"rangeDef":50,"magicDef":50},"6379":{"name":"Nezikchened","hitpoints":150,"combatLevel":187,"attackSpeed":5,"attackLevel":165,"strengthLevel":168,"defenceLevel":167,"rangeLevel":160,"magicLevel":160,"demon":true},"6380":{"name":"Tree spirit","hitpoints":85,"combatLevel":101,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":95,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6381":{"name":"Me","hitpoints":45,"combatLevel":79,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":74,"rangeLevel":1,"magicLevel":1},"6382":{"name":"Jungle Demon","hitpoints":170,"combatLevel":195,"attackSpeed":6,"attackLevel":170,"strengthLevel":170,"defenceLevel":170,"rangeLevel":1,"magicLevel":170,"slashDef":50,"magicDef":50,"bonusAttack":50,"bonusStrength":50,"demon":true},"6383":{"name":"The Kendal","hitpoints":50,"combatLevel":70,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":60,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":20,"bonusAttack":5,"bonusStrength":10},"6384":{"name":"Giant Roc","hitpoints":250,"combatLevel":172,"attackSpeed":6,"attackLevel":130,"strengthLevel":130,"defenceLevel":100,"rangeLevel":130,"magicLevel":1,"magicDef":150},"6385":{"name":"Slagilith","hitpoints":60,"combatLevel":92,"attackSpeed":4,"attackLevel":60,"strengthLevel":120,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":5,"rangeDef":50,"magicDef":5,"bonusAttack":10},"6386":{"name":"Moss Guardian","hitpoints":120,"combatLevel":84,"attackSpeed":6,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"bonusAttack":66,"bonusStrength":62},"6387":{"name":"Skeleton Hellhound","hitpoints":55,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":110,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"6388":{"name":"Agrith Naar","hitpoints":100,"combatLevel":100,"attackSpeed":4,"attackLevel":83,"strengthLevel":90,"defenceLevel":82,"rangeLevel":100,"magicLevel":100,"demon":true},"6389":{"name":"King Roald","hitpoints":75,"combatLevel":47,"attackSpeed":4,"attackLevel":35,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"6390":{"name":"Khazard warlord","hitpoints":170,"combatLevel":112,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"6391":{"name":"Dad","hitpoints":120,"combatLevel":101,"slayerLevel":1,"attackSpeed":8,"attackLevel":60,"strengthLevel":120,"defenceLevel":50,"stabDef":25,"slashDef":25,"crushDef":40,"rangeDef":200,"magicDef":200,"bonusAttack":40,"bonusStrength":70},"6392":{"name":"Arrg","hitpoints":140,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":140,"defenceLevel":40,"rangeLevel":70,"stabDef":35,"slashDef":60,"crushDef":35,"rangeDef":200,"magicDef":200,"bonusAttack":60,"bonusStrength":100},"6393":{"name":"Count Draynor","hitpoints":35,"combatLevel":34,"slayerLevel":1,"attackSpeed":4,"attackLevel":30,"strengthLevel":25,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":1,"crushDef":3},"6394":{"name":"Witch's experiment","hitpoints":21,"combatLevel":19,"attackSpeed":4,"attackLevel":18,"strengthLevel":10,"defenceLevel":19,"rangeLevel":1,"magicLevel":1},"6395":{"name":"Witch's experiment (second form)","hitpoints":31,"combatLevel":30,"attackSpeed":4,"attackLevel":28,"strengthLevel":20,"defenceLevel":29,"rangeLevel":1,"magicLevel":1},"6396":{"name":"Witch's experiment (third form)","hitpoints":41,"combatLevel":42,"attackSpeed":4,"attackLevel":38,"strengthLevel":30,"defenceLevel":39,"rangeLevel":1,"magicLevel":1},"6397":{"name":"Witch's experiment (fourth form)","hitpoints":51,"combatLevel":53,"attackSpeed":4,"attackLevel":48,"strengthLevel":40,"defenceLevel":49,"rangeLevel":1,"magicLevel":1},"6398":{"name":"Nazastarool","hitpoints":70,"combatLevel":91,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":80},"6399":{"name":"Nazastarool","hitpoints":70,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":58,"strengthLevel":54,"defenceLevel":58,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"magicDef":5,"bonusAttack":15,"bonusStrength":15},"6400":{"name":"Nazastarool","hitpoints":80,"combatLevel":93,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":80},"6401":{"name":"Cow","hitpoints":8,"combatLevel":2,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"6402":{"name":"Mosquito swarm","hitpoints":15,"combatLevel":20,"attackSpeed":3,"attackLevel":15,"strengthLevel":1,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":2,"slashDef":2,"crushDef":5,"magicDef":2},"6406":{"name":"Tribesman","hitpoints":39,"combatLevel":32,"attackSpeed":4,"attackLevel":23,"strengthLevel":27,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":6,"bonusAttack":8,"bonusStrength":5},"6407":{"name":"Tribesman","hitpoints":39,"combatLevel":32,"attackSpeed":4,"attackLevel":23,"strengthLevel":27,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":6,"crushDef":6,"bonusAttack":8,"bonusStrength":5},"6408":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6409":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6410":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6411":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6412":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6413":{"name":"Broodoo victim","hitpoints":100,"combatLevel":60,"attackSpeed":6,"defenceLevel":26,"rangeLevel":1,"magicLevel":60,"magic":25,"stabDef":20,"slashDef":20,"crushDef":20},"6434":{"name":"Cave goblin","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6435":{"name":"Cave goblin","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6436":{"name":"Cave goblin","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6437":{"name":"Cave goblin","hitpoints":10,"combatLevel":3,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6438":{"name":"Animated steel armour","hitpoints":50,"combatLevel":53,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":2,"rangeLevel":2,"magicLevel":2,"stabDef":50,"slashDef":25,"crushDef":25,"rangeDef":400,"magicDef":400,"bonusAttack":4,"bonusStrength":5,"poisonImmune":true,"venomImmune":true},"6440":{"name":"Giant skeleton","hitpoints":70,"combatLevel":80,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"undead":true},"6441":{"name":"Skeleton","hitpoints":85,"combatLevel":94,"slayerLevel":1,"attackSpeed":6,"attackLevel":70,"strengthLevel":80,"defenceLevel":60,"rangeLevel":1,"magicLevel":110,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":5,"undead":true},"6442":{"name":"Skeleton","hitpoints":80,"combatLevel":77,"slayerLevel":1,"attackLevel":72,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":5,"undead":true},"6443":{"name":"Skeleton","hitpoints":71,"combatLevel":81,"slayerLevel":1,"attackLevel":72,"strengthLevel":64,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"rangeDef":40,"undead":true},"6444":{"name":"Skeleton","hitpoints":40,"combatLevel":42,"slayerLevel":1,"attackLevel":40,"strengthLevel":30,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6445":{"name":"Skeleton","hitpoints":53,"combatLevel":59,"slayerLevel":1,"attackLevel":50,"strengthLevel":46,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6446":{"name":"Skeleton","hitpoints":42,"combatLevel":42,"slayerLevel":1,"attackLevel":36,"strengthLevel":38,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6447":{"name":"Skeleton","hitpoints":58,"combatLevel":63,"slayerLevel":1,"attackLevel":56,"strengthLevel":61,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6448":{"name":"Skeleton","hitpoints":26,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":33,"strengthLevel":31,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"undead":true},"6449":{"name":"Zombie","hitpoints":38,"combatLevel":40,"slayerLevel":1,"attackSpeed":4,"attackLevel":36,"strengthLevel":35,"defenceLevel":33,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6450":{"name":"Zombie","hitpoints":40,"combatLevel":42,"slayerLevel":1,"attackSpeed":4,"attackLevel":39,"strengthLevel":35,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6451":{"name":"Zombie","hitpoints":42,"combatLevel":47,"slayerLevel":1,"attackSpeed":4,"attackLevel":42,"strengthLevel":39,"defenceLevel":42,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6452":{"name":"Zombie","hitpoints":48,"combatLevel":50,"slayerLevel":1,"attackSpeed":4,"attackLevel":44,"strengthLevel":42,"defenceLevel":44,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6453":{"name":"Zombie","hitpoints":50,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6454":{"name":"Zombie","hitpoints":57,"combatLevel":61,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":55,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6455":{"name":"Zombie","hitpoints":63,"combatLevel":67,"slayerLevel":1,"attackSpeed":4,"attackLevel":56,"strengthLevel":58,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6456":{"name":"Zombie","hitpoints":65,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":61,"strengthLevel":60,"defenceLevel":61,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6457":{"name":"Zombie","hitpoints":68,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":61,"strengthLevel":63,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6458":{"name":"Zombie","hitpoints":71,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":69,"strengthLevel":65,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6459":{"name":"Zombie","hitpoints":73,"combatLevel":80,"slayerLevel":1,"attackSpeed":4,"attackLevel":72,"strengthLevel":73,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6460":{"name":"Zombie","hitpoints":75,"combatLevel":85,"slayerLevel":1,"attackSpeed":4,"attackLevel":71,"strengthLevel":81,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6461":{"name":"Zombie","hitpoints":76,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":74,"strengthLevel":80,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6462":{"name":"Zombie","hitpoints":81,"combatLevel":90,"slayerLevel":1,"attackSpeed":4,"attackLevel":82,"strengthLevel":80,"defenceLevel":72,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6463":{"name":"Zombie","hitpoints":92,"combatLevel":95,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":80,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6464":{"name":"Zombie","hitpoints":96,"combatLevel":98,"slayerLevel":1,"attackSpeed":4,"attackLevel":85,"strengthLevel":83,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6465":{"name":"Zombie","hitpoints":102,"combatLevel":100,"slayerLevel":1,"attackSpeed":4,"attackLevel":86,"strengthLevel":83,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6466":{"name":"Zombie","hitpoints":76,"combatLevel":81,"slayerLevel":1,"attackSpeed":4,"attackLevel":69,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"6467":{"name":"Skeleton","hitpoints":69,"combatLevel":72,"slayerLevel":1,"attackLevel":75,"strengthLevel":61,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":15,"undead":true},"6468":{"name":"Skeleton","hitpoints":92,"combatLevel":87,"slayerLevel":1,"attackLevel":75,"strengthLevel":80,"defenceLevel":55,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":40,"rangeDef":40,"bonusStrength":15,"undead":true},"6469":{"name":"Possessed pickaxe","hitpoints":40,"combatLevel":50,"attackSpeed":4,"attackLevel":40,"strengthLevel":55,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"6470":{"name":"Animated spade","hitpoints":40,"combatLevel":50,"attackSpeed":4,"attackLevel":40,"strengthLevel":55,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"6473":{"name":"Terror dog","hitpoints":87,"combatLevel":110,"slayerLevel":40,"attackSpeed":4,"attackLevel":110,"strengthLevel":104,"defenceLevel":78,"rangeLevel":1,"magicLevel":1,"bonusStrength":20},"6474":{"name":"Terror dog","hitpoints":82,"combatLevel":100,"slayerLevel":40,"attackSpeed":4,"attackLevel":100,"strengthLevel":90,"defenceLevel":74,"rangeLevel":1,"magicLevel":1,"bonusStrength":10},"6476":{"name":"Tarn","hitpoints":80,"combatLevel":69,"slayerLevel":40,"attackSpeed":4,"attackLevel":40,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50},"6477":{"name":"Mutant tarn","hitpoints":80,"combatLevel":69,"slayerLevel":40,"attackSpeed":4,"attackLevel":40,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50},"6492":{"name":"Kree'arra","hitpoints":255,"combatLevel":580,"slayerLevel":1,"attackSpeed":3,"attackLevel":300,"strengthLevel":200,"defenceLevel":260,"rangeLevel":380,"magicLevel":200,"range":120,"stabDef":180,"slashDef":180,"crushDef":180,"rangeDef":200,"magicDef":200,"bonusAttack":136,"bonusStrength":12,"bonusRangeStrength":50},"6493":{"name":"Commander Zilyana","hitpoints":255,"combatLevel":596,"slayerLevel":1,"attackSpeed":2,"attackLevel":280,"strengthLevel":196,"defenceLevel":300,"rangeLevel":250,"magicLevel":300,"magic":200,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":100,"bonusAttack":195,"bonusStrength":20,"poisonImmune":true,"venomImmune":true},"6494":{"name":"General Graardor","hitpoints":255,"combatLevel":624,"slayerLevel":1,"attackSpeed":6,"attackLevel":280,"strengthLevel":350,"defenceLevel":250,"rangeLevel":350,"magicLevel":80,"range":100,"stabDef":90,"slashDef":90,"crushDef":90,"rangeDef":90,"magicDef":298,"bonusAttack":120,"bonusStrength":43,"bonusRangeStrength":40,"poisonImmune":true,"venomImmune":true},"6495":{"name":"K'ril Tsutsaroth","hitpoints":255,"combatLevel":650,"slayerLevel":1,"attackSpeed":6,"attackLevel":340,"strengthLevel":300,"defenceLevel":270,"rangeLevel":1,"magicLevel":200,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":80,"magicDef":130,"bonusAttack":160,"bonusStrength":31,"demon":true},"6496":{"name":"Dagannoth Supreme","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":128,"rangeLevel":255,"magicLevel":255,"stabDef":10,"slashDef":10,"crushDef":10,"rangeDef":550,"magicDef":255},"6497":{"name":"Dagannoth Prime","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":255,"magicLevel":255,"stabDef":255,"slashDef":255,"crushDef":255,"rangeDef":10,"magicDef":255},"6498":{"name":"Dagannoth Rex","hitpoints":255,"combatLevel":303,"slayerLevel":1,"attackSpeed":4,"attackLevel":255,"strengthLevel":255,"defenceLevel":255,"rangeLevel":255,"stabDef":255,"slashDef":255,"crushDef":255,"rangeDef":255,"magicDef":10},"6499":{"name":"Giant Mole","hitpoints":200,"combatLevel":230,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":200,"stabDef":60,"slashDef":80,"crushDef":100,"rangeDef":60,"magicDef":80},"6500":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":100,"magicDef":100},"6501":{"name":"Kalphite Queen","hitpoints":255,"combatLevel":333,"slayerLevel":1,"attackSpeed":4,"attackLevel":300,"strengthLevel":300,"defenceLevel":300,"rangeLevel":1,"magicLevel":150,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":10,"magicDef":10},"6503":{"name":"Callisto","hitpoints":255,"combatLevel":470,"slayerLevel":1,"attackSpeed":4,"attackLevel":350,"strengthLevel":370,"defenceLevel":440,"rangeLevel":1,"magicLevel":1,"stabDef":135,"slashDef":104,"crushDef":175,"rangeDef":230,"magicDef":900,"poisonImmune":true,"venomImmune":true},"6504":{"name":"Venenatis","hitpoints":255,"combatLevel":464,"slayerLevel":1,"attackLevel":470,"strengthLevel":490,"defenceLevel":490,"rangeLevel":1,"magicLevel":150,"stabDef":260,"slashDef":260,"crushDef":260,"rangeDef":100,"magicDef":850,"poisonImmune":true,"venomImmune":true},"6505":{"name":"Chaos Elemental","hitpoints":250,"combatLevel":305,"slayerLevel":1,"attackSpeed":5,"attackLevel":270,"strengthLevel":270,"defenceLevel":270,"rangeLevel":270,"magicLevel":270,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":70,"magicDef":70},"6506":{"name":"TzTok-Jad","hitpoints":250,"combatLevel":702,"slayerLevel":1,"attackSpeed":8,"attackLevel":640,"strengthLevel":960,"defenceLevel":480,"rangeLevel":960,"magicLevel":480,"magic":60},"6574":{"name":"Gnome guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6575":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6576":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6579":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6580":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6581":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6582":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6583":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6587":{"name":"Armadylian guard","hitpoints":132,"combatLevel":97,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":82,"rangeLevel":90,"magicLevel":80,"magicDef":3},"6588":{"name":"Bandosian guard","hitpoints":130,"combatLevel":125,"attackSpeed":5,"attackLevel":110,"strengthLevel":115,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":12,"slashDef":14,"crushDef":13,"rangeDef":13,"magicDef":5,"bonusAttack":19,"bonusStrength":4},"6593":{"name":"Lava dragon","hitpoints":230,"combatLevel":252,"slayerLevel":1,"attackSpeed":4,"attackLevel":240,"strengthLevel":220,"defenceLevel":220,"rangeLevel":1,"magicLevel":1,"stabDef":70,"slashDef":90,"crushDef":90,"rangeDef":70,"magicDef":80,"dragon":true},"6594":{"name":"Ent","hitpoints":105,"combatLevel":101,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":95,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":30,"magicDef":40},"6596":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"6597":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"6598":{"name":"Zombie","hitpoints":24,"combatLevel":18,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"undead":true},"6600":{"name":"Runite Golem","hitpoints":170,"combatLevel":178,"attackSpeed":4,"attackLevel":140,"strengthLevel":150,"defenceLevel":165,"rangeLevel":1,"magicLevel":1},"6603":{"name":"Rogue","hitpoints":125,"combatLevel":135,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":140,"defenceLevel":150,"rangeLevel":1,"magicLevel":1},"6604":{"name":"Mammoth","hitpoints":130,"combatLevel":80,"slayerLevel":1,"attackSpeed":4,"attackLevel":55,"strengthLevel":60,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"6605":{"name":"Bandit","hitpoints":155,"combatLevel":130,"slayerLevel":1,"attackSpeed":4,"attackLevel":57,"strengthLevel":57,"defenceLevel":57,"rangeLevel":1,"magicLevel":1,"stab":57,"slashDef":23,"crushDef":22,"bonusStrength":52},"6606":{"name":"Dark warrior","hitpoints":165,"combatLevel":145,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":55,"rangeLevel":1,"magicLevel":1,"stabDef":106,"slashDef":109,"crushDef":139,"bonusAttack":80,"bonusStrength":76},"6607":{"name":"Elder Chaos druid","hitpoints":150,"combatLevel":129,"slayerLevel":1,"attackSpeed":4,"attackLevel":98,"strengthLevel":65,"defenceLevel":98,"rangeLevel":1,"magicLevel":110},"6608":{"name":"Ankou","hitpoints":70,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"undead":true},"6609":{"name":"Callisto","hitpoints":255,"combatLevel":470,"slayerLevel":1,"attackSpeed":4,"attackLevel":350,"strengthLevel":370,"defenceLevel":440,"rangeLevel":1,"magicLevel":1,"stabDef":135,"slashDef":104,"crushDef":175,"rangeDef":230,"magicDef":900,"poisonImmune":true,"venomImmune":true},"6610":{"name":"Venenatis","hitpoints":255,"combatLevel":464,"slayerLevel":1,"attackLevel":470,"strengthLevel":490,"defenceLevel":490,"rangeLevel":1,"magicLevel":150,"stabDef":260,"slashDef":260,"crushDef":260,"rangeDef":100,"magicDef":850,"poisonImmune":true,"venomImmune":true},"6611":{"name":"Vet'ion","hitpoints":255,"combatLevel":454,"slayerLevel":1,"attackSpeed":4,"attackLevel":430,"strengthLevel":430,"defenceLevel":395,"rangeLevel":1,"magicLevel":300,"stabDef":201,"slashDef":200,"rangeDef":270,"magicDef":250,"undead":true},"6612":{"name":"Vet'ion Reborn","hitpoints":255,"combatLevel":454,"slayerLevel":1,"attackSpeed":4,"attackLevel":430,"strengthLevel":430,"defenceLevel":395,"rangeLevel":1,"magicLevel":300,"stabDef":201,"slashDef":200,"rangeDef":270,"magicDef":250,"undead":true},"6613":{"name":"Skeleton Hellhound","hitpoints":110,"combatLevel":214,"slayerLevel":1,"attackSpeed":4,"attackLevel":210,"strengthLevel":250,"defenceLevel":150,"rangeLevel":1,"magicLevel":1,"stabDef":101,"slashDef":103,"crushDef":10,"rangeDef":266,"magicDef":180,"undead":true},"6614":{"name":"Greater Skeleton Hellhound","hitpoints":190,"combatLevel":281,"slayerLevel":1,"attackSpeed":4,"attackLevel":240,"strengthLevel":310,"defenceLevel":220,"rangeLevel":1,"magicLevel":1,"stabDef":150,"slashDef":163,"crushDef":20,"rangeDef":275,"magicDef":210,"undead":true},"6615":{"name":"Scorpia","hitpoints":200,"combatLevel":225,"slayerLevel":1,"attackSpeed":4,"attackLevel":250,"strengthLevel":150,"defenceLevel":180,"rangeLevel":1,"magicLevel":1,"stabDef":246,"slashDef":284,"crushDef":284,"rangeDef":284,"magicDef":44,"bonusAttack":60},"6616":{"name":"Scorpia's offspring","hitpoints":2,"combatLevel":15,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":30,"magicLevel":1,"range":900},"6617":{"name":"Scorpia's guardian","hitpoints":70,"combatLevel":47,"slayerLevel":1,"attackLevel":1,"strengthLevel":1,"defenceLevel":60,"rangeLevel":30,"magicLevel":30},"6618":{"name":"Crazy archaeologist","hitpoints":225,"combatLevel":204,"slayerLevel":1,"attackSpeed":3,"attackLevel":160,"strengthLevel":90,"defenceLevel":240,"rangeLevel":180,"magicLevel":1,"range":75,"stabDef":5,"slashDef":5,"crushDef":30,"rangeDef":250,"magicDef":250,"bonusAttack":250,"bonusStrength":25},"6619":{"name":"Chaos Fanatic","hitpoints":225,"combatLevel":202,"slayerLevel":1,"attackSpeed":2,"attackLevel":1,"strengthLevel":1,"defenceLevel":220,"rangeLevel":1,"magicLevel":200,"range":75,"stabDef":260,"slashDef":260,"crushDef":250,"rangeDef":80,"magicDef":280},"6624":{"name":"Energy sprite","hitpoints":62},"6698":{"name":"Ghost guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6699":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6700":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6701":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6702":{"name":"Guard","hitpoints":800,"combatLevel":1337,"attackSpeed":4,"attackLevel":800,"strengthLevel":400,"defenceLevel":300,"rangeLevel":1,"magicLevel":1,"stabDef":8,"slashDef":9,"crushDef":7,"rangeDef":8,"bonusAttack":60,"bonusStrength":7},"6716":{"name":"Chaotic death spawn","hitpoints":50,"combatLevel":215,"attackSpeed":3,"attackLevel":380,"strengthLevel":1,"defenceLevel":70,"rangeLevel":380,"magicLevel":380,"demon":true},"6723":{"name":"Chaotic death spawn","hitpoints":50,"combatLevel":215,"attackSpeed":3,"attackLevel":380,"strengthLevel":1,"defenceLevel":70,"rangeLevel":380,"magicLevel":380,"demon":true},"6725":{"name":"Rock Golem","combatLevel":14,"attackSpeed":4},"6726":{"name":"Rock Golem","combatLevel":29,"attackSpeed":4},"6727":{"name":"Rock Golem","combatLevel":49,"attackSpeed":4},"6728":{"name":"Rock Golem","hitpoints":86,"combatLevel":79,"attackSpeed":4},"6729":{"name":"Rock Golem","hitpoints":120,"combatLevel":120,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":75,"magicLevel":1},"6730":{"name":"Rock Golem","hitpoints":170,"combatLevel":159,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":80,"magicLevel":1},"6732":{"name":"River troll","combatLevel":14,"slayerLevel":1,"attackSpeed":4,"attackLevel":17,"strengthLevel":17,"defenceLevel":17,"rangeLevel":1,"magicLevel":1},"6733":{"name":"River troll","combatLevel":29,"slayerLevel":1,"attackSpeed":4,"attackLevel":32,"strengthLevel":32,"defenceLevel":32,"rangeLevel":1,"magicLevel":1},"6734":{"name":"River troll","combatLevel":49,"slayerLevel":1,"attackSpeed":4,"attackLevel":48,"strengthLevel":48,"defenceLevel":48,"rangeLevel":1,"magicLevel":1},"6735":{"name":"River troll","hitpoints":85,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1},"6736":{"name":"River troll","hitpoints":120,"combatLevel":120,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"6737":{"name":"River troll","hitpoints":170,"combatLevel":159,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1},"6739":{"name":"Evil Chicken","hitpoints":120,"combatLevel":159,"attackSpeed":4,"defenceLevel":126,"magicLevel":200},"6740":{"name":"Shade","hitpoints":170,"combatLevel":159,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"undead":true},"6741":{"name":"Zombie","hitpoints":170,"combatLevel":159,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"undead":true},"6766":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"6767":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"6794":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"6805":{"name":"Kruk","hitpoints":210,"combatLevel":149,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":150,"rangeLevel":170,"magicLevel":130,"range":150,"stabDef":100,"slashDef":100,"crushDef":100,"rangeDef":100,"magicDef":250,"bonusAttack":160,"bonusStrength":90,"bonusRangeStrength":70},"6813":{"name":"Monkey Archer","hitpoints":50,"combatLevel":86,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":110,"magicLevel":1},"6815":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6816":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6817":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6818":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6819":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6820":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6821":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6822":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"6824":{"name":"Giant bat","hitpoints":32,"combatLevel":27,"slayerLevel":1,"attackSpeed":4,"attackLevel":22,"strengthLevel":22,"defenceLevel":22,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":12,"rangeDef":8,"magicDef":10},"6896":{"name":"Gangster","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"crushDef":10,"bonusAttack":20,"bonusStrength":30},"6897":{"name":"Gangster","hitpoints":40,"combatLevel":45,"attackSpeed":4,"attackLevel":40,"strengthLevel":30,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"crushDef":10,"bonusAttack":20,"bonusStrength":30},"6898":{"name":"Gangster","hitpoints":50,"combatLevel":50,"attackSpeed":5,"attackLevel":50,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"crushDef":10,"bonusAttack":35,"bonusStrength":15},"6899":{"name":"Gangster","hitpoints":50,"combatLevel":50,"attackSpeed":5,"attackLevel":50,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"crushDef":10,"bonusAttack":35,"bonusStrength":15},"6900":{"name":"Gang boss","hitpoints":80,"combatLevel":83,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":80,"magicLevel":1,"range":50,"crushDef":10},"6901":{"name":"Gang boss","hitpoints":80,"combatLevel":83,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":80,"magicLevel":1,"range":50,"crushDef":10},"6902":{"name":"Gang boss","hitpoints":80,"combatLevel":76,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":80,"magicLevel":1,"range":50,"crushDef":10},"6903":{"name":"Gang boss","hitpoints":80,"combatLevel":76,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":70,"rangeLevel":80,"magicLevel":1,"range":50,"crushDef":10},"6904":{"name":"Soldier (tier 1)","hitpoints":50,"combatLevel":39,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":11,"poisonImmune":true,"venomImmune":true},"6905":{"name":"Soldier (tier 1)","hitpoints":50,"combatLevel":39,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":12,"bonusStrength":11,"poisonImmune":true,"venomImmune":true},"6906":{"name":"Soldier (tier 2)","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusAttack":25,"bonusStrength":30,"poisonImmune":true,"venomImmune":true},"6907":{"name":"Soldier (tier 2)","hitpoints":50,"combatLevel":48,"attackSpeed":4,"attackLevel":40,"strengthLevel":40,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"bonusAttack":25,"bonusStrength":30,"poisonImmune":true,"venomImmune":true},"6908":{"name":"Soldier (tier 3)","hitpoints":55,"combatLevel":58,"attackSpeed":5,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"bonusAttack":20,"bonusStrength":8,"poisonImmune":true,"venomImmune":true},"6909":{"name":"Soldier (tier 3)","hitpoints":55,"combatLevel":58,"attackSpeed":5,"attackLevel":50,"strengthLevel":50,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"bonusAttack":20,"bonusStrength":8,"poisonImmune":true,"venomImmune":true},"6910":{"name":"Soldier (tier 4)","hitpoints":65,"combatLevel":70,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"bonusAttack":10,"bonusStrength":8,"poisonImmune":true,"venomImmune":true},"6911":{"name":"Soldier (tier 4)","hitpoints":65,"combatLevel":70,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stabDef":1,"slashDef":1,"bonusAttack":10,"bonusStrength":8,"poisonImmune":true,"venomImmune":true},"6912":{"name":"Soldier (tier 5)","hitpoints":90,"combatLevel":99,"attackSpeed":4,"attackLevel":85,"strengthLevel":85,"defenceLevel":86,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":5,"poisonImmune":true,"venomImmune":true},"6913":{"name":"Soldier (tier 5)","hitpoints":90,"combatLevel":99,"attackSpeed":4,"attackLevel":85,"strengthLevel":85,"defenceLevel":86,"rangeLevel":1,"magicLevel":1,"bonusAttack":5,"bonusStrength":5,"poisonImmune":true,"venomImmune":true},"6914":{"name":"Lizardman","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":43,"magicLevel":1,"range":22,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"6915":{"name":"Lizardman","hitpoints":60,"combatLevel":53,"slayerLevel":1,"attackSpeed":4,"attackLevel":43,"strengthLevel":43,"defenceLevel":43,"rangeLevel":43,"magicLevel":1,"range":22,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"6916":{"name":"Lizardman","hitpoints":60,"combatLevel":62,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":53,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"range":28,"slashDef":20,"crushDef":5,"bonusAttack":28,"bonusStrength":25,"bonusRangeStrength":25},"6917":{"name":"Lizardman","hitpoints":60,"combatLevel":62,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":53,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"range":28,"slashDef":20,"crushDef":5,"bonusAttack":28,"bonusStrength":25,"bonusRangeStrength":25},"6918":{"name":"Lizardman brute","hitpoints":60,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"range":34,"slashDef":30,"crushDef":10,"bonusAttack":34,"bonusStrength":30,"bonusRangeStrength":30},"6919":{"name":"Lizardman brute","hitpoints":60,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"range":34,"slashDef":30,"crushDef":10,"bonusAttack":34,"bonusStrength":30,"bonusRangeStrength":30},"6956":{"name":"Monk","hitpoints":5,"combatLevel":3,"attackSpeed":4,"attackLevel":2,"strengthLevel":2,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"6987":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6988":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6989":{"name":"Man","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6990":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6991":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6992":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"6996":{"name":"Mugger","hitpoints":8,"combatLevel":6,"attackSpeed":4,"attackLevel":5,"strengthLevel":5,"defenceLevel":5,"rangeLevel":1,"magicLevel":1},"7016":{"name":"Kourend guard","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":19,"strengthLevel":18,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"stab":4},"7017":{"name":"Kourend head guard","hitpoints":86,"combatLevel":84,"attackSpeed":4,"attackLevel":75,"strengthLevel":73,"defenceLevel":61,"rangeLevel":1,"magicLevel":1,"stabDef":16,"slashDef":16,"crushDef":18,"rangeDef":27,"bonusAttack":17,"bonusStrength":15},"7018":{"name":"Reanimated goblin","hitpoints":5,"attackSpeed":4},"7019":{"name":"Reanimated monkey","hitpoints":5,"attackSpeed":4},"7020":{"name":"Reanimated imp","hitpoints":5,"attackSpeed":4},"7021":{"name":"Reanimated minotaur","hitpoints":10,"attackSpeed":4},"7022":{"name":"Reanimated scorpion","hitpoints":15,"attackSpeed":4},"7023":{"name":"Reanimated bear","hitpoints":15,"attackSpeed":4},"7024":{"name":"Reanimated unicorn","hitpoints":15,"attackSpeed":4},"7025":{"name":"Reanimated dog","hitpoints":35,"attackSpeed":4},"7026":{"name":"Reanimated chaos druid","hitpoints":35,"attackSpeed":4},"7027":{"name":"Reanimated giant","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7028":{"name":"Reanimated ogre","hitpoints":35,"attackSpeed":5},"7029":{"name":"Reanimated elf","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7030":{"name":"Reanimated troll","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7031":{"name":"Reanimated horror","hitpoints":35,"slayerLevel":58,"attackSpeed":4},"7032":{"name":"Reanimated kalphite","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7033":{"name":"Reanimated dagannoth","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7034":{"name":"Reanimated bloodveld","hitpoints":35,"slayerLevel":50,"attackSpeed":4},"7035":{"name":"Reanimated TzHaar","hitpoints":35,"attackSpeed":5},"7036":{"name":"Reanimated demon","hitpoints":35,"attackSpeed":4},"7037":{"name":"Reanimated aviansie","hitpoints":35,"slayerLevel":1,"attackSpeed":4},"7038":{"name":"Reanimated abyssal","hitpoints":35,"slayerLevel":85,"attackSpeed":4},"7039":{"name":"Reanimated dragon","hitpoints":35,"attackSpeed":4,"dragon":true},"7095":{"name":"Tortured gorilla","hitpoints":110,"combatLevel":142,"slayerLevel":1,"attackSpeed":4,"attackLevel":180,"strengthLevel":90,"defenceLevel":110,"rangeLevel":1,"magicLevel":110,"bonusAttack":90,"bonusStrength":123},"7096":{"name":"Tortured gorilla","hitpoints":110,"combatLevel":142,"slayerLevel":1,"attackSpeed":4,"attackLevel":180,"strengthLevel":90,"defenceLevel":110,"rangeLevel":1,"magicLevel":110,"bonusAttack":90,"bonusStrength":123},"7097":{"name":"Tortured gorilla","hitpoints":110,"combatLevel":142,"slayerLevel":1,"attackSpeed":4,"attackLevel":180,"strengthLevel":90,"defenceLevel":110,"rangeLevel":1,"magicLevel":110,"bonusAttack":90,"bonusStrength":123},"7101":{"name":"Glough","hitpoints":575,"combatLevel":378,"attackSpeed":6,"attackLevel":260,"strengthLevel":270,"defenceLevel":248,"rangeLevel":262,"magicLevel":250,"range":100,"magic":80,"bonusAttack":122,"bonusStrength":75,"bonusRangeStrength":40,"bonusMagicDamage":40},"7102":{"name":"Glough","hitpoints":575,"combatLevel":378,"attackSpeed":6,"attackLevel":260,"strengthLevel":270,"defenceLevel":248,"rangeLevel":262,"magicLevel":250,"range":100,"magic":80,"bonusAttack":122,"bonusStrength":75,"bonusRangeStrength":40,"bonusMagicDamage":40},"7103":{"name":"Glough","hitpoints":575,"combatLevel":378,"attackSpeed":6,"attackLevel":260,"strengthLevel":270,"defenceLevel":248,"rangeLevel":262,"magicLevel":250,"range":100,"magic":80,"bonusAttack":122,"bonusStrength":75,"bonusRangeStrength":40,"bonusMagicDamage":40},"7104":{"name":"Keef","hitpoints":180,"combatLevel":178,"attackSpeed":5,"attackLevel":165,"strengthLevel":120,"defenceLevel":165,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"bonusAttack":190,"bonusStrength":170},"7105":{"name":"Keef","hitpoints":180,"combatLevel":178,"attackSpeed":5,"attackLevel":165,"strengthLevel":120,"defenceLevel":165,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"bonusAttack":190,"bonusStrength":170},"7106":{"name":"Kob","hitpoints":200,"combatLevel":185,"attackSpeed":5,"attackLevel":180,"strengthLevel":175,"defenceLevel":80,"stabDef":85,"slashDef":85,"crushDef":90,"rangeDef":200,"magicDef":200,"bonusAttack":200,"bonusStrength":135,"poisonImmune":true,"venomImmune":true},"7107":{"name":"Kob","hitpoints":200,"combatLevel":185,"attackSpeed":5,"attackLevel":180,"strengthLevel":175,"defenceLevel":80,"stabDef":85,"slashDef":85,"crushDef":90,"rangeDef":200,"magicDef":200,"bonusAttack":200,"bonusStrength":135,"poisonImmune":true,"venomImmune":true},"7118":{"name":"Maniacal monkey","hitpoints":65,"combatLevel":140,"attackSpeed":4,"attackLevel":200,"strengthLevel":175,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"7119":{"name":"Maniacal Monkey Archer","hitpoints":60,"combatLevel":132,"attackSpeed":4,"attackLevel":120,"strengthLevel":80,"defenceLevel":80,"rangeLevel":200,"magicLevel":1},"7144":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7145":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7146":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7147":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7148":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7149":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7150":{"name":"Tortured gorilla","hitpoints":210,"combatLevel":141,"slayerLevel":1,"attackSpeed":5,"attackLevel":105,"strengthLevel":95,"defenceLevel":95,"rangeLevel":95,"magicLevel":95,"range":22,"magic":20,"magicDef":25,"bonusAttack":22,"bonusStrength":16,"bonusRangeStrength":16,"bonusMagicDamage":16},"7151":{"name":"Tortured gorilla","hitpoints":210,"combatLevel":141,"slayerLevel":1,"attackSpeed":5,"attackLevel":105,"strengthLevel":95,"defenceLevel":95,"rangeLevel":95,"magicLevel":95,"range":22,"magic":20,"magicDef":25,"bonusAttack":22,"bonusStrength":16,"bonusRangeStrength":16,"bonusMagicDamage":16},"7152":{"name":"Demonic gorilla","hitpoints":380,"combatLevel":275,"slayerLevel":1,"attackSpeed":5,"attackLevel":205,"strengthLevel":195,"defenceLevel":200,"rangeLevel":195,"magicLevel":195,"range":43,"magic":40,"magicDef":50,"bonusAttack":43,"bonusStrength":29,"bonusRangeStrength":29,"demon":true},"7153":{"name":"Tortured gorilla","hitpoints":210,"combatLevel":141,"slayerLevel":1,"attackSpeed":5,"attackLevel":105,"strengthLevel":95,"defenceLevel":95,"rangeLevel":95,"magicLevel":95,"range":22,"magic":20,"magicDef":25,"bonusAttack":22,"bonusStrength":16,"bonusRangeStrength":16,"bonusMagicDamage":16},"7206":{"name":"Sand Crab","hitpoints":60,"combatLevel":15,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7207":{"name":"Sandy rocks","hitpoints":60,"combatLevel":15,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7209":{"name":"Guard dog","hitpoints":49,"combatLevel":44,"slayerLevel":1,"attackSpeed":4,"attackLevel":35,"strengthLevel":36,"defenceLevel":37,"rangeLevel":1,"magicLevel":1},"7234":{"name":"Ent","hitpoints":75,"combatLevel":86,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":30,"magicDef":40,"bonusAttack":35,"bonusStrength":65},"7238":{"name":"Forester","hitpoints":17,"combatLevel":15,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":8,"rangeLevel":1,"magicLevel":1,"stabDef":4,"slashDef":3,"crushDef":5},"7241":{"name":"Abyssal demon","hitpoints":150,"combatLevel":124,"slayerLevel":85,"attackSpeed":4,"attackLevel":97,"strengthLevel":67,"defenceLevel":135,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"demon":true},"7242":{"name":"Black demon","hitpoints":170,"combatLevel":184,"slayerLevel":1,"attackSpeed":4,"attackLevel":155,"strengthLevel":158,"defenceLevel":162,"rangeLevel":1,"magicLevel":1,"demon":true},"7243":{"name":"Black demon","hitpoints":160,"combatLevel":178,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":148,"defenceLevel":175,"rangeLevel":1,"magicLevel":1,"demon":true},"7244":{"name":"Greater demon","hitpoints":120,"combatLevel":101,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":90,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"demon":true},"7245":{"name":"Greater demon","hitpoints":115,"combatLevel":100,"slayerLevel":1,"attackSpeed":4,"attackLevel":90,"strengthLevel":70,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"demon":true},"7246":{"name":"Greater demon","hitpoints":130,"combatLevel":113,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":90,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"demon":true},"7247":{"name":"Lesser demon","hitpoints":87,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7248":{"name":"Lesser demon","hitpoints":98,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":85,"rangeLevel":1,"magicLevel":1,"demon":true},"7249":{"name":"Dust devil","hitpoints":130,"combatLevel":110,"slayerLevel":65,"attackSpeed":4,"attackLevel":120,"strengthLevel":90,"defenceLevel":40,"rangeLevel":1,"magicLevel":1},"7250":{"name":"Dark beast","hitpoints":220,"combatLevel":182,"slayerLevel":90,"attackSpeed":4,"attackLevel":140,"strengthLevel":160,"defenceLevel":120,"rangeLevel":1,"magicLevel":160,"stabDef":30,"slashDef":40,"crushDef":100,"rangeDef":100,"magicDef":90},"7251":{"name":"Fire giant","hitpoints":150,"combatLevel":109,"slayerLevel":1,"attackSpeed":5,"attackLevel":90,"strengthLevel":80,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"7252":{"name":"Fire giant","hitpoints":130,"combatLevel":104,"slayerLevel":1,"attackSpeed":5,"attackLevel":65,"strengthLevel":65,"defenceLevel":120,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":10,"crushDef":10,"magicDef":50,"bonusAttack":50,"bonusStrength":20},"7253":{"name":"Bronze dragon","hitpoints":122,"combatLevel":143,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":112,"rangeLevel":1,"magicLevel":130,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"7254":{"name":"Iron dragon","hitpoints":195,"combatLevel":215,"slayerLevel":1,"attackSpeed":4,"attackLevel":185,"strengthLevel":185,"defenceLevel":185,"rangeLevel":1,"magicLevel":120,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"7255":{"name":"Steel dragon","hitpoints":250,"combatLevel":274,"slayerLevel":1,"attackSpeed":4,"attackLevel":235,"strengthLevel":235,"defenceLevel":235,"rangeLevel":1,"magicLevel":130,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"7256":{"name":"Hellhound","hitpoints":116,"combatLevel":122,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":104,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"7257":{"name":"Ankou","hitpoints":60,"combatLevel":95,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":1,"undead":true},"7258":{"name":"Shade","hitpoints":115,"combatLevel":140,"slayerLevel":1,"attackSpeed":6,"attackLevel":130,"strengthLevel":136,"defenceLevel":100,"rangeLevel":50,"magicLevel":50,"undead":true},"7259":{"name":"Dagannoth","hitpoints":70,"combatLevel":74,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":50,"rangeLevel":1,"magicLevel":1},"7260":{"name":"Dagannoth","hitpoints":120,"combatLevel":92,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1},"7261":{"name":"Hill Giant","hitpoints":35,"combatLevel":28,"slayerLevel":1,"attackSpeed":4,"attackLevel":18,"strengthLevel":22,"defenceLevel":26,"rangeLevel":1,"magicLevel":1,"bonusAttack":18,"bonusStrength":16},"7262":{"name":"Moss giant","hitpoints":60,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":30,"strengthLevel":30,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"bonusAttack":33,"bonusStrength":31},"7263":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"7264":{"name":"Ghost","hitpoints":25,"combatLevel":19,"slayerLevel":1,"attackSpeed":4,"attackLevel":13,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"crushDef":5,"rangeDef":5,"undead":true},"7265":{"name":"Skeleton","hitpoints":29,"combatLevel":22,"slayerLevel":1,"attackSpeed":4,"attackLevel":15,"strengthLevel":18,"defenceLevel":17,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":5,"rangeDef":5,"undead":true},"7266":{"name":"King Sand Crab","hitpoints":200,"combatLevel":107,"attackSpeed":6,"attackLevel":50,"strengthLevel":50,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"7267":{"name":"Sandy Boulder","hitpoints":200,"combatLevel":107,"attackSpeed":6,"attackLevel":50,"strengthLevel":50,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"7268":{"name":"Possessed pickaxe","hitpoints":40,"combatLevel":50,"attackSpeed":4,"attackLevel":40,"strengthLevel":55,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"7269":{"name":"Magic axe","hitpoints":45,"combatLevel":42,"slayerLevel":1,"attackSpeed":6,"attackLevel":38,"strengthLevel":38,"defenceLevel":29,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":5,"crushDef":15,"rangeDef":10,"magicDef":5},"7270":{"name":"Cyclops","hitpoints":100,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"7271":{"name":"Cyclops","hitpoints":75,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":35,"rangeLevel":1,"magicLevel":1},"7272":{"name":"Twisted Banshee","hitpoints":109,"combatLevel":89,"slayerLevel":15,"attackSpeed":4,"attackLevel":75,"strengthLevel":85,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":15,"crushDef":15,"rangeDef":15,"undead":true},"7273":{"name":"Brutal blue dragon","hitpoints":245,"combatLevel":271,"slayerLevel":1,"attackSpeed":4,"attackLevel":298,"strengthLevel":198,"defenceLevel":198,"magicLevel":198,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"7274":{"name":"Brutal red dragon","hitpoints":285,"combatLevel":289,"slayerLevel":1,"attackSpeed":4,"attackLevel":310,"strengthLevel":210,"defenceLevel":198,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"7275":{"name":"Brutal black dragon","hitpoints":315,"combatLevel":318,"slayerLevel":77,"attackSpeed":4,"attackLevel":330,"strengthLevel":210,"defenceLevel":258,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"bonusStrength":20,"poisonImmune":true,"venomImmune":true,"dragon":true},"7276":{"name":"Mutated Bloodveld","hitpoints":170,"combatLevel":123,"slayerLevel":50,"attackSpeed":4,"attackLevel":110,"strengthLevel":115,"defenceLevel":30,"rangeLevel":1,"magicLevel":1},"7277":{"name":"Warped Jelly","hitpoints":140,"combatLevel":112,"slayerLevel":52,"attackSpeed":4,"attackLevel":95,"strengthLevel":90,"defenceLevel":70,"rangeLevel":1,"magicLevel":95},"7278":{"name":"Greater Nechryael","hitpoints":205,"combatLevel":200,"slayerLevel":80,"attackSpeed":4,"attackLevel":197,"strengthLevel":197,"defenceLevel":85,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"demon":true},"7279":{"name":"Deviant spectre","hitpoints":190,"combatLevel":169,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":90,"rangeLevel":1,"magicLevel":205,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":85,"undead":true},"7286":{"name":"Skotizo","hitpoints":450,"combatLevel":321,"slayerLevel":1,"attackSpeed":6,"attackLevel":240,"strengthLevel":250,"defenceLevel":200,"rangeLevel":1,"magicLevel":280,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":130,"magicDef":130,"bonusAttack":160,"bonusStrength":31,"poisonImmune":true,"venomImmune":true,"demon":true},"7287":{"name":"Reanimated demon spawn","hitpoints":85,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7288":{"name":"Awakened Altar","hitpoints":100,"demon":true},"7290":{"name":"Awakened Altar","hitpoints":100,"demon":true},"7292":{"name":"Awakened Altar","hitpoints":100,"demon":true},"7294":{"name":"Awakened Altar","hitpoints":100,"demon":true},"7296":{"name":"Dark Ankou","hitpoints":60,"combatLevel":95,"slayerLevel":1,"attackSpeed":4,"attackLevel":100,"strengthLevel":70,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"7307":{"name":"Ancient Wizard","hitpoints":80,"combatLevel":98,"attackSpeed":4,"attackLevel":50,"strengthLevel":30,"defenceLevel":20,"rangeLevel":1,"magicLevel":150},"7308":{"name":"Ancient Wizard","hitpoints":80,"combatLevel":98,"attackSpeed":4,"attackLevel":50,"strengthLevel":30,"defenceLevel":20,"rangeLevel":150,"magicLevel":80,"bonusRangeStrength":30},"7309":{"name":"Ancient Wizard","hitpoints":80,"combatLevel":112,"attackSpeed":4,"attackLevel":120,"strengthLevel":150,"defenceLevel":20,"rangeLevel":1,"magicLevel":80,"bonusAttack":80,"bonusStrength":80},"7310":{"name":"Brassican Mage","hitpoints":150,"combatLevel":140,"attackSpeed":3,"attackLevel":80,"strengthLevel":70,"defenceLevel":80,"rangeLevel":140,"magicLevel":170},"7312":{"name":"Double agent","hitpoints":160,"combatLevel":141,"attackSpeed":4,"attackLevel":130,"strengthLevel":105,"defenceLevel":100,"rangeLevel":1,"magicLevel":95,"stabDef":20,"slashDef":20,"crushDef":20,"bonusAttack":40,"bonusStrength":40},"7322":{"name":"Wild dog","hitpoints":62,"combatLevel":63,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1},"7388":{"name":"Crushing hand","hitpoints":55,"combatLevel":45,"slayerLevel":5,"attackSpeed":4,"attackLevel":45,"strengthLevel":42,"defenceLevel":14,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"undead":true},"7389":{"name":"Chasm Crawler","hitpoints":64,"combatLevel":68,"slayerLevel":10,"attackSpeed":4,"attackLevel":22,"strengthLevel":18,"defenceLevel":18,"rangeLevel":1,"magicLevel":1,"stabDef":10,"slashDef":10,"crushDef":5,"rangeDef":10,"magicDef":5},"7390":{"name":"Screaming banshee","hitpoints":61,"combatLevel":70,"slayerLevel":15,"attackSpeed":4,"attackLevel":65,"strengthLevel":61,"defenceLevel":56,"rangeLevel":1,"magicLevel":1,"stabDef":13,"slashDef":13,"crushDef":13,"rangeDef":13,"poisonImmune":true,"venomImmune":true,"undead":true},"7391":{"name":"Screaming twisted banshee","hitpoints":220,"combatLevel":144,"slayerLevel":15,"attackSpeed":4,"attackLevel":103,"strengthLevel":110,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":25,"crushDef":25,"rangeDef":25,"poisonImmune":true,"venomImmune":true,"undead":true},"7392":{"name":"Giant rockslug","hitpoints":77,"combatLevel":86,"slayerLevel":20,"attackSpeed":6,"attackLevel":72,"strengthLevel":77,"defenceLevel":77,"rangeLevel":1,"magicLevel":1},"7393":{"name":"Cockathrice","hitpoints":95,"combatLevel":89,"slayerLevel":25,"attackSpeed":4,"attackLevel":63,"strengthLevel":78,"defenceLevel":78,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"magicDef":20,"poisonImmune":true,"venomImmune":true},"7394":{"name":"Flaming pyrelord","hitpoints":126,"combatLevel":97,"slayerLevel":30,"attackSpeed":4,"attackLevel":98,"strengthLevel":65,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"stabDef":18,"slashDef":18,"crushDef":18,"rangeDef":18,"poisonImmune":true,"venomImmune":true},"7395":{"name":"Monstrous basilisk","hitpoints":170,"combatLevel":135,"slayerLevel":40,"attackSpeed":4,"attackLevel":88,"strengthLevel":98,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"magicDef":35,"poisonImmune":true,"venomImmune":true},"7396":{"name":"Malevolent Mage","hitpoints":175,"combatLevel":162,"slayerLevel":45,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":135,"rangeLevel":1,"magicLevel":175,"poisonImmune":true,"venomImmune":true},"7397":{"name":"Insatiable Bloodveld","hitpoints":380,"combatLevel":202,"slayerLevel":50,"attackSpeed":4,"attackLevel":190,"strengthLevel":145,"defenceLevel":85,"rangeLevel":1,"magicLevel":1,"venomImmune":true},"7398":{"name":"Insatiable mutated Bloodveld","hitpoints":410,"combatLevel":278,"slayerLevel":50,"attackSpeed":4,"attackLevel":250,"strengthLevel":190,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"venomImmune":true},"7399":{"name":"Vitreous Jelly","hitpoints":190,"combatLevel":206,"slayerLevel":52,"attackSpeed":4,"attackLevel":170,"strengthLevel":150,"defenceLevel":220,"rangeLevel":1,"magicLevel":150},"7400":{"name":"Vitreous warped Jelly","hitpoints":220,"combatLevel":241,"slayerLevel":52,"attackSpeed":4,"attackLevel":200,"strengthLevel":180,"defenceLevel":250,"rangeLevel":1,"magicLevel":180},"7401":{"name":"Cave abomination","hitpoints":130,"combatLevel":206,"slayerLevel":58,"attackLevel":230,"strengthLevel":195,"defenceLevel":142,"rangeLevel":1,"magicLevel":230},"7402":{"name":"Abhorrent spectre","hitpoints":250,"combatLevel":253,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":180,"rangeLevel":1,"magicLevel":300,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":30,"venomImmune":true,"undead":true},"7403":{"name":"Repugnant spectre","hitpoints":390,"combatLevel":335,"slayerLevel":60,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":220,"rangeLevel":1,"magicLevel":380,"stabDef":120,"slashDef":120,"crushDef":120,"rangeDef":115,"venomImmune":true,"undead":true},"7404":{"name":"Choke devil","hitpoints":300,"combatLevel":264,"slayerLevel":65,"attackSpeed":4,"attackLevel":260,"strengthLevel":230,"defenceLevel":120,"rangeLevel":1,"magicLevel":1},"7405":{"name":"King kurask","hitpoints":420,"combatLevel":295,"slayerLevel":70,"attackSpeed":4,"attackLevel":190,"strengthLevel":320,"defenceLevel":250,"rangeLevel":1,"magicLevel":1,"slashDef":50,"crushDef":50,"poisonImmune":true,"venomImmune":true},"7406":{"name":"Nuclear smoke devil","hitpoints":240,"combatLevel":280,"slayerLevel":93,"attackSpeed":4,"attackLevel":240,"strengthLevel":230,"defenceLevel":390,"rangeLevel":280,"magicLevel":1,"rangeDef":80,"magicDef":850,"poisonImmune":true,"venomImmune":true},"7407":{"name":"Marble gargoyle","hitpoints":270,"combatLevel":349,"slayerLevel":75,"attackSpeed":4,"attackLevel":230,"strengthLevel":250,"defenceLevel":190,"rangeLevel":220,"magicLevel":1,"stabDef":50,"slashDef":50,"rangeDef":50,"magicDef":50,"bonusRangeStrength":20,"venomImmune":true},"7408":{"name":"Marble gargoyle","hitpoints":270,"combatLevel":349,"slayerLevel":75,"attackSpeed":4,"attackLevel":230,"strengthLevel":250,"defenceLevel":190,"rangeLevel":220,"magicLevel":1,"stabDef":50,"slashDef":50,"rangeDef":50,"magicDef":50,"bonusRangeStrength":20,"venomImmune":true},"7409":{"name":"Night beast","hitpoints":550,"combatLevel":374,"slayerLevel":90,"attackSpeed":4,"attackLevel":270,"strengthLevel":290,"defenceLevel":220,"rangeLevel":1,"magicLevel":300,"stabDef":75,"slashDef":80,"crushDef":200,"rangeDef":200,"magicDef":190,"venomImmune":true},"7410":{"name":"Greater abyssal demon","hitpoints":400,"combatLevel":342,"slayerLevel":85,"attackSpeed":4,"attackLevel":300,"strengthLevel":260,"defenceLevel":240,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"venomImmune":true,"demon":true},"7411":{"name":"Nechryarch","hitpoints":320,"combatLevel":300,"slayerLevel":80,"attackSpeed":4,"attackLevel":310,"strengthLevel":260,"defenceLevel":140,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":30,"demon":true},"7416":{"name":"Obor","hitpoints":120,"combatLevel":106,"slayerLevel":1,"attackSpeed":6,"attackLevel":90,"strengthLevel":100,"defenceLevel":60,"rangeLevel":120,"magicLevel":1,"range":100,"stabDef":35,"slashDef":40,"crushDef":45,"rangeDef":20,"magicDef":20,"bonusAttack":100,"bonusStrength":68,"bonusRangeStrength":65},"7418":{"name":"Zamorak warrior","hitpoints":50,"combatLevel":84,"attackSpeed":4,"attackLevel":85,"strengthLevel":70,"defenceLevel":90,"rangeLevel":1,"magicLevel":1},"7419":{"name":"Zamorak warrior","hitpoints":50,"combatLevel":85,"attackSpeed":4,"attackLevel":90,"strengthLevel":70,"defenceLevel":90,"rangeLevel":1,"magicLevel":1},"7420":{"name":"Zamorak ranger","hitpoints":50,"combatLevel":81,"attackSpeed":4,"attackLevel":75,"strengthLevel":75,"defenceLevel":80,"rangeLevel":80,"magicLevel":1},"7421":{"name":"Zamorak ranger","hitpoints":50,"combatLevel":82,"attackSpeed":4,"attackLevel":75,"strengthLevel":80,"defenceLevel":80,"rangeLevel":80,"magicLevel":1},"7422":{"name":"Zamorak mage","hitpoints":50,"combatLevel":84,"attackSpeed":4,"attackLevel":78,"strengthLevel":81,"defenceLevel":82,"rangeLevel":1,"magicLevel":85},"7423":{"name":"Zamorak mage","hitpoints":50,"combatLevel":82,"attackSpeed":4,"attackLevel":75,"strengthLevel":80,"defenceLevel":80,"rangeLevel":1,"magicLevel":85},"7424":{"name":"Cave lizard","hitpoints":20,"combatLevel":37,"attackSpeed":4,"attackLevel":38,"strengthLevel":36,"defenceLevel":35,"rangeLevel":1,"magicLevel":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"7426":{"name":"Zamorak crafter","hitpoints":25,"combatLevel":19,"attackSpeed":4,"attackLevel":15,"strengthLevel":15,"defenceLevel":12,"rangeLevel":1,"magicLevel":20},"7427":{"name":"Zamorak crafter","hitpoints":25,"combatLevel":19,"attackSpeed":4,"attackLevel":15,"strengthLevel":15,"defenceLevel":12,"rangeLevel":1,"magicLevel":20},"7485":{"name":"Zombie","hitpoints":65,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":61,"strengthLevel":60,"defenceLevel":61,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"7486":{"name":"Zombie","hitpoints":50,"combatLevel":56,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":47,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"7487":{"name":"Zombie","hitpoints":71,"combatLevel":76,"slayerLevel":1,"attackSpeed":4,"attackLevel":69,"strengthLevel":65,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"7488":{"name":"Zombie","hitpoints":68,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":61,"strengthLevel":63,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"rangeDef":10,"bonusStrength":10,"undead":true},"7513":{"name":"Derwen","hitpoints":320,"combatLevel":235,"attackSpeed":6,"attackLevel":250,"strengthLevel":150,"defenceLevel":100,"rangeLevel":1,"magicLevel":80,"magic":180,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7515":{"name":"Porazdir","hitpoints":320,"combatLevel":235,"slayerLevel":1,"attackSpeed":6,"attackLevel":250,"strengthLevel":150,"defenceLevel":100,"rangeLevel":1,"magicLevel":180,"magic":80,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7527":{"name":"Vanguard","hitpoints":225,"attackSpeed":4,"attackLevel":225,"strengthLevel":225,"defenceLevel":315,"rangeLevel":225,"magicLevel":225,"stabDef":65,"slashDef":80,"crushDef":100,"rangeDef":400,"magicDef":80,"bonusAttack":20,"bonusStrength":10},"7528":{"name":"Vanguard","hitpoints":225,"attackSpeed":4,"attackLevel":225,"strengthLevel":225,"defenceLevel":315,"rangeLevel":225,"magicLevel":225,"range":40,"stabDef":55,"slashDef":60,"crushDef":100,"rangeDef":300,"magicDef":400,"bonusRangeStrength":25},"7529":{"name":"Vanguard","hitpoints":225,"attackSpeed":4,"attackLevel":225,"strengthLevel":225,"defenceLevel":315,"rangeLevel":225,"magicLevel":225,"magic":40,"stabDef":315,"slashDef":340,"crushDef":400,"rangeDef":50,"magicDef":110,"bonusMagicDamage":25},"7530":{"name":"Vespula","hitpoints":200,"attackSpeed":3,"rangeDef":60,"magicDef":70},"7531":{"name":"Vespula","hitpoints":200,"attackSpeed":3,"rangeDef":60,"magicDef":70},"7532":{"name":"Vespula","hitpoints":200,"attackSpeed":3,"rangeDef":60,"magicDef":70},"7533":{"name":"Abyssal portal","hitpoints":250,"attackSpeed":2,"attackLevel":1,"strengthLevel":1,"rangeLevel":1,"rangeDef":140,"magicDef":60},"7538":{"name":"Vespine soldier","hitpoints":100,"attackSpeed":4,"rangeLevel":1,"magicDef":30},"7539":{"name":"Vespine soldier","hitpoints":100,"attackSpeed":4,"rangeLevel":1,"magicDef":30},"7540":{"name":"Tekton","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":155,"slashDef":165,"crushDef":105,"bonusAttack":64,"bonusStrength":20},"7541":{"name":"Tekton","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":155,"slashDef":165,"crushDef":105,"bonusAttack":64,"bonusStrength":20},"7542":{"name":"Tekton","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":155,"slashDef":165,"crushDef":105,"bonusAttack":64,"bonusStrength":20},"7543":{"name":"Tekton (enraged)","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":280,"slashDef":290,"crushDef":180,"bonusAttack":64,"bonusStrength":30},"7544":{"name":"Tekton (enraged)","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":280,"slashDef":290,"crushDef":180,"bonusAttack":64,"bonusStrength":30},"7545":{"name":"Tekton","hitpoints":300,"attackSpeed":3,"attackLevel":390,"strengthLevel":390,"defenceLevel":205,"rangeLevel":1,"magicLevel":205,"stabDef":155,"slashDef":165,"crushDef":105,"bonusAttack":64,"bonusStrength":20},"7548":{"name":"Scavenger beast","hitpoints":30,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":45,"rangeLevel":1,"magicLevel":1},"7549":{"name":"Scavenger beast","hitpoints":45,"attackSpeed":4,"attackLevel":180,"strengthLevel":180,"defenceLevel":67,"rangeLevel":1,"magicLevel":1},"7550":{"name":"Great Olm (Right claw)","hitpoints":600,"combatLevel":549,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":175,"rangeLevel":250,"magicLevel":87,"range":60,"magic":60,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"magicDef":50},"7551":{"name":"Great Olm","hitpoints":800,"combatLevel":1043,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250,"range":60,"magic":60,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":50,"magicDef":200},"7552":{"name":"Great Olm (Left claw)","hitpoints":600,"combatLevel":750,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":175,"rangeLevel":250,"magicLevel":175,"range":60,"magic":60,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50},"7553":{"name":"Great Olm (Right claw)","hitpoints":600,"combatLevel":549,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":175,"rangeLevel":250,"magicLevel":87,"range":60,"magic":60,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"magicDef":50},"7554":{"name":"Great Olm","hitpoints":800,"combatLevel":1043,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250,"range":60,"magic":60,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":50,"magicDef":200},"7555":{"name":"Great Olm (Left claw)","hitpoints":600,"combatLevel":750,"attackSpeed":4,"attackLevel":250,"strengthLevel":250,"defenceLevel":175,"rangeLevel":250,"magicLevel":175,"range":60,"magic":60,"stabDef":50,"slashDef":50,"crushDef":50,"rangeDef":50,"magicDef":50},"7559":{"name":"Deathly ranger","hitpoints":120,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"range":120,"bonusRangeStrength":70},"7560":{"name":"Deathly mage","hitpoints":120,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"rangeLevel":1,"magic":120},"7561":{"name":"Muttadile","hitpoints":250,"attackSpeed":4},"7562":{"name":"Muttadile","hitpoints":250,"attackSpeed":4},"7563":{"name":"Muttadile","hitpoints":250,"attackSpeed":4},"7566":{"name":"Vasa Nistirio","hitpoints":300,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"range":100,"stabDef":170,"slashDef":190,"crushDef":50,"rangeDef":60,"magicDef":400},"7567":{"name":"Vasa Nistirio","hitpoints":300,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"range":100,"stabDef":170,"slashDef":190,"crushDef":50,"rangeDef":60,"magicDef":400},"7568":{"name":"Glowing crystal","hitpoints":120,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"rangeLevel":1,"slashDef":180,"crushDef":180},"7573":{"name":"Lizardman shaman","hitpoints":190,"slayerLevel":1,"attackSpeed":4,"range":56,"stabDef":102,"slashDef":160,"crushDef":150,"magicDef":160,"bonusAttack":58,"bonusStrength":52,"bonusRangeStrength":49},"7574":{"name":"Lizardman shaman","hitpoints":190,"slayerLevel":1,"attackSpeed":4,"range":56,"stabDef":102,"slashDef":160,"crushDef":150,"magicDef":160,"bonusAttack":58,"bonusStrength":52,"bonusRangeStrength":49},"7584":{"name":"Ice demon","hitpoints":140,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":160,"rangeLevel":390,"magicLevel":390,"stabDef":70,"slashDef":70,"crushDef":110,"rangeDef":140,"magicDef":60,"demon":true},"7585":{"name":"Ice demon","hitpoints":210,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":240,"rangeLevel":585,"magicLevel":585,"stabDef":70,"slashDef":70,"crushDef":110,"rangeDef":140,"magicDef":60,"demon":true},"7604":{"name":"Skeletal Mystic","hitpoints":160,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magic":40,"stabDef":155,"slashDef":155,"crushDef":115,"rangeDef":115,"magicDef":140,"bonusAttack":85,"bonusStrength":50,"bonusMagicDamage":38},"7605":{"name":"Skeletal Mystic","hitpoints":160,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magic":40,"stabDef":155,"slashDef":155,"crushDef":115,"rangeDef":115,"magicDef":140,"bonusAttack":85,"bonusStrength":50,"bonusMagicDamage":38},"7606":{"name":"Skeletal Mystic","hitpoints":160,"slayerLevel":1,"attackSpeed":4,"rangeLevel":1,"magic":40,"stabDef":155,"slashDef":155,"crushDef":115,"rangeDef":115,"magicDef":140,"bonusAttack":85,"bonusStrength":50,"bonusMagicDamage":38},"7620":{"name":"Temple guardian","hitpoints":45,"combatLevel":30,"slayerLevel":1,"attackSpeed":6,"attackLevel":20,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7621":{"name":"Khazard warlord","hitpoints":170,"combatLevel":112,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"7622":{"name":"Khazard warlord","hitpoints":170,"combatLevel":112,"attackSpeed":4,"attackLevel":75,"strengthLevel":78,"defenceLevel":80,"rangeLevel":1,"magicLevel":1},"7649":{"name":"Chaotic death spawn","hitpoints":50,"combatLevel":215,"attackSpeed":3,"attackLevel":380,"strengthLevel":1,"defenceLevel":70,"rangeLevel":380,"magicLevel":380,"demon":true},"7656":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7657":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7658":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7659":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7660":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7661":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7662":{"name":"Mummy","hitpoints":68,"combatLevel":84,"attackSpeed":4,"undead":true},"7664":{"name":"Lesser demon","hitpoints":81,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7679":{"name":"TzHaar-Ket","hitpoints":200,"combatLevel":221,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":180,"defenceLevel":190,"rangeLevel":1,"magicLevel":40},"7682":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7683":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7684":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7685":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7686":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7687":{"name":"TzHaar-Hur","hitpoints":80,"combatLevel":74,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":80},"7691":{"name":"Jal-Nib","hitpoints":10,"combatLevel":32,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":15,"rangeLevel":1,"magicLevel":15},"7692":{"name":"Jal-MejRah","hitpoints":25,"combatLevel":85,"slayerLevel":1,"attackSpeed":3,"defenceLevel":55,"rangeLevel":120,"magicLevel":120,"range":30,"stabDef":30,"slashDef":30,"crushDef":30,"rangeDef":45,"bonusRangeStrength":30},"7693":{"name":"Jal-Ak","hitpoints":40,"combatLevel":165,"slayerLevel":1,"attackSpeed":6,"attackLevel":160,"strengthLevel":160,"defenceLevel":95,"rangeLevel":160,"magicLevel":160,"stab":45,"slash":45,"crush":45,"range":45,"magic":45,"stabDef":25,"slashDef":25,"crushDef":25,"rangeDef":25,"magicDef":25,"bonusStrength":45,"bonusRangeStrength":45},"7694":{"name":"Jal-AkRek-Mej","hitpoints":15,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":95,"rangeLevel":1,"magicLevel":120,"magic":25,"magicDef":25},"7695":{"name":"Jal-AkRek-Xil","hitpoints":15,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":95,"rangeLevel":120,"magicLevel":1,"range":25,"rangeDef":25,"bonusRangeStrength":25},"7696":{"name":"Jal-AkRek-Ket","hitpoints":15,"combatLevel":70,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stab":25,"slash":25,"crush":25,"stabDef":25,"slashDef":25,"crushDef":25,"bonusStrength":25},"7697":{"name":"Jal-ImKot","hitpoints":75,"combatLevel":240,"slayerLevel":1,"attackSpeed":4,"attackLevel":210,"strengthLevel":290,"defenceLevel":120,"rangeLevel":220,"magicLevel":120,"stab":40,"slash":40,"crush":40,"stabDef":65,"slashDef":65,"crushDef":65,"rangeDef":50,"magicDef":30,"bonusStrength":40},"7698":{"name":"Jal-Xil","hitpoints":130,"combatLevel":370,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":180,"defenceLevel":60,"rangeLevel":250,"magicLevel":90,"range":40,"bonusRangeStrength":50},"7699":{"name":"Jal-Zek","hitpoints":220,"combatLevel":490,"slayerLevel":1,"attackSpeed":4,"attackLevel":370,"strengthLevel":510,"defenceLevel":260,"rangeLevel":510,"magicLevel":300,"magic":80},"7700":{"name":"JalTok-Jad","hitpoints":350,"combatLevel":900,"slayerLevel":1,"attackSpeed":8,"attackLevel":750,"strengthLevel":1020,"defenceLevel":480,"rangeLevel":1020,"magicLevel":510,"stab":80,"slash":80,"crush":80,"range":80,"magic":100,"bonusMagicDamage":75},"7701":{"name":"Yt-HurKot","hitpoints":90,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":125,"defenceLevel":100,"rangeLevel":150,"magicLevel":150,"range":80,"magic":100,"rangeDef":130,"magicDef":130},"7702":{"name":"Jal-Xil","hitpoints":130,"combatLevel":370,"slayerLevel":1,"attackSpeed":4,"attackLevel":140,"strengthLevel":180,"defenceLevel":60,"rangeLevel":250,"magicLevel":90,"range":40,"bonusRangeStrength":50},"7703":{"name":"Jal-Zek","hitpoints":220,"combatLevel":490,"slayerLevel":1,"attackSpeed":4,"attackLevel":370,"strengthLevel":510,"defenceLevel":260,"rangeLevel":510,"magicLevel":300,"magic":80},"7704":{"name":"JalTok-Jad","hitpoints":350,"combatLevel":900,"slayerLevel":1,"attackSpeed":8,"attackLevel":750,"strengthLevel":1020,"defenceLevel":480,"rangeLevel":1020,"magicLevel":510,"stab":80,"slash":80,"crush":80,"range":80,"magic":100,"bonusMagicDamage":75},"7705":{"name":"Yt-HurKot","hitpoints":90,"combatLevel":141,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":125,"defenceLevel":100,"rangeLevel":150,"magicLevel":150,"range":80,"magic":100,"rangeDef":130,"magicDef":130},"7706":{"name":"TzKal-Zuk","hitpoints":1200,"combatLevel":1400,"slayerLevel":1,"attackSpeed":4,"attackLevel":350,"strengthLevel":600,"defenceLevel":260,"rangeLevel":400,"magicLevel":150,"crush":300,"range":550,"magic":550,"rangeDef":100,"magicDef":350,"bonusStrength":200,"bonusRangeStrength":200},"7708":{"name":"Jal-MejJak","hitpoints":80,"combatLevel":250,"slayerLevel":1,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":1,"magicLevel":1},"7744":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"7745":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"7792":{"name":"Long-tailed Wyvern","hitpoints":200,"combatLevel":152,"slayerLevel":66,"attackSpeed":6,"attackLevel":125,"strengthLevel":120,"defenceLevel":90,"rangeLevel":90,"magicLevel":90,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":120,"magicDef":140,"dragon":true},"7793":{"name":"Taloned Wyvern","hitpoints":200,"combatLevel":147,"slayerLevel":66,"attackSpeed":6,"attackLevel":120,"strengthLevel":110,"defenceLevel":90,"rangeLevel":90,"magicLevel":90,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":120,"magicDef":140,"dragon":true},"7794":{"name":"Spitting Wyvern","hitpoints":200,"combatLevel":139,"slayerLevel":66,"attackSpeed":6,"attackLevel":125,"strengthLevel":80,"defenceLevel":90,"rangeLevel":125,"magicLevel":125,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":120,"magicDef":140,"dragon":true},"7795":{"name":"Ancient Wyvern","hitpoints":300,"combatLevel":210,"slayerLevel":82,"attackSpeed":5,"attackLevel":150,"strengthLevel":150,"defenceLevel":150,"rangeLevel":90,"magicLevel":90,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":120,"magicDef":170,"dragon":true},"7796":{"name":"Lobstrosity","hitpoints":50,"combatLevel":68,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":80,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":15,"rangeDef":70,"magicDef":99},"7797":{"name":"Ancient Zygomite","hitpoints":150,"combatLevel":109,"slayerLevel":57,"attackSpeed":4,"attackLevel":80,"strengthLevel":80,"defenceLevel":80,"rangeLevel":80,"magicLevel":80,"stab":50,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":30,"magicDef":30,"bonusAttack":30},"7799":{"name":"Ammonite Crab","hitpoints":100,"combatLevel":25,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7802":{"name":"Hoop Snake","hitpoints":25,"combatLevel":19,"attackSpeed":4,"attackLevel":15,"strengthLevel":10,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7804":{"name":"Tar Monster","hitpoints":200,"combatLevel":132,"attackSpeed":4,"attackLevel":120,"strengthLevel":80,"defenceLevel":70,"rangeLevel":100,"magicLevel":1},"7806":{"name":"Deranged archaeologist","hitpoints":200,"combatLevel":276,"slayerLevel":1,"attackSpeed":3,"attackLevel":280,"strengthLevel":160,"defenceLevel":280,"rangeLevel":320,"magicLevel":1,"range":90,"stabDef":20,"slashDef":20,"crushDef":50,"rangeDef":300,"magicDef":300,"bonusAttack":280,"bonusStrength":30,"bonusRangeStrength":90},"7817":{"name":"Lava beast","hitpoints":65,"attackSpeed":4},"7851":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7852":{"name":"Dawn","hitpoints":450,"combatLevel":228,"slayerLevel":75,"attackSpeed":6,"attackLevel":140,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":100,"magicDef":80,"poisonImmune":true,"venomImmune":true},"7853":{"name":"Dawn","hitpoints":450,"combatLevel":228,"slayerLevel":75,"attackSpeed":6,"attackLevel":140,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":100,"magicDef":80,"poisonImmune":true,"venomImmune":true},"7854":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7855":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7858":{"name":"Justiciar Zachariah","hitpoints":320,"combatLevel":348,"attackSpeed":6,"attackLevel":500,"strengthLevel":250,"defenceLevel":100,"rangeLevel":1,"magicLevel":180,"magic":80,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusAttack":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7859":{"name":"Derwen","hitpoints":320,"combatLevel":235,"attackSpeed":6,"attackLevel":250,"strengthLevel":150,"defenceLevel":100,"rangeLevel":1,"magicLevel":80,"magic":180,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7860":{"name":"Porazdir","hitpoints":320,"combatLevel":235,"slayerLevel":1,"attackSpeed":6,"attackLevel":250,"strengthLevel":150,"defenceLevel":100,"rangeLevel":1,"magicLevel":180,"magic":80,"stabDef":200,"slashDef":200,"crushDef":200,"rangeDef":200,"bonusMagicDamage":80,"poisonImmune":true,"venomImmune":true},"7861":{"name":"Black dragon","hitpoints":250,"combatLevel":247,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":215,"defenceLevel":200,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"7862":{"name":"Black dragon","hitpoints":250,"combatLevel":247,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":215,"defenceLevel":200,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"7863":{"name":"Black dragon","hitpoints":250,"combatLevel":247,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":215,"defenceLevel":200,"rangeLevel":1,"magicLevel":150,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"7864":{"name":"Ankou","hitpoints":100,"combatLevel":98,"slayerLevel":1,"attackSpeed":4,"attackLevel":75,"strengthLevel":90,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"undead":true},"7865":{"name":"Lesser demon","hitpoints":110,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":85,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7866":{"name":"Lesser demon","hitpoints":110,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":85,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7867":{"name":"Lesser demon","hitpoints":110,"combatLevel":94,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":85,"defenceLevel":71,"rangeLevel":1,"magicLevel":1,"demon":true},"7868":{"name":"Green dragon","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":75,"defenceLevel":68,"rangeLevel":1,"magicLevel":75,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"7869":{"name":"Green dragon","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":75,"defenceLevel":68,"rangeLevel":1,"magicLevel":75,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"7870":{"name":"Green dragon","hitpoints":100,"combatLevel":88,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":75,"defenceLevel":68,"rangeLevel":1,"magicLevel":75,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"7871":{"name":"Greater demon","hitpoints":120,"combatLevel":104,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":90,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"7872":{"name":"Greater demon","hitpoints":120,"combatLevel":104,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":90,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"7873":{"name":"Greater demon","hitpoints":120,"combatLevel":104,"slayerLevel":1,"attackSpeed":4,"attackLevel":76,"strengthLevel":90,"defenceLevel":81,"rangeLevel":1,"magicLevel":1,"demon":true},"7874":{"name":"Black demon","hitpoints":200,"combatLevel":188,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":165,"defenceLevel":152,"rangeLevel":1,"magicLevel":1,"demon":true},"7875":{"name":"Black demon","hitpoints":200,"combatLevel":188,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":165,"defenceLevel":152,"rangeLevel":1,"magicLevel":1,"demon":true},"7876":{"name":"Black demon","hitpoints":200,"combatLevel":188,"slayerLevel":1,"attackSpeed":4,"attackLevel":145,"strengthLevel":165,"defenceLevel":152,"rangeLevel":1,"magicLevel":1,"demon":true},"7877":{"name":"Hellhound","hitpoints":150,"combatLevel":136,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":120,"defenceLevel":102,"rangeLevel":1,"magicLevel":1},"7878":{"name":"Ice giant","hitpoints":100,"combatLevel":67,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":60,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"7879":{"name":"Ice giant","hitpoints":100,"combatLevel":67,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":60,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"7880":{"name":"Ice giant","hitpoints":100,"combatLevel":67,"slayerLevel":1,"attackSpeed":5,"attackLevel":40,"strengthLevel":60,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"slashDef":3,"crushDef":2,"bonusAttack":29,"bonusStrength":31},"7881":{"name":"Revenant imp","hitpoints":10,"combatLevel":7,"slayerLevel":1,"attackSpeed":5,"attackLevel":5,"strengthLevel":5,"defenceLevel":4,"rangeLevel":5,"magicLevel":9,"magic":5,"magicDef":5,"undead":true},"7882":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7883":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7884":{"name":"Dawn","hitpoints":450,"combatLevel":228,"slayerLevel":75,"attackSpeed":6,"attackLevel":140,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":100,"magicDef":80,"poisonImmune":true,"venomImmune":true},"7885":{"name":"Dawn","hitpoints":450,"combatLevel":228,"slayerLevel":75,"attackSpeed":6,"attackLevel":140,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":100,"magicDef":80,"poisonImmune":true,"venomImmune":true},"7886":{"name":"Dusk","hitpoints":450,"combatLevel":248,"slayerLevel":75,"attackSpeed":6,"attackLevel":200,"strengthLevel":140,"defenceLevel":100,"rangeLevel":140,"magicLevel":140},"7887":{"name":"Dusk","hitpoints":450,"combatLevel":328,"slayerLevel":75,"attackSpeed":6,"attackLevel":300,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250},"7888":{"name":"Dusk","hitpoints":450,"combatLevel":328,"slayerLevel":75,"attackSpeed":6,"attackLevel":300,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250},"7889":{"name":"Dusk","hitpoints":450,"combatLevel":328,"slayerLevel":75,"attackSpeed":6,"attackLevel":300,"strengthLevel":250,"defenceLevel":150,"rangeLevel":250,"magicLevel":250},"7894":{"name":"Sand Snake (hard)","hitpoints":180,"combatLevel":154,"attackSpeed":4,"attackLevel":180,"strengthLevel":140,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7895":{"name":"Sand Snake","hitpoints":60,"combatLevel":36,"attackSpeed":4,"attackLevel":30,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7903":{"name":"Sand Snake","hitpoints":60,"combatLevel":36,"attackSpeed":4,"attackLevel":30,"strengthLevel":20,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"7916":{"name":"Thief","hitpoints":22,"combatLevel":21,"attackSpeed":4,"attackLevel":14,"strengthLevel":13,"defenceLevel":12,"rangeLevel":1,"magicLevel":1},"7921":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7922":{"name":"Woman","hitpoints":7,"combatLevel":2,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":1,"rangeLevel":1,"magicLevel":1},"7931":{"name":"Revenant goblin","hitpoints":14,"combatLevel":15,"slayerLevel":1,"attackSpeed":5,"attackLevel":13,"strengthLevel":14,"defenceLevel":14,"rangeLevel":15,"magicLevel":12,"range":21,"magic":37,"stabDef":25,"slashDef":28,"crushDef":31,"rangeDef":31,"magicDef":1,"bonusAttack":6,"bonusStrength":8,"bonusRangeStrength":12,"bonusMagicDamage":12,"undead":true},"7932":{"name":"Revenant pyrefiend","hitpoints":48,"combatLevel":52,"slayerLevel":1,"attackSpeed":5,"attackLevel":60,"strengthLevel":40,"defenceLevel":33,"rangeLevel":40,"magicLevel":67,"stabDef":45,"slashDef":40,"crushDef":50,"rangeDef":10,"magicDef":15,"undead":true},"7933":{"name":"Revenant hobgoblin","hitpoints":72,"combatLevel":60,"slayerLevel":1,"attackSpeed":4,"attackLevel":50,"strengthLevel":50,"defenceLevel":41,"rangeLevel":60,"magicLevel":55,"range":25,"magic":5,"stabDef":65,"slashDef":60,"crushDef":68,"rangeDef":50,"magicDef":30,"bonusAttack":20,"bonusStrength":24,"undead":true},"7934":{"name":"Revenant cyclops","hitpoints":110,"combatLevel":82,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":73,"defenceLevel":49,"rangeLevel":70,"magicLevel":65,"stabDef":140,"slashDef":130,"crushDef":135,"rangeDef":135,"magicDef":10,"bonusAttack":53,"bonusStrength":64,"undead":true},"7935":{"name":"Revenant hellhound","hitpoints":80,"combatLevel":90,"slayerLevel":1,"attackSpeed":5,"attackLevel":76,"strengthLevel":80,"defenceLevel":80,"rangeLevel":80,"magicLevel":104,"magic":30,"stabDef":138,"slashDef":140,"crushDef":142,"rangeDef":140,"magicDef":62,"bonusAttack":38,"bonusStrength":40,"undead":true},"7936":{"name":"Revenant demon","hitpoints":80,"combatLevel":98,"slayerLevel":1,"attackSpeed":5,"attackLevel":83,"strengthLevel":76,"defenceLevel":80,"rangeLevel":80,"magicLevel":120,"range":40,"magic":50,"stabDef":124,"slashDef":118,"crushDef":130,"rangeDef":90,"magicDef":85,"bonusAttack":30,"bonusStrength":50,"bonusRangeStrength":30,"bonusMagicDamage":24,"undead":true},"7937":{"name":"Revenant ork","hitpoints":105,"combatLevel":105,"slayerLevel":1,"attackSpeed":5,"attackLevel":99,"strengthLevel":100,"defenceLevel":60,"rangeLevel":130,"magicLevel":110,"range":50,"stabDef":148,"slashDef":150,"crushDef":146,"rangeDef":148,"magicDef":50,"bonusAttack":60,"bonusStrength":55,"undead":true},"7938":{"name":"Revenant dark beast","hitpoints":140,"combatLevel":120,"slayerLevel":1,"attackSpeed":5,"attackLevel":93,"strengthLevel":110,"defenceLevel":80,"rangeLevel":135,"magicLevel":130,"range":45,"stabDef":153,"slashDef":152,"crushDef":155,"rangeDef":158,"magicDef":70,"bonusAttack":65,"bonusStrength":60,"undead":true},"7939":{"name":"Revenant knight","hitpoints":143,"combatLevel":126,"slayerLevel":1,"attackSpeed":5,"attackLevel":100,"strengthLevel":119,"defenceLevel":80,"rangeLevel":146,"magicLevel":146,"range":55,"magic":55,"stabDef":195,"slashDef":200,"crushDef":180,"rangeDef":190,"magicDef":95,"bonusAttack":69,"bonusStrength":71,"bonusRangeStrength":45,"bonusMagicDamage":50,"undead":true},"7940":{"name":"Revenant dragon","hitpoints":155,"combatLevel":135,"slayerLevel":1,"attackSpeed":5,"attackLevel":106,"strengthLevel":126,"defenceLevel":87,"rangeLevel":151,"magicLevel":150,"range":60,"magic":61,"stabDef":201,"slashDef":206,"crushDef":188,"rangeDef":197,"magicDef":101,"bonusAttack":72,"bonusStrength":78,"bonusRangeStrength":51,"bonusMagicDamage":35,"undead":true},"7948":{"name":"Corsair Traitor (hard)","hitpoints":160,"combatLevel":103,"attackSpeed":3,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":1,"magicLevel":90},"7949":{"name":"Corsair Traitor","hitpoints":55,"combatLevel":35,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":30,"rangeLevel":1,"magicLevel":30},"7955":{"name":"Baby dragon","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":30,"slashDef":50,"crushDef":50,"rangeDef":30,"magicDef":40,"dragon":true},"7964":{"name":"Ithoi the Navigator","hitpoints":55,"combatLevel":35,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":30,"rangeLevel":1,"magicLevel":30},"7989":{"name":"Ogress Warrior","hitpoints":82,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":82,"rangeLevel":1,"magicLevel":60,"stabDef":10,"slashDef":12,"crushDef":12,"rangeDef":16,"magicDef":14},"7990":{"name":"Ogress Warrior","hitpoints":82,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":70,"defenceLevel":82,"rangeLevel":1,"magicLevel":60,"stabDef":10,"slashDef":12,"crushDef":12,"rangeDef":16,"magicDef":14},"7991":{"name":"Ogress Shaman","hitpoints":82,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":20,"defenceLevel":82,"rangeLevel":1,"magicLevel":68,"stabDef":12,"slashDef":14,"crushDef":14,"rangeDef":8,"magicDef":16},"7992":{"name":"Ogress Shaman","hitpoints":82,"combatLevel":82,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":20,"defenceLevel":82,"rangeLevel":1,"magicLevel":68,"stabDef":12,"slashDef":14,"crushDef":14,"rangeDef":8,"magicDef":16},"7996":{"name":"Corrupt Lizardman (hard)","hitpoints":150,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":162,"strengthLevel":162,"defenceLevel":38,"rangeLevel":162,"magicLevel":1,"range":22,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"7997":{"name":"Corrupt Lizardman","hitpoints":50,"combatLevel":46,"slayerLevel":1,"attackSpeed":4,"attackLevel":38,"strengthLevel":38,"defenceLevel":38,"rangeLevel":38,"magicLevel":1,"range":20,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"8000":{"name":"Corrupt Lizardman","hitpoints":50,"combatLevel":46,"slayerLevel":1,"attackSpeed":4,"attackLevel":38,"strengthLevel":38,"defenceLevel":38,"rangeLevel":38,"magicLevel":1,"range":20,"slashDef":25,"bonusAttack":22,"bonusStrength":20,"bonusRangeStrength":20},"8027":{"name":"Rune dragon","hitpoints":330,"combatLevel":380,"attackSpeed":4,"attackLevel":284,"strengthLevel":284,"defenceLevel":276,"rangeLevel":246,"magicLevel":196,"stabDef":30,"slashDef":115,"crushDef":90,"rangeDef":95,"magicDef":30,"bonusRangeStrength":14,"poisonImmune":true,"venomImmune":true},"8030":{"name":"Adamant dragon","hitpoints":295,"combatLevel":338,"slayerLevel":1,"attackSpeed":4,"attackLevel":280,"strengthLevel":280,"defenceLevel":272,"rangeLevel":186,"magicLevel":186,"stabDef":30,"slashDef":110,"crushDef":85,"rangeDef":95,"magicDef":30,"dragon":true},"8031":{"name":"Rune dragon","hitpoints":330,"combatLevel":380,"slayerLevel":1,"attackSpeed":4,"attackLevel":284,"strengthLevel":284,"defenceLevel":276,"rangeLevel":246,"magicLevel":196,"stabDef":30,"slashDef":115,"crushDef":90,"rangeDef":95,"magicDef":30,"bonusRangeStrength":14,"dragon":true},"8033":{"name":"Elvarg","hitpoints":80,"combatLevel":83,"slayerLevel":1,"attackSpeed":4,"attackLevel":70,"strengthLevel":70,"defenceLevel":70,"rangeLevel":1,"magicLevel":70,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30},"8056":{"name":"Spawn","hitpoints":80,"combatLevel":100,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":5,"slashDef":15,"crushDef":15,"rangeDef":5},"8057":{"name":"Robert the Strong","hitpoints":280,"combatLevel":194,"attackSpeed":4,"defenceLevel":140,"rangeLevel":328,"magicLevel":128,"range":126,"stabDef":140,"slashDef":180,"crushDef":60,"rangeDef":860,"magicDef":940,"poisonImmune":true,"venomImmune":true},"8058":{"name":"Vorkath","hitpoints":460,"combatLevel":392,"slayerLevel":1,"attackSpeed":5,"attackLevel":560,"strengthLevel":268,"defenceLevel":164,"rangeLevel":268,"magicLevel":148,"range":96,"magic":148,"stabDef":66,"slashDef":126,"crushDef":126,"rangeDef":80,"magicDef":204,"bonusAttack":14,"dragon":true,"undead":true},"8059":{"name":"Vorkath","hitpoints":750,"combatLevel":732,"slayerLevel":1,"attackSpeed":5,"attackLevel":560,"strengthLevel":308,"defenceLevel":214,"rangeLevel":308,"magicLevel":150,"range":78,"magic":150,"stabDef":26,"slashDef":108,"crushDef":108,"rangeDef":26,"magicDef":240,"bonusAttack":16,"dragon":true,"undead":true},"8060":{"name":"Vorkath","hitpoints":460,"combatLevel":392,"slayerLevel":1,"attackSpeed":5,"attackLevel":560,"strengthLevel":268,"defenceLevel":164,"rangeLevel":268,"magicLevel":148,"range":96,"magic":148,"stabDef":66,"slashDef":126,"crushDef":126,"rangeDef":80,"magicDef":204,"bonusAttack":14,"dragon":true,"undead":true},"8061":{"name":"Vorkath","hitpoints":750,"combatLevel":732,"slayerLevel":1,"attackSpeed":5,"attackLevel":560,"strengthLevel":308,"defenceLevel":214,"rangeLevel":308,"magicLevel":150,"range":78,"magic":150,"stabDef":26,"slashDef":108,"crushDef":108,"rangeDef":26,"magicDef":240,"bonusAttack":16,"dragon":true,"undead":true},"8062":{"name":"Zombified Spawn","hitpoints":8,"combatLevel":55,"attackLevel":80,"strengthLevel":80,"defenceLevel":4,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":3,"slashDef":3,"crushDef":3,"rangeDef":3,"undead":true},"8063":{"name":"Zombified Spawn","hitpoints":38,"combatLevel":64,"attackLevel":82,"strengthLevel":82,"defenceLevel":6,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":3,"slashDef":3,"crushDef":3,"rangeDef":3,"undead":true},"8064":{"name":"Stone Guardian","hitpoints":62,"combatLevel":124,"attackSpeed":5,"attackLevel":150,"strengthLevel":148,"defenceLevel":138,"rangeLevel":1,"magicLevel":118},"8065":{"name":"Stone Guardian","hitpoints":62,"combatLevel":124,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":138,"rangeLevel":128,"magicLevel":118},"8066":{"name":"Stone Guardian","hitpoints":62,"combatLevel":124,"attackSpeed":5,"attackLevel":1,"strengthLevel":1,"defenceLevel":138,"rangeLevel":1,"magicLevel":128},"8067":{"name":"Zombie","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":180,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":20,"crushDef":25,"rangeDef":30,"magicDef":10,"bonusAttack":30,"undead":true},"8068":{"name":"Zombie","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":1,"defenceLevel":62,"rangeLevel":180,"magicLevel":1,"range":20,"stabDef":15,"slashDef":10,"crushDef":15,"rangeDef":20,"magicDef":30,"undead":true},"8069":{"name":"Zombie","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":1,"defenceLevel":62,"rangeLevel":1,"magicLevel":180,"magic":20,"stabDef":35,"slashDef":30,"crushDef":35,"rangeDef":10,"magicDef":20,"undead":true},"8070":{"name":"Skeleton","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":180,"defenceLevel":62,"rangeLevel":1,"magicLevel":1,"stabDef":25,"slashDef":20,"crushDef":25,"rangeDef":30,"magicDef":10,"bonusAttack":30,"undead":true},"8071":{"name":"Skeleton","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":1,"defenceLevel":62,"rangeLevel":180,"magicLevel":1,"range":20,"stabDef":15,"slashDef":10,"crushDef":15,"rangeDef":20,"magicDef":30,"undead":true},"8072":{"name":"Skeleton","hitpoints":54,"combatLevel":132,"slayerLevel":1,"attackSpeed":5,"attackLevel":160,"strengthLevel":1,"defenceLevel":62,"rangeLevel":1,"magicLevel":180,"magic":20,"stabDef":35,"slashDef":30,"crushDef":35,"rangeDef":10,"magicDef":20,"undead":true},"8073":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"8075":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8076":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"8078":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8079":{"name":"Red dragon","hitpoints":140,"combatLevel":152,"slayerLevel":1,"attackSpeed":4,"attackLevel":130,"strengthLevel":130,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8080":{"name":"Iron dragon","hitpoints":165,"combatLevel":189,"slayerLevel":1,"attackSpeed":4,"attackLevel":165,"strengthLevel":165,"defenceLevel":165,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"8081":{"name":"Brutal green dragon","hitpoints":175,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":168,"defenceLevel":168,"magicLevel":168,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"8082":{"name":"Green dragon","hitpoints":75,"combatLevel":79,"slayerLevel":1,"attackSpeed":4,"attackLevel":68,"strengthLevel":68,"defenceLevel":68,"rangeLevel":1,"magicLevel":68,"stabDef":20,"slashDef":40,"crushDef":40,"rangeDef":20,"magicDef":30,"dragon":true},"8083":{"name":"Blue dragon","hitpoints":105,"combatLevel":111,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":95,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8084":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8085":{"name":"Black dragon","hitpoints":190,"combatLevel":227,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":200,"defenceLevel":200,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"dragon":true},"8086":{"name":"Steel dragon","hitpoints":210,"combatLevel":246,"slayerLevel":1,"attackSpeed":4,"attackLevel":215,"strengthLevel":215,"defenceLevel":215,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":90,"magicDef":30,"dragon":true},"8087":{"name":"Brutal red dragon","hitpoints":285,"combatLevel":289,"slayerLevel":1,"attackSpeed":4,"attackLevel":310,"strengthLevel":210,"defenceLevel":198,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"poisonImmune":true,"venomImmune":true,"dragon":true},"8088":{"name":"Mithril dragon","hitpoints":254,"combatLevel":304,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":268,"rangeLevel":168,"magicLevel":168,"stabDef":50,"slashDef":100,"crushDef":70,"rangeDef":90,"magicDef":30,"venomImmune":true,"dragon":true},"8089":{"name":"Mithril dragon","hitpoints":254,"combatLevel":304,"slayerLevel":1,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":268,"rangeLevel":168,"magicLevel":168,"stabDef":50,"slashDef":100,"crushDef":70,"rangeDef":90,"magicDef":30,"venomImmune":true,"dragon":true},"8090":{"name":"Adamant dragon","hitpoints":295,"combatLevel":338,"slayerLevel":1,"attackSpeed":4,"attackLevel":280,"strengthLevel":280,"defenceLevel":272,"rangeLevel":186,"magicLevel":186,"stabDef":30,"slashDef":110,"crushDef":85,"rangeDef":95,"magicDef":30,"dragon":true},"8091":{"name":"Rune dragon","hitpoints":330,"combatLevel":380,"slayerLevel":1,"attackSpeed":4,"attackLevel":284,"strengthLevel":284,"defenceLevel":276,"rangeLevel":246,"magicLevel":196,"stabDef":30,"slashDef":115,"crushDef":90,"rangeDef":95,"magicDef":30,"bonusRangeStrength":14,"dragon":true},"8092":{"name":"Brutal black dragon","hitpoints":315,"combatLevel":318,"slayerLevel":77,"attackSpeed":4,"attackLevel":330,"strengthLevel":210,"defenceLevel":258,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"bonusStrength":20,"poisonImmune":true,"venomImmune":true,"dragon":true},"8093":{"name":"Brutal black dragon","hitpoints":315,"combatLevel":318,"slayerLevel":77,"attackSpeed":4,"attackLevel":330,"strengthLevel":210,"defenceLevel":258,"magicLevel":250,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60,"bonusStrength":20,"poisonImmune":true,"venomImmune":true,"dragon":true},"8094":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8095":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8096":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8097":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8098":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8137":{"name":"Spider","hitpoints":4,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":47,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"8138":{"name":"Spider","hitpoints":4,"combatLevel":35,"slayerLevel":1,"attackSpeed":4,"attackLevel":45,"strengthLevel":47,"defenceLevel":20,"rangeLevel":1,"magicLevel":1,"stab":1,"slash":1,"crush":1,"range":1,"magic":1,"stabDef":20,"slashDef":20,"crushDef":10,"rangeDef":20,"magicDef":17},"8149":{"name":"White Knight","hitpoints":52,"combatLevel":36,"attackSpeed":7,"attackLevel":27,"strengthLevel":29,"defenceLevel":21,"rangeLevel":1,"magicLevel":1,"stabDef":83,"slashDef":76,"crushDef":70,"rangeDef":74,"bonusAttack":30,"bonusStrength":31},"8150":{"name":"Paladin","hitpoints":66,"combatLevel":62,"attackSpeed":5,"attackLevel":54,"strengthLevel":54,"defenceLevel":54,"rangeLevel":1,"magicLevel":1,"stabDef":87,"slashDef":84,"crushDef":76,"rangeDef":79,"bonusAttack":20,"bonusStrength":22},"8177":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8178":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8179":{"name":"Galvek","hitpoints":1200,"combatLevel":608,"attackSpeed":6,"attackLevel":632,"strengthLevel":268,"defenceLevel":188,"rangeLevel":246,"magicLevel":160,"range":180,"magic":160,"stabDef":80,"slashDef":140,"crushDef":140,"rangeDef":86,"magicDef":280,"bonusAttack":34,"bonusRangeStrength":6,"bonusMagicDamage":42,"poisonImmune":true,"venomImmune":true,"dragon":true},"8194":{"name":"Growthling","hitpoints":10,"combatLevel":37,"attackSpeed":4,"attackLevel":40,"strengthLevel":38,"defenceLevel":40,"rangeLevel":1,"magicLevel":1,"poisonImmune":true,"venomImmune":true},"8195":{"name":"Bryophyta","hitpoints":115,"combatLevel":128,"slayerLevel":1,"attackSpeed":6,"attackLevel":130,"strengthLevel":100,"defenceLevel":100,"rangeLevel":1,"magicLevel":90,"bonusAttack":33,"bonusStrength":31},"8239":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"8240":{"name":"Vanstrom Klause","hitpoints":155,"combatLevel":169,"attackSpeed":8,"attackLevel":150,"strengthLevel":136,"defenceLevel":150,"rangeLevel":150,"magicLevel":150,"poisonImmune":true,"venomImmune":true},"8242":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8243":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8244":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8245":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8246":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8247":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":5,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusStrength":34,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8248":{"name":"Ranis Drakan","hitpoints":400,"combatLevel":233,"slayerLevel":1,"attackSpeed":2,"attackLevel":120,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":120,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":60,"magicDef":60,"bonusAttack":160,"bonusMagicDamage":34,"poisonImmune":true,"venomImmune":true},"8251":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8252":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8253":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8254":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8255":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8256":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8257":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8258":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8259":{"name":"Vyrewatch","hitpoints":75,"combatLevel":87,"slayerLevel":1,"attackSpeed":4,"attackLevel":80,"strengthLevel":75,"defenceLevel":75,"rangeLevel":1,"magicLevel":75},"8260":{"name":"Abomination","hitpoints":200,"combatLevel":149,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":110,"magicLevel":110,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":180,"magicDef":20},"8261":{"name":"Abomination","hitpoints":200,"combatLevel":149,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":110,"magicLevel":110,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":180,"magicDef":20},"8262":{"name":"Abomination","hitpoints":200,"combatLevel":149,"attackSpeed":5,"attackLevel":110,"strengthLevel":110,"defenceLevel":110,"rangeLevel":110,"magicLevel":110,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":180,"magicDef":20},"8297":{"name":"Swamp Crab","hitpoints":75,"combatLevel":55,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":50,"rangeLevel":1,"magicLevel":50,"stabDef":100,"slashDef":100,"crushDef":100,"magicDef":100},"8298":{"name":"Swamp Crab","hitpoints":75,"combatLevel":55,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":50,"rangeLevel":1,"magicLevel":50,"stabDef":100,"slashDef":100,"crushDef":100,"magicDef":100},"8299":{"name":"Swampy log","hitpoints":75,"combatLevel":55,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":50,"rangeLevel":1,"magicLevel":50,"stabDef":100,"slashDef":100,"crushDef":100,"magicDef":100},"8300":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8301":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8302":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8303":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8304":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8305":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8306":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8307":{"name":"Vyrewatch","hitpoints":90,"combatLevel":105,"slayerLevel":1,"attackSpeed":4,"attackLevel":105,"strengthLevel":86,"defenceLevel":85,"rangeLevel":105,"magicLevel":105},"8340":{"name":"Xarpus","hitpoints":5080,"combatLevel":960,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":250,"rangeLevel":1,"magicLevel":220,"rangeDef":160},"8341":{"name":"Xarpus","hitpoints":5080,"combatLevel":960,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":250,"rangeLevel":1,"magicLevel":220,"rangeDef":160},"8342":{"name":"Nylocas Ischyros","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8343":{"name":"Nylocas Toxobolos","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8344":{"name":"Nylocas Hagios","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8345":{"name":"Nylocas Ischyros","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8346":{"name":"Nylocas Toxobolos","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8347":{"name":"Nylocas Hagios","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8348":{"name":"Nylocas Ischyros","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8349":{"name":"Nylocas Toxobolos","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8350":{"name":"Nylocas Hagios","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8351":{"name":"Nylocas Ischyros","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8352":{"name":"Nylocas Toxobolos","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8353":{"name":"Nylocas Hagios","hitpoints":22,"combatLevel":260,"attackSpeed":3,"attackLevel":250,"strengthLevel":230,"defenceLevel":20,"rangeLevel":250,"magicLevel":20,"magic":500,"bonusMagicDamage":500},"8355":{"name":"Nylocas Vasilias","hitpoints":2500,"combatLevel":800,"attackSpeed":4,"attackLevel":400,"strengthLevel":350,"defenceLevel":50,"rangeLevel":350,"magicLevel":50,"magic":600,"bonusStrength":60,"bonusRangeStrength":60,"bonusMagicDamage":600},"8356":{"name":"Nylocas Vasilias","hitpoints":2500,"combatLevel":800,"attackSpeed":4,"attackLevel":400,"strengthLevel":350,"defenceLevel":50,"rangeLevel":350,"magicLevel":50,"magic":600,"bonusStrength":60,"bonusRangeStrength":60,"bonusMagicDamage":600},"8357":{"name":"Nylocas Vasilias","hitpoints":2500,"combatLevel":800,"attackSpeed":4,"attackLevel":400,"strengthLevel":350,"defenceLevel":50,"rangeLevel":350,"magicLevel":50,"magic":600,"bonusStrength":60,"bonusRangeStrength":60,"bonusMagicDamage":600},"8359":{"name":"Pestilent Bloat","hitpoints":2000,"combatLevel":870,"attackSpeed":1,"attackLevel":250,"strengthLevel":340,"defenceLevel":100,"rangeLevel":180,"magicLevel":150,"range":180,"stabDef":40,"slashDef":20,"crushDef":40,"rangeDef":800,"magicDef":600,"bonusAttack":150,"bonusStrength":82,"bonusRangeStrength":4,"undead":true},"8360":{"name":"The Maiden of Sugadinti","hitpoints":3500,"combatLevel":940,"attackSpeed":10,"attackLevel":350,"strengthLevel":350,"defenceLevel":200,"rangeLevel":350,"magicLevel":350,"magic":300},"8361":{"name":"The Maiden of Sugadinti","hitpoints":3500,"combatLevel":940,"attackSpeed":10,"attackLevel":350,"strengthLevel":350,"defenceLevel":200,"rangeLevel":350,"magicLevel":350,"magic":300},"8362":{"name":"The Maiden of Sugadinti","hitpoints":3500,"combatLevel":940,"attackSpeed":10,"attackLevel":350,"strengthLevel":350,"defenceLevel":200,"rangeLevel":350,"magicLevel":350,"magic":300},"8363":{"name":"The Maiden of Sugadinti","hitpoints":3500,"combatLevel":940,"attackSpeed":10,"attackLevel":350,"strengthLevel":350,"defenceLevel":200,"rangeLevel":350,"magicLevel":350,"magic":300},"8366":{"name":"Nylocas Matomenos","hitpoints":200,"combatLevel":115,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":100,"magicLevel":100},"8367":{"name":"Blood spawn","hitpoints":120,"combatLevel":55,"attackLevel":1,"strengthLevel":1,"rangeLevel":1},"8369":{"name":"Verzik Vitur","hitpoints":2000,"combatLevel":1040,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":20,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"magicDef":20,"bonusRangeStrength":80,"bonusMagicDamage":150},"8370":{"name":"Verzik Vitur","hitpoints":2000,"combatLevel":1040,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":20,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"magicDef":20,"bonusRangeStrength":80,"bonusMagicDamage":150},"8371":{"name":"Verzik Vitur","hitpoints":2000,"combatLevel":1040,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":20,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":20,"slashDef":20,"crushDef":20,"rangeDef":20,"magicDef":20,"bonusRangeStrength":80,"bonusMagicDamage":150},"8372":{"name":"Verzik Vitur","hitpoints":3250,"combatLevel":1265,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":200,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":100,"slashDef":60,"crushDef":100,"rangeDef":250,"magicDef":70,"bonusRangeStrength":80,"bonusMagicDamage":80},"8373":{"name":"Verzik Vitur","hitpoints":3250,"combatLevel":1265,"attackSpeed":4,"attackLevel":400,"strengthLevel":400,"defenceLevel":200,"rangeLevel":400,"magicLevel":400,"range":80,"magic":80,"stabDef":100,"slashDef":60,"crushDef":100,"rangeDef":250,"magicDef":70,"bonusRangeStrength":80,"bonusMagicDamage":80},"8374":{"name":"Verzik Vitur","hitpoints":3250,"combatLevel":1520,"attackSpeed":7,"attackLevel":400,"strengthLevel":400,"defenceLevel":150,"rangeLevel":300,"magicLevel":300,"range":80,"magic":80,"stabDef":70,"slashDef":30,"crushDef":70,"rangeDef":230,"magicDef":100,"bonusAttack":80,"bonusStrength":30,"bonusRangeStrength":5,"bonusMagicDamage":5},"8375":{"name":"Verzik Vitur","hitpoints":3250,"combatLevel":1520,"attackSpeed":7,"attackLevel":400,"strengthLevel":400,"defenceLevel":150,"rangeLevel":300,"magicLevel":300,"range":80,"magic":80,"stabDef":70,"slashDef":30,"crushDef":70,"rangeDef":230,"magicDef":100,"bonusAttack":80,"bonusStrength":30,"bonusRangeStrength":5,"bonusMagicDamage":5},"8381":{"name":"Nylocas Ischyros","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8382":{"name":"Nylocas Toxobolos","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8383":{"name":"Nylocas Hagios","hitpoints":11,"combatLevel":162,"attackSpeed":3,"attackLevel":200,"strengthLevel":160,"defenceLevel":1,"rangeLevel":200,"magicLevel":1,"magic":1073,"bonusMagicDamage":928},"8384":{"name":"Nylocas Athanatos","hitpoints":180,"combatLevel":350,"attackLevel":1,"strengthLevel":1,"defenceLevel":50,"rangeLevel":1,"magicLevel":50},"8385":{"name":"Nylocas Matomenos","hitpoints":200,"combatLevel":115,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":100,"magicLevel":100},"8387":{"name":"Sotetseg","hitpoints":4000,"combatLevel":995,"attackSpeed":5,"attackLevel":250,"strengthLevel":250,"defenceLevel":200,"magicLevel":250,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":150,"magicDef":30,"bonusStrength":49,"poisonImmune":true,"venomImmune":true},"8388":{"name":"Sotetseg","hitpoints":4000,"combatLevel":995,"attackSpeed":5,"attackLevel":250,"strengthLevel":250,"defenceLevel":200,"magicLevel":250,"stabDef":70,"slashDef":70,"crushDef":70,"rangeDef":150,"magicDef":30,"bonusStrength":49,"poisonImmune":true,"venomImmune":true},"8400":{"name":"Monk of Zamorak","hitpoints":20,"combatLevel":22,"attackSpeed":4,"attackLevel":18,"strengthLevel":18,"defenceLevel":22,"rangeLevel":1,"magicLevel":25},"8401":{"name":"Monk of Zamorak","hitpoints":10,"combatLevel":17,"attackSpeed":4,"attackLevel":8,"strengthLevel":8,"defenceLevel":12,"rangeLevel":1,"magicLevel":25},"8428":{"name":"Mother","hitpoints":235,"combatLevel":198,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":170,"rangeLevel":105,"magicLevel":60,"magicDef":200,"bonusAttack":60,"bonusStrength":50},"8429":{"name":"Mother","hitpoints":235,"combatLevel":198,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":170,"rangeLevel":105,"magicLevel":60,"magicDef":200,"bonusAttack":60,"bonusStrength":50},"8430":{"name":"Mother","hitpoints":235,"combatLevel":198,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":170,"rangeLevel":105,"magicLevel":60,"magicDef":200,"bonusAttack":60,"bonusStrength":50},"8439":{"name":"Don't Know What","hitpoints":220,"combatLevel":163,"attackSpeed":3,"attackLevel":120,"strengthLevel":90,"defenceLevel":160,"rangeLevel":115,"magicLevel":60,"magicDef":200,"bonusRangeStrength":40},"8474":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"8475":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"8476":{"name":"Black Guard","hitpoints":40,"combatLevel":48,"slayerLevel":1,"attackSpeed":3,"attackLevel":40,"strengthLevel":45,"defenceLevel":45,"rangeLevel":1,"magicLevel":1,"stabDef":40,"slashDef":40,"crushDef":40,"rangeDef":40,"bonusAttack":30,"bonusStrength":30},"8496":{"name":"Dwarf","hitpoints":16,"combatLevel":10,"slayerLevel":1,"attackSpeed":5},"8512":{"name":"Tormented Soul","hitpoints":20,"combatLevel":16,"attackSpeed":4,"attackLevel":16,"strengthLevel":12,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"8513":{"name":"Tormented Soul","hitpoints":20,"combatLevel":16,"attackSpeed":4,"attackLevel":16,"strengthLevel":12,"defenceLevel":10,"rangeLevel":1,"magicLevel":1},"8514":{"name":"Trapped Soul","hitpoints":30,"combatLevel":30,"attackSpeed":4,"attackLevel":25,"strengthLevel":29,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"8528":{"name":"Trapped Soul","hitpoints":30,"combatLevel":30,"attackSpeed":4,"attackLevel":25,"strengthLevel":29,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"8529":{"name":"Trapped Soul (hard)","hitpoints":100,"combatLevel":101,"attackSpeed":4,"attackLevel":100,"strengthLevel":120,"defenceLevel":20,"rangeLevel":1,"magicLevel":1},"8563":{"name":"Lizardman","hitpoints":60,"combatLevel":62,"slayerLevel":1,"attackSpeed":4,"attackLevel":53,"strengthLevel":53,"defenceLevel":52,"rangeLevel":1,"magicLevel":1,"range":28,"slashDef":20,"crushDef":5,"bonusAttack":28,"bonusStrength":25,"bonusRangeStrength":25},"8564":{"name":"Lizardman brute","hitpoints":60,"combatLevel":73,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":65,"defenceLevel":65,"rangeLevel":1,"magicLevel":1,"range":34,"slashDef":30,"crushDef":10,"bonusAttack":34,"bonusStrength":30,"bonusRangeStrength":30},"8565":{"name":"Lizardman shaman","hitpoints":150,"combatLevel":150,"slayerLevel":1,"attackSpeed":4,"attackLevel":120,"strengthLevel":120,"defenceLevel":140,"rangeLevel":120,"magicLevel":130,"range":45,"slashDef":40,"crushDef":30,"magicDef":50,"bonusAttack":45,"bonusStrength":38,"bonusRangeStrength":38},"8578":{"name":"Swamp frog","hitpoints":25,"combatLevel":24,"attackSpeed":4,"attackLevel":25,"strengthLevel":20,"defenceLevel":15,"rangeLevel":1,"magicLevel":1},"8583":{"name":"Hespori","hitpoints":300,"combatLevel":284,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":120,"rangeLevel":150,"magicLevel":126,"range":150,"magic":150,"stabDef":60,"slashDef":20,"crushDef":60,"rangeDef":80,"magicDef":80},"8584":{"name":"Flower","hitpoints":10},"8609":{"name":"Hydra","hitpoints":300,"combatLevel":194,"slayerLevel":95,"attackSpeed":6,"attackLevel":1,"strengthLevel":1,"defenceLevel":100,"rangeLevel":210,"magicLevel":210,"stabDef":160,"slashDef":160,"crushDef":160,"magicDef":160,"dragon":true},"8610":{"name":"Wyrm","hitpoints":130,"combatLevel":99,"slayerLevel":62,"attackSpeed":4,"attackLevel":85,"strengthLevel":60,"defenceLevel":80,"rangeLevel":80,"magicLevel":80,"stabDef":20,"slashDef":50,"crushDef":50,"rangeDef":20,"magicDef":50,"bonusStrength":30,"bonusMagicDamage":30,"dragon":true},"8611":{"name":"Wyrm","hitpoints":130,"combatLevel":99,"slayerLevel":62,"attackSpeed":4,"attackLevel":85,"strengthLevel":60,"defenceLevel":80,"rangeLevel":80,"magicLevel":80,"stabDef":20,"slashDef":50,"crushDef":50,"rangeDef":20,"magicDef":50,"bonusStrength":30,"bonusMagicDamage":30,"dragon":true},"8612":{"name":"Drake","hitpoints":250,"combatLevel":192,"slayerLevel":84,"attackSpeed":4,"attackLevel":140,"strengthLevel":118,"defenceLevel":120,"rangeLevel":140,"magicLevel":112,"range":40,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":100,"magicDef":20,"bonusAttack":40,"bonusStrength":12,"bonusRangeStrength":40,"dragon":true},"8613":{"name":"Drake","hitpoints":250,"combatLevel":192,"slayerLevel":84,"attackSpeed":4,"attackLevel":140,"strengthLevel":118,"defenceLevel":120,"rangeLevel":140,"magicLevel":112,"range":40,"stabDef":60,"slashDef":60,"crushDef":60,"rangeDef":100,"magicDef":20,"bonusAttack":40,"bonusStrength":12,"bonusRangeStrength":40,"dragon":true},"8614":{"name":"Sulphur Lizard","hitpoints":50,"combatLevel":50,"slayerLevel":44,"attackSpeed":4,"attackLevel":50,"strengthLevel":45,"defenceLevel":30,"rangeLevel":1,"magicLevel":1,"stabDef":15,"slashDef":25,"crushDef":25,"rangeDef":15},"8615":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8616":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8617":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8618":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8619":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8620":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":6,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8621":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8622":{"name":"Alchemical Hydra","hitpoints":1100,"combatLevel":426,"slayerLevel":95,"attackSpeed":4,"attackLevel":100,"strengthLevel":100,"defenceLevel":100,"rangeLevel":260,"magicLevel":260,"range":45,"magic":45,"stabDef":75,"slashDef":150,"crushDef":150,"rangeDef":45,"magicDef":150,"bonusRangeStrength":20,"bonusMagicDamage":20,"dragon":true},"8633":{"name":"The Mimic","hitpoints":230,"combatLevel":186,"attackSpeed":3,"attackLevel":185,"strengthLevel":120,"defenceLevel":120,"rangeLevel":1,"magicLevel":60,"magic":180,"stabDef":160,"slashDef":165,"crushDef":150,"rangeDef":145,"magicDef":30,"bonusAttack":135,"bonusStrength":48},"8635":{"name":"Third Age Warrior","hitpoints":40,"combatLevel":83,"attackSpeed":5,"attackLevel":90,"strengthLevel":75,"defenceLevel":80,"rangeLevel":1,"magicLevel":1,"stabDef":96,"slashDef":108,"crushDef":113,"rangeDef":97,"bonusAttack":105,"bonusStrength":75},"8636":{"name":"Third Age Ranger","hitpoints":40,"combatLevel":76,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":95,"magicLevel":1,"range":140,"stabDef":55,"slashDef":47,"crushDef":60,"rangeDef":55,"magicDef":60,"bonusRangeStrength":7},"8637":{"name":"Third Age Mage","hitpoints":40,"combatLevel":83,"attackSpeed":4,"attackLevel":1,"strengthLevel":1,"defenceLevel":80,"rangeLevel":1,"magicLevel":110,"magic":145,"stabDef":5,"slashDef":6,"crushDef":5,"magicDef":65,"bonusMagicDamage":24},"8678":{"name":"Feral Vampyre","hitpoints":50,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":65,"strengthLevel":70,"defenceLevel":65,"rangeLevel":1,"magicLevel":50},"8698":{"name":"Monk of Zamorak","hitpoints":16,"combatLevel":23,"attackSpeed":4,"attackLevel":15,"strengthLevel":13,"defenceLevel":18,"rangeLevel":1,"magicLevel":30},"8701":{"name":"Big frog","hitpoints":18,"combatLevel":10,"attackSpeed":4,"attackLevel":8,"strengthLevel":6,"defenceLevel":4,"rangeLevel":1,"magicLevel":1},"8702":{"name":"Frog","hitpoints":8,"combatLevel":5,"attackSpeed":4,"attackLevel":5,"strengthLevel":4,"defenceLevel":3,"rangeLevel":1,"magicLevel":1},"8703":{"name":"Temple Spider","hitpoints":70,"combatLevel":75,"attackSpeed":4,"attackLevel":120,"strengthLevel":50,"defenceLevel":10,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":30,"crushDef":10,"rangeDef":20,"magicDef":25},"8709":{"name":"Shaeded Beast","hitpoints":210,"combatLevel":186,"attackSpeed":4,"attackLevel":50,"strengthLevel":80,"defenceLevel":50,"rangeLevel":1,"magicLevel":250,"stabDef":50,"slashDef":30,"crushDef":100,"rangeDef":50,"magicDef":150,"bonusMagicDamage":10},"8713":{"name":"Sarachnis","hitpoints":400,"combatLevel":318,"slayerLevel":1,"attackSpeed":4,"attackLevel":200,"strengthLevel":240,"defenceLevel":150,"rangeLevel":300,"magicLevel":150,"range":15,"stabDef":60,"slashDef":40,"crushDef":10,"rangeDef":300,"magicDef":150,"bonusAttack":30,"bonusRangeStrength":15},"8714":{"name":"Spawn of Sarachnis","hitpoints":30,"combatLevel":107,"attackSpeed":3,"attackLevel":150,"strengthLevel":120,"defenceLevel":50,"rangeLevel":1,"magicLevel":1,"stabDef":50,"slashDef":50,"crushDef":20,"rangeDef":150,"bonusAttack":50},"8715":{"name":"Spawn of Sarachnis","hitpoints":30,"combatLevel":68,"attackSpeed":4,"attackLevel":10,"strengthLevel":10,"defenceLevel":50,"rangeLevel":1,"magicLevel":100,"stabDef":50,"slashDef":50,"crushDef":50,"magicDef":150},"8736":{"name":"Moss Giant","hitpoints":120,"combatLevel":84,"slayerLevel":1,"attackSpeed":6,"attackLevel":60,"strengthLevel":60,"defenceLevel":60,"rangeLevel":1,"magicLevel":1,"bonusAttack":66,"bonusStrength":62},"8759":{"name":"Iorwerth Warrior","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":95,"defenceLevel":80,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"8760":{"name":"Iorwerth Archer","hitpoints":105,"combatLevel":90,"slayerLevel":1,"attackSpeed":5,"attackLevel":10,"strengthLevel":10,"defenceLevel":80,"rangeLevel":90,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"8847":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"8871":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"8872":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"8917":{"name":"Fragment of Seren","hitpoints":1000,"combatLevel":494,"attackSpeed":7,"attackLevel":242,"strengthLevel":288,"defenceLevel":102,"rangeLevel":235,"magicLevel":102,"stab":236,"slash":236,"crush":236,"range":224,"stabDef":320,"slashDef":220,"crushDef":320,"rangeDef":480,"magicDef":10},"8918":{"name":"Fragment of Seren","hitpoints":1000,"combatLevel":494,"attackSpeed":7,"attackLevel":242,"strengthLevel":288,"defenceLevel":102,"rangeLevel":235,"magicLevel":102,"stab":236,"slash":236,"crush":236,"range":224,"stabDef":320,"slashDef":220,"crushDef":320,"rangeDef":480,"magicDef":10},"8919":{"name":"Fragment of Seren","hitpoints":1000,"combatLevel":494,"attackSpeed":7,"attackLevel":242,"strengthLevel":288,"defenceLevel":102,"rangeLevel":235,"magicLevel":102,"stab":236,"slash":236,"crush":236,"range":224,"stabDef":320,"slashDef":220,"crushDef":320,"rangeDef":480,"magicDef":10},"8920":{"name":"Fragment of Seren","hitpoints":1000,"combatLevel":494,"attackSpeed":7,"attackLevel":242,"strengthLevel":288,"defenceLevel":102,"rangeLevel":235,"magicLevel":102,"stab":236,"slash":236,"crush":236,"range":224,"stabDef":320,"slashDef":220,"crushDef":320,"rangeDef":480,"magicDef":10},"8950":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"9016":{"name":"Essyllt","hitpoints":320,"combatLevel":236,"attackSpeed":4,"attackLevel":268,"strengthLevel":268,"defenceLevel":104,"rangeLevel":342,"magicLevel":104,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusStrength":28,"bonusRangeStrength":28},"9021":{"name":"Crystalline Hunllef","hitpoints":600,"combatLevel":674,"attackSpeed":5},"9022":{"name":"Crystalline Hunllef","hitpoints":600,"combatLevel":674,"attackSpeed":5},"9023":{"name":"Crystalline Hunllef","hitpoints":600,"combatLevel":674,"attackSpeed":5},"9024":{"name":"Crystalline Hunllef","hitpoints":600,"combatLevel":674,"attackSpeed":5},"9026":{"name":"Crystalline Rat","combatLevel":24,"attackSpeed":4},"9028":{"name":"Crystalline Bat","combatLevel":33,"attackSpeed":4},"9029":{"name":"Crystalline Unicorn","combatLevel":48,"attackSpeed":4},"9030":{"name":"Crystalline Scorpion","combatLevel":64,"attackSpeed":4},"9031":{"name":"Crystalline Wolf","combatLevel":74,"attackSpeed":4},"9032":{"name":"Crystalline Bear","combatLevel":172,"attackSpeed":4},"9033":{"name":"Crystalline Dragon","combatLevel":172,"attackSpeed":4},"9035":{"name":"Corrupted Hunllef","hitpoints":1000,"combatLevel":894,"attackSpeed":5},"9036":{"name":"Corrupted Hunllef","hitpoints":1000,"combatLevel":894,"attackSpeed":5},"9037":{"name":"Corrupted Hunllef","hitpoints":1000,"combatLevel":894,"attackSpeed":5},"9038":{"name":"Corrupted Hunllef","hitpoints":1000,"combatLevel":894,"attackSpeed":5},"9040":{"name":"Corrupted Rat","combatLevel":34,"attackSpeed":4},"9041":{"name":"Corrupted Spider","hitpoints":12,"combatLevel":32,"attackSpeed":4},"9042":{"name":"Corrupted Bat","combatLevel":48,"attackSpeed":4},"9043":{"name":"Corrupted Unicorn","combatLevel":64,"attackSpeed":4},"9044":{"name":"Corrupted Scorpion","combatLevel":89,"attackSpeed":4},"9045":{"name":"Corrupted Wolf","combatLevel":102,"attackSpeed":4},"9046":{"name":"Corrupted Bear","hitpoints":100,"combatLevel":258,"attackSpeed":4},"9047":{"name":"Corrupted Dragon","combatLevel":258,"attackSpeed":4},"9048":{"name":"Corrupted Dark Beast","hitpoints":100,"combatLevel":258,"attackSpeed":4},"9049":{"name":"Zalcano","hitpoints":1000,"combatLevel":336,"attackSpeed":5},"9051":{"name":"Golem","hitpoints":14,"combatLevel":64},"9181":{"name":"Dire Wolf","hitpoints":74,"combatLevel":72,"slayerLevel":1,"attackSpeed":4,"attackLevel":60,"strengthLevel":61,"defenceLevel":62,"rangeLevel":1,"magicLevel":1},"9182":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9183":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9184":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9185":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9186":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9187":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9188":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9189":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9190":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9191":{"name":"Guard","hitpoints":105,"combatLevel":108,"slayerLevel":1,"attackSpeed":4,"attackLevel":95,"strengthLevel":80,"defenceLevel":95,"magicLevel":1,"stabDef":50,"slashDef":70,"crushDef":70,"rangeDef":50,"magicDef":60},"9246":{"name":"Arianwyn (hard)","hitpoints":300,"combatLevel":368,"attackSpeed":5,"defenceLevel":102,"rangeLevel":552,"magicLevel":153,"range":126,"stabDef":80,"slashDef":80,"crushDef":80,"rangeDef":180,"magicDef":260},"9247":{"name":"Essyllt (hard)","hitpoints":320,"combatLevel":395,"attackSpeed":4,"attackLevel":408,"strengthLevel":408,"defenceLevel":104,"rangeLevel":512,"magicLevel":104,"range":168,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusAttack":14,"bonusStrength":28,"bonusRangeStrength":28},"9249":{"name":"Essyllt (hard)","hitpoints":320,"combatLevel":395,"attackSpeed":4,"attackLevel":408,"strengthLevel":408,"defenceLevel":104,"rangeLevel":512,"magicLevel":104,"range":168,"stabDef":40,"slashDef":40,"crushDef":20,"rangeDef":120,"magicDef":30,"bonusAttack":14,"bonusStrength":28,"bonusRangeStrength":28},"9258":{"name":"Basilisk Sentinel","hitpoints":520,"combatLevel":358,"slayerLevel":60,"attackSpeed":4,"attackLevel":274,"strengthLevel":274,"defenceLevel":274,"rangeLevel":1,"magicLevel":274,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":10,"magicDef":50,"bonusAttack":12,"bonusMagicDamage":12},"9282":{"name":"Basilisk Youngling","hitpoints":60,"combatLevel":57,"slayerLevel":40,"attackSpeed":4,"attackLevel":25,"strengthLevel":40,"defenceLevel":70,"rangeLevel":1,"magicLevel":1,"stabDef":20,"slashDef":20,"magicDef":20},"9287":{"name":"Monstrous Basilisk","hitpoints":170,"combatLevel":135,"attackSpeed":4,"attackLevel":88,"strengthLevel":98,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"magicDef":35,"poisonImmune":true,"venomImmune":true},"9288":{"name":"Monstrous Basilisk","hitpoints":170,"combatLevel":135,"attackSpeed":4,"attackLevel":88,"strengthLevel":98,"defenceLevel":130,"rangeLevel":1,"magicLevel":1,"stabDef":35,"slashDef":35,"magicDef":35,"poisonImmune":true,"venomImmune":true},"9289":{"name":"The Jormungand","hitpoints":600,"combatLevel":363,"slayerLevel":40,"attackSpeed":5,"attackLevel":180,"strengthLevel":180,"defenceLevel":180,"rangeLevel":180,"magicLevel":180,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":50,"magicDef":50,"bonusStrength":12,"bonusRangeStrength":12,"bonusMagicDamage":12},"9290":{"name":"The Jormungand","hitpoints":600,"combatLevel":363,"slayerLevel":40,"attackSpeed":5,"attackLevel":180,"strengthLevel":180,"defenceLevel":180,"rangeLevel":180,"magicLevel":180,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":50,"magicDef":50,"bonusStrength":12,"bonusRangeStrength":12,"bonusMagicDamage":12},"9291":{"name":"The Jormungand","hitpoints":600,"combatLevel":363,"slayerLevel":40,"attackSpeed":5,"attackLevel":180,"strengthLevel":180,"defenceLevel":180,"rangeLevel":180,"magicLevel":180,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":50,"magicDef":50,"bonusStrength":12,"bonusRangeStrength":12,"bonusMagicDamage":12},"9292":{"name":"The Jormungand","hitpoints":600,"combatLevel":363,"slayerLevel":40,"attackSpeed":5,"attackLevel":180,"strengthLevel":180,"defenceLevel":180,"rangeLevel":180,"magicLevel":180,"stabDef":50,"slashDef":50,"crushDef":10,"rangeDef":50,"magicDef":50,"bonusStrength":12,"bonusRangeStrength":12,"bonusMagicDamage":12},"9293":{"name":"Basilisk Knight","hitpoints":300,"combatLevel":204,"slayerLevel":60,"attackSpeed":4,"attackLevel":186,"strengthLevel":186,"defenceLevel":186,"rangeLevel":1,"magicLevel":186,"stabDef":30,"slashDef":30,"magicDef":30},"9295":{"name":"Typhor","hitpoints":280,"combatLevel":194,"slayerLevel":40,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":150,"rangeLevel":1,"magicLevel":150,"stabDef":25,"slashDef":25,"magicDef":25,"poisonImmune":true,"venomImmune":true},"9296":{"name":"Typhor","hitpoints":280,"combatLevel":194,"slayerLevel":40,"attackSpeed":4,"attackLevel":150,"strengthLevel":150,"defenceLevel":150,"rangeLevel":1,"magicLevel":150,"stabDef":25,"slashDef":25,"magicDef":25,"poisonImmune":true,"venomImmune":true}} \ No newline at end of file From 69bedbaede5e9883856814c50638ad629bf30cc8 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Mon, 18 Nov 2019 02:11:26 +0100 Subject: [PATCH 58/66] Update Dependencies.kt --- buildSrc/src/main/kotlin/Dependencies.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 09ed769a42..2acfd11f0d 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -27,9 +27,9 @@ const val kotlinVersion = "1.3.50" object ProjectVersions { const val launcherVersion = "2.0.4" - const val rlVersion = "1.5.41" + const val rlVersion = "1.5.42-SNAPSHOT" - const val openosrsVersion = "2.1.13.0" + const val openosrsVersion = "2.1.14.0-SNAPSHOT" const val rsversion = 185 const val cacheversion = 165 From f0ce34a943581ad3325f0196e7033f1339b6d41a Mon Sep 17 00:00:00 2001 From: Ganom Date: Sun, 17 Nov 2019 23:17:50 -0500 Subject: [PATCH 59/66] widgetapi: add back spell widget info (#2051) --- .../net/runelite/api/widgets/WidgetID.java | 149 ++++++++++++++++ .../net/runelite/api/widgets/WidgetInfo.java | 161 +++++++++++++++++- 2 files changed, 303 insertions(+), 7 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 482c0e8b06..d3e9e1dc07 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -838,6 +838,155 @@ public class WidgetID static final int FILTER_BUTTON_PARENT = 186; static final int FILTER_BUTTON = 188; static final int TOOLTIP = 189; + + // NORMAL SPELLS + static final int LUMBRIDGE_HOME_TELEPORT = 5; + static final int WIND_STRIKE = 6; + static final int CONFUSE = 7; + static final int ENCHANT_CROSSBOW_BOLT = 8; + static final int WATER_STRIKE = 9; + static final int LVL_1_ENCHANT = 10; + static final int EARTH_STRIKE = 11; + static final int WEAKEN = 12; + static final int FIRE_STRIKE = 13; + static final int BONES_TO_BANANAS = 14; + static final int WIND_BOLT = 15; + static final int CURSE = 16; + static final int BIND = 17; + static final int LOW_LEVEL_ALCHEMY = 18; + static final int WATER_BOLT = 19; + static final int VARROCK_TELEPORT = 20; + static final int LVL_2_ENCHANT = 21; + static final int EARTH_BOLT = 22; + static final int LUMBRIDGE_TELEPORT = 23; + static final int TELEKINETIC_GRAB = 24; + static final int FIRE_BOLT = 25; + static final int FALADOR_TELEPORT = 26; + static final int CRUMBLE_UNDEAD = 27; + static final int TELEPORT_TO_HOUSE = 28; + static final int WIND_BLAST = 29; + static final int SUPERHEAT_ITEM = 30; + static final int CAMELOT_TELEPORT = 31; + static final int WATER_BLAST = 32; + static final int LVL_3_ENCHANT = 33; + static final int IBAN_BLAST = 34; + static final int SNARE = 35; + static final int MAGIC_DART = 36; + static final int ARDOUGNE_TELEPORT = 37; + static final int EARTH_BLAST = 38; + static final int HIGH_LEVEL_ALCHEMY = 39; + static final int CHARGE_WATER_ORB = 40; + static final int LVL_4_ENCHANT = 41; + static final int WATCHTOWER_TELEPORT = 42; + static final int FIRE_BLAST = 43; + static final int CHARGE_EARTH_ORB = 44; + static final int BONES_TO_PEACHES = 45; + static final int SARADOMIN_STRIKE = 46; + static final int CLAWS_OF_GUTHIX = 47; + static final int FLAMES_OF_ZAMORAK = 48; + static final int TROLLHEIM_TELEPORT = 49; + static final int WIND_WAVE = 50; + static final int CHARGE_FIRE_ORB = 51; + static final int TELEPORT_TO_APE_ATOLL = 52; + static final int WATER_WAVE = 53; + static final int CHARGE_AIR_ORB = 54; + static final int VULNERABILITY = 55; + static final int LVL_5_ENCHANT = 56; + static final int TELEPORT_TO_KOUREND = 57; + static final int EARTH_WAVE = 58; + static final int ENFEEBLE = 59; + static final int TELEOTHER_LUMBRIDGE = 60; + static final int FIRE_WAVE = 61; + static final int ENTANGLE = 62; + static final int STUN = 63; + static final int CHARGE = 64; + static final int WIND_SURGE = 65; + static final int TELEOTHER_FALADOR = 66; + static final int WATER_SURGE = 67; + static final int TELE_BLOCK = 68; + static final int BOUNTY_TARGET_TELEPORT = 69; + static final int LVL_6_ENCHANT = 70; + static final int TELEOTHER_CAMELOT = 71; + static final int EARTH_SURGE = 72; + static final int LVL_7_ENCHANT = 73; + static final int FIRE_SURGE = 74; + + // ANCIENT SPELLS + static final int ICE_RUSH = 75; + static final int ICE_BLITZ = 76; + static final int ICE_BURST = 77; + static final int ICE_BARRAGE = 78; + static final int BLOOD_RUSH = 79; + static final int BLOOD_BLITZ = 80; + static final int BLOOD_BURST = 81; + static final int BLOOD_BARRAGE = 82; + static final int SMOKE_RUSH = 83; + static final int SMOKE_BLITZ = 84; + static final int SMOKE_BURST = 85; + static final int SMOKE_BARRAGE = 86; + static final int SHADOW_RUSH = 87; + static final int SHADOW_BLITZ = 88; + static final int SHADOW_BURST = 89; + static final int SHADOW_BARRAGE = 90; + static final int PADDEWWA_TELEPORT = 91; + static final int SENNTISTEN_TELEPORT = 92; + static final int KHARYRLL_TELEPORT = 93; + static final int LASSAR_TELEPORT = 94; + static final int DAREEYAK_TELEPORT = 95; + static final int CARRALLANGER_TELEPORT = 96; + static final int ANNAKARL_TELEPORT = 97; + static final int GHORROCK_TELEPORT = 98; + static final int EDGEVILLE_HOME_TELEPORT = 99; + + // LUNAR SPELLS + static final int LUNAR_HOME_TELEPORT = 100; + static final int BAKE_PIE = 101; + static final int CURE_PLANT = 102; + static final int MONSTER_EXAMINE = 103; + static final int NPC_CONTACT = 104; + static final int CURE_OTHER = 105; + static final int HUMIDIFY = 106; + static final int MOONCLAN_TELEPORT = 107; + static final int TELE_GROUP_MOONCLAN = 108; + static final int CURE_ME = 109; + static final int HUNTER_KIT = 110; + static final int WATERBIRTH_TELEPORT = 111; + static final int TELE_GROUP_WATERBIRTH = 112; + static final int CURE_GROUP = 113; + static final int STAT_SPY = 114; + static final int BARBARIAN_TELEPORT = 115; + static final int TELE_GROUP_BARBARIAN = 116; + static final int SUPERGLASS_MAKE = 117; + static final int TAN_LEATHER = 118; + static final int KHAZARD_TELEPORT = 119; + static final int TELE_GROUP_KHAZARD = 120; + static final int DREAM = 121; + static final int STRING_JEWELLERY = 122; + static final int STAT_RESTORE_POT_SHARE = 123; + static final int MAGIC_IMBUE = 124; + static final int FERTILE_SOIL = 125; + static final int BOOST_POTION_SHARE = 126; + static final int FISHING_GUILD_TELEPORT = 127; + static final int TELE_GROUP_FISHING_GUILD = 128; + static final int PLANK_MAKE = 129; + static final int CATHERBY_TELEPORT = 130; + static final int TELE_GROUP_CATHERBY = 131; + static final int RECHARGE_DRAGONSTONE = 132; + static final int ICE_PLATEAU_TELEPORT = 133; + static final int TELE_GROUP_ICE_PLATEAU = 134; + static final int ENERGY_TRANSFER = 135; + static final int HEAL_OTHER = 136; + static final int VENGEANCE_OTHER = 137; + static final int VENGEANCE = 138; + static final int HEAL_GROUP = 139; + static final int SPELLBOOK_SWAP = 140; + static final int GEOMANCY = 141; + static final int SPIN_FLAX = 142; + static final int OURANIA_TELEPORT = 143; + + // ARCEUUS SPELLS + static final int ARCEUUS_HOME_TELEPORT = 144; + static final int BATTLEFRONT_TELEPORT = 179; } static class StandardSpellBook diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 95bffcac99..64ab46a6ef 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -526,18 +526,165 @@ public enum WidgetInfo SPELLBOOK_FILTERED_SPELLS_PARENT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTERED_SPELLS_PARENT), SPELLBOOK_FILTERED_BOUNDS(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTERED_SPELLS_BOUNDS), + /* STANDARD SPELL BOOK WIDGETS*/ + SPELL_LUMBRIDGE_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LUMBRIDGE_HOME_TELEPORT), + SPELL_WIND_STRIKE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WIND_STRIKE), + SPELL_CONFUSE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CONFUSE), + SPELL_ENCHANT_CROSSBOW_BOLT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ENCHANT_CROSSBOW_BOLT), + SPELL_WATER_STRIKE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WATER_STRIKE), + SPELL_LVL_1_ENCHANT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LVL_1_ENCHANT), + SPELL_EARTH_STRIKE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.EARTH_STRIKE), + SPELL_WEAKEN(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WEAKEN), + SPELL_FIRE_STRIKE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FIRE_STRIKE), + SPELL_BONES_TO_BANANAS(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BONES_TO_BANANAS), + SPELL_WIND_BOLT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WIND_BOLT), + SPELL_CURSE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CURSE), + SPELL_BIND(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BIND), + SPELL_LOW_LEVEL_ALCHEMY(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LOW_LEVEL_ALCHEMY), + SPELL_WATER_BOLT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WATER_BOLT), + SPELL_VARROCK_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.VARROCK_TELEPORT), + SPELL_LVL_2_ENCHANT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LVL_2_ENCHANT), + SPELL_EARTH_BOLT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.EARTH_BOLT), + SPELL_LUMBRIDGE_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LUMBRIDGE_TELEPORT), + SPELL_TELEKINETIC_GRAB(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELEKINETIC_GRAB), + SPELL_FIRE_BOLT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FIRE_BOLT), + SPELL_FALADOR_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FALADOR_TELEPORT), + SPELL_CRUMBLE_UNDEAD(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CRUMBLE_UNDEAD), + SPELL_TELEPORT_TO_HOUSE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELEPORT_TO_HOUSE), + SPELL_WIND_BLAST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WIND_BLAST), + SPELL_SUPERHEAT_ITEM(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SUPERHEAT_ITEM), + SPELL_CAMELOT_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CAMELOT_TELEPORT), + SPELL_WATER_BLAST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WATER_BLAST), + SPELL_LVL_3_ENCHANT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LVL_3_ENCHANT), + SPELL_IBAN_BLAST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.IBAN_BLAST), + SPELL_SNARE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SNARE), + SPELL_MAGIC_DART(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.MAGIC_DART), + SPELL_ARDOUGNE_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ARDOUGNE_TELEPORT), + SPELL_EARTH_BLAST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.EARTH_BLAST), + SPELL_HIGH_LEVEL_ALCHEMY(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.HIGH_LEVEL_ALCHEMY), + SPELL_CHARGE_WATER_ORB(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CHARGE_WATER_ORB), + SPELL_LVL_4_ENCHANT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LVL_4_ENCHANT), + SPELL_WATCHTOWER_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WATCHTOWER_TELEPORT), + SPELL_FIRE_BLAST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FIRE_BLAST), + SPELL_CHARGE_EARTH_ORB(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CHARGE_EARTH_ORB), + SPELL_BONES_TO_PEACHES(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BONES_TO_PEACHES), + SPELL_SARADOMIN_STRIKE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SARADOMIN_STRIKE), + SPELL_CLAWS_OF_GUTHIX(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CLAWS_OF_GUTHIX), + SPELL_FLAMES_OF_ZAMORAK(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FLAMES_OF_ZAMORAK), + SPELL_TROLLHEIM_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TROLLHEIM_TELEPORT), + SPELL_WIND_WAVE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WIND_WAVE), + SPELL_CHARGE_FIRE_ORB(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CHARGE_FIRE_ORB), + SPELL_TELEPORT_TO_APE_ATOLL(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELEPORT_TO_APE_ATOLL), + SPELL_WATER_WAVE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WATER_WAVE), + SPELL_CHARGE_AIR_ORB(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CHARGE_AIR_ORB), + SPELL_VULNERABILITY(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.VULNERABILITY), + SPELL_LVL_5_ENCHANT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LVL_5_ENCHANT), + SPELL_TELEPORT_TO_KOUREND(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELEPORT_TO_KOUREND), + SPELL_EARTH_WAVE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.EARTH_WAVE), + SPELL_ENFEEBLE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ENFEEBLE), + SPELL_FIRE_WAVE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FIRE_WAVE), + SPELL_ENTANGLE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ENTANGLE), + SPELL_TELEOTHER_LUMBRIDGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELEOTHER_LUMBRIDGE), + SPELL_STUN(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.STUN), + SPELL_CHARGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CHARGE), + SPELL_WIND_SURGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WIND_SURGE), + SPELL_TELEOTHER_FALADOR(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELEOTHER_FALADOR), + SPELL_WATER_SURGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WATER_SURGE), + SPELL_TELE_BLOCK(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELE_BLOCK), + SPELL_LVL_6_ENCHANT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LVL_6_ENCHANT), + SPELL_TELEOTHER_CAMELOT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELEOTHER_CAMELOT), + SPELL_EARTH_SURGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.EARTH_SURGE), + SPELL_LVL_7_ENCHANT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LVL_7_ENCHANT), + SPELL_FIRE_SURGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FIRE_SURGE), + SPELL_BOUNTY_TARGET_TELEPORT2(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BOUNTY_TARGET_TELEPORT), + /* END OF STANDARD SPELL BOOK WIDGETS*/ + + /* ANCIENT SPELL BOOK WIDGETS*/ + SPELL_ICE_RUSH(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ICE_RUSH), + SPELL_ICE_BLITZ(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ICE_BLITZ), + SPELL_ICE_BURST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ICE_BURST), + SPELL_ICE_BARRAGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ICE_BARRAGE), + SPELL_BLOOD_RUSH(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BLOOD_RUSH), + SPELL_BLOOD_BLITZ(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BLOOD_BLITZ), + SPELL_BLOOD_BURST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BLOOD_BURST), + SPELL_BLOOD_BARRAGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BLOOD_BARRAGE), + SPELL_SMOKE_RUSH(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SMOKE_RUSH), + SPELL_SMOKE_BLITZ(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SMOKE_BLITZ), + SPELL_SMOKE_BURST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SMOKE_BURST), + SPELL_SMOKE_BARRAGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SMOKE_BARRAGE), + SPELL_SHADOW_RUSH(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SHADOW_RUSH), + SPELL_SHADOW_BLITZ(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SHADOW_BLITZ), + SPELL_SHADOW_BURST(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SHADOW_BURST), + SPELL_SHADOW_BARRAGE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SHADOW_BARRAGE), + SPELL_PADDEWWA_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.PADDEWWA_TELEPORT), + SPELL_SENNTISTEN_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SENNTISTEN_TELEPORT), + SPELL_KHARYRLL_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.KHARYRLL_TELEPORT), + SPELL_LASSAR_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LASSAR_TELEPORT), + SPELL_DAREEYAK_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.DAREEYAK_TELEPORT), + SPELL_CARRALLANGER_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CARRALLANGER_TELEPORT), + SPELL_ANNAKARL_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ANNAKARL_TELEPORT), + SPELL_GHORROCK_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.GHORROCK_TELEPORT), + SPELL_EDGEVILLE_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.EDGEVILLE_HOME_TELEPORT), + SPELL_BOUNTY_TARGET_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BOUNTY_TARGET_TELEPORT), + /* END OF ANCIENT SPELL BOOK WIDGETS*/ + + /* LUNAR SPELL BOOK WIDGETS*/ + SPELL_LUNAR_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.LUNAR_HOME_TELEPORT), + SPELL_VENGEANCE_OTHER(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.VENGEANCE_OTHER), + SPELL_VENGEANCE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.VENGEANCE), + SPELL_BOUNTY_TARGET_TELEPORT3(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BOUNTY_TARGET_TELEPORT), + SPELL_BAKE_PIE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BAKE_PIE), + SPELL_CURE_PLANT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CURE_PLANT), + SPELL_MONSTER_EXAMINE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.MONSTER_EXAMINE), + SPELL_NPC_CONTACT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.NPC_CONTACT), + SPELL_CURE_OTHER(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CURE_OTHER), + SPELL_HUMIDIFY(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.HUMIDIFY), + SPELL_MOONCLAN_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.MOONCLAN_TELEPORT), + SPELL_TELE_GROUP_MOONCLAN(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELE_GROUP_MOONCLAN), + SPELL_CURE_ME(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CURE_ME), + SPELL_HUNTER_KIT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.HUNTER_KIT), + SPELL_WATERBIRTH_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.WATERBIRTH_TELEPORT), + SPELL_TELE_GROUP_WATERBIRTH(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELE_GROUP_WATERBIRTH), + SPELL_CURE_GROUP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CURE_GROUP), + SPELL_STAT_SPY(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.STAT_SPY), + SPELL_BARBARIAN_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BARBARIAN_TELEPORT), + SPELL_TELE_GROUP_BARBARIAN(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELE_GROUP_BARBARIAN), + SPELL_SUPERGLASS_MAKE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SUPERGLASS_MAKE), + SPELL_TAN_LEATHER(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TAN_LEATHER), + SPELL_KHAZARD_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.KHAZARD_TELEPORT), + SPELL_TELE_GROUP_KHAZARD(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELE_GROUP_KHAZARD), + SPELL_DREAM(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.DREAM), + SPELL_STRING_JEWELLERY(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.STRING_JEWELLERY), + SPELL_STAT_RESTORE_POT_SHARE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.STAT_RESTORE_POT_SHARE), + SPELL_MAGIC_IMBUE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.MAGIC_IMBUE), + SPELL_FERTILE_SOIL(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FERTILE_SOIL), + SPELL_BOOST_POTION_SHARE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BOOST_POTION_SHARE), + SPELL_FISHING_GUILD_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FISHING_GUILD_TELEPORT), + SPELL_TELE_GROUP_FISHING_GUILD(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELE_GROUP_FISHING_GUILD), + SPELL_PLANK_MAKE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.PLANK_MAKE), + SPELL_CATHERBY_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.CATHERBY_TELEPORT), + SPELL_TELE_GROUP_CATHERBY(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELE_GROUP_CATHERBY), + SPELL_RECHARGE_DRAGONSTONE(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.RECHARGE_DRAGONSTONE), + SPELL_ICE_PLATEAU_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ICE_PLATEAU_TELEPORT), + SPELL_TELE_GROUP_ICE_PLATEAU(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TELE_GROUP_ICE_PLATEAU), + SPELL_ENERGY_TRANSFER(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ENERGY_TRANSFER), + SPELL_HEAL_OTHER(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.HEAL_OTHER), + SPELL_HEAL_GROUP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.HEAL_GROUP), + SPELL_SPELLBOOK_SWAP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SPELLBOOK_SWAP), + SPELL_GEOMANCY(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.GEOMANCY), + SPELL_SPIN_FLAX(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SPIN_FLAX), + SPELL_OURANIA_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.OURANIA_TELEPORT), + /* END OF LUNAR SPELL BOOK WIDGETS*/ + SPELL_TOOLTIP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TOOLTIP), + /* ARCEUUS SPELL BOOK WIDGETS*/ + SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ARCEUUS_HOME_TELEPORT), + SPELL_BATTLEFRONT_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.BATTLEFRONT_TELEPORT), + /* END OF ARCEUUS SPELL BOOK WIDGETS*/ SPELLBOOK_FILTER_SECTION_PARENT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTER_SECTION_PARENT), SPELLBOOK_FILTER_BUTTONS_PARENT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTER_BUTTONS_PARENT), SPELLBOOK_FILTER_BUTTON_PARENT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTER_BUTTON_PARENT), SPELLBOOK_FILTER_BUTTON(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.FILTER_BUTTON), - SPELL_TOOLTIP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TOOLTIP), - - SPELL_LUMBRIDGE_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.StandardSpellBook.LUMBRIDGE_HOME_TELEPORT), - SPELL_EDGEVILLE_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.AncientSpellBook.EDGEVILLE_HOME_TELEPORT), - SPELL_LUNAR_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.LunarSpellBook.LUNAR_HOME_TELEPORT), - SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.ArceuusSpellBook.ARCEUUS_HOME_TELEPORT), - KOUREND_FAVOUR_OVERLAY(WidgetID.KOUREND_FAVOUR_GROUP_ID, WidgetID.KourendFavour.KOUREND_FAVOUR_OVERLAY), ZEAH_MESS_HALL_COOKING_DISPLAY(WidgetID.ZEAH_MESS_HALL_GROUP_ID, WidgetID.Zeah.MESS_HALL_COOKING_DISPLAY), From 3e790e66c2b996e93a22d94e9a5759bcfac8aa1d Mon Sep 17 00:00:00 2001 From: Thomas Cylke Date: Mon, 18 Nov 2019 18:12:29 -0500 Subject: [PATCH 60/66] Varbits for which keys are assigned to tabs in game. Useful for potential future plugins (definitely not for externals :^) ) --- .../main/java/net/runelite/api/Varbits.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index 2aa98cb117..936f262036 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -707,7 +707,28 @@ public enum Varbits TWISTED_LEAGUE_RELIC_2(10050), TWISTED_LEAGUE_RELIC_3(10051), TWISTED_LEAGUE_RELIC_4(10052), - TWISTED_LEAGUE_RELIC_5(10053); + TWISTED_LEAGUE_RELIC_5(10053), + + /** + * Value of hotkey varbits can be 0-13 + * 0 corresponds to no hotkey set + * 1-12 correspond to F1-F12 respectively + * 13 corresponds to escape + */ + COMBAT_TAB_HOTKEY(4675), + STATS_TAB_HOTKEY(4676), + QUESTS_TAB_HOTKEY(4677), + INVENTORY_TAB_HOTKEY(4678), + EQUIPMENT_TAB_HOTKEY(4679), + PRAYER_TAB_HOTKEY(4680), + SPELLBOOK_TAB_HOTKEY(4682), + FRIENDS_TAB_HOTKEY(4684), + ACCOUNT_MANAGEMENT_TAB_HOTKEY(6517), + LOGOUT_TAB_HOTKEY(4689), + OPTIONS_TAB_HOTKEY(4686), + EMOTES_TAB_HOTKEY(4687), + CLAN_TAB_HOTKEY(4683), + MUSIC_TAB_HOTKEY(4688); /** * The raw varbit ID. From 8721ef6f0e9303fb04c55996430162560b6653fe Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Wed, 20 Nov 2019 20:25:23 +0100 Subject: [PATCH 61/66] Update gradle.yml --- .github/workflows/gradle.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 36d5e223a4..3f32cf2063 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -10,12 +10,6 @@ jobs: steps: - uses: actions/checkout@v1 - - uses: actions/cache@v1 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - name: Make gradlew executable run: chmod +x ./gradlew - name: Update Gradle Wrapper @@ -28,4 +22,4 @@ jobs: PULL_REQUEST_TITLE: 'project: Update gradle wrapper' PULL_REQUEST_BODY: This is an auto-generated PR with an updated gradle version COMMIT_MESSAGE: 'project: Update gradle wrapper' - PULL_REQUEST_LABELS: automated-pull-request, gradle \ No newline at end of file + PULL_REQUEST_LABELS: automated-pull-request, gradle From e95321f3478180244f973db55391be56e647f336 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Wed, 20 Nov 2019 20:25:49 +0100 Subject: [PATCH 62/66] Update scraper.yml --- .github/workflows/scraper.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/scraper.yml b/.github/workflows/scraper.yml index 27c0a700a9..67c1ab49fa 100644 --- a/.github/workflows/scraper.yml +++ b/.github/workflows/scraper.yml @@ -10,12 +10,6 @@ jobs: steps: - uses: actions/checkout@v1 - - uses: actions/cache@v1 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - name: Set up JDK 11 uses: actions/setup-java@v1 with: @@ -42,4 +36,4 @@ jobs: PULL_REQUEST_TITLE: 'Client: Update NPC stats' PULL_REQUEST_BODY: This is an auto-generated PR with changes from the OSRS wiki COMMIT_MESSAGE: 'Client: Update NPC stats' - PULL_REQUEST_LABELS: automated-pull-request, NPC stats \ No newline at end of file + PULL_REQUEST_LABELS: automated-pull-request, NPC stats From bc708c01b957fece72d2bf8b495bf85aa5fdfb51 Mon Sep 17 00:00:00 2001 From: Ganom Date: Wed, 20 Nov 2019 15:04:47 -0500 Subject: [PATCH 63/66] project: update version to 2.1.14.0 (#2055) --- buildSrc/src/main/kotlin/Dependencies.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 2acfd11f0d..d7b12c3a02 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -29,7 +29,7 @@ object ProjectVersions { const val launcherVersion = "2.0.4" const val rlVersion = "1.5.42-SNAPSHOT" - const val openosrsVersion = "2.1.14.0-SNAPSHOT" + const val openosrsVersion = "2.1.14.0" const val rsversion = 185 const val cacheversion = 165 From 2004dc230f3ef22c21813ef4369d2692ecf5cc1c Mon Sep 17 00:00:00 2001 From: Ganom Date: Wed, 20 Nov 2019 15:55:45 -0500 Subject: [PATCH 64/66] project: update version to 2.1.15.0-SNAPSHOT (#2056) --- buildSrc/src/main/kotlin/Dependencies.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index d7b12c3a02..3fbd15960a 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -29,7 +29,7 @@ object ProjectVersions { const val launcherVersion = "2.0.4" const val rlVersion = "1.5.42-SNAPSHOT" - const val openosrsVersion = "2.1.14.0" + const val openosrsVersion = "2.1.15.0-SNAPSHOT" const val rsversion = 185 const val cacheversion = 165 From 74ae4d2723ddef819ec498547dc9599598eb1e67 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Thu, 21 Nov 2019 09:35:19 +0100 Subject: [PATCH 65/66] Fix permabones config check --- .../deathindicator/DeathIndicatorPlugin.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java index b1f2cfb0a3..a525d14baa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/deathindicator/DeathIndicatorPlugin.java @@ -229,24 +229,24 @@ public class DeathIndicatorPlugin extends Plugin private void onPlayerDeath(PlayerDeath death) { - if (client.isInInstancedRegion() || death.getPlayer().getWorldLocation().getRegionID() == 13362) + if (client.isInInstancedRegion()) { return; } - if (death.getPlayer() != client.getLocalPlayer()) + final Player player = death.getPlayer(); + + if (config.permaBones() && player.getWorldLocation().getRegionID() != 13362) + { + newBoneFor(player); + } + + if (player != client.getLocalPlayer()) { - newBoneFor(death.getPlayer()); return; } - Player lp = client.getLocalPlayer(); - if (config.permaBones()) - { - newBoneFor(lp); - } - - lastDeath = lp.getWorldLocation(); + lastDeath = player.getWorldLocation(); lastDeathWorld = client.getWorld(); lastDeathTime = Instant.now(); } From 0322923895da2cfc26bc44c0052f24ab49205214 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Thu, 21 Nov 2019 10:00:04 +0100 Subject: [PATCH 66/66] Attackstyles: Add @VisibleForTesting annotations and lombokify --- .../attackstyles/AttackStylesPlugin.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java index e32be3082b..409f10435c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/attackstyles/AttackStylesPlugin.java @@ -70,8 +70,11 @@ public class AttackStylesPlugin extends Plugin private int attackStyleVarbit = -1; private int equippedWeaponTypeVarbit = -1; private int castingModeVarbit = -1; + @Getter + @Nullable private AttackStyle attackStyle; private final Set warnedSkills = new HashSet<>(); + @Getter(AccessLevel.PACKAGE) private boolean warnedSkillSelected = false; private final Table widgetsToHide = HashBasedTable.create(); @@ -108,6 +111,7 @@ public class AttackStylesPlugin extends Plugin private boolean warnForRanged; private boolean warnForMagic; private boolean hideAutoRetaliate; + @VisibleForTesting boolean removeWarnedStyles; @Override @@ -159,17 +163,7 @@ public class AttackStylesPlugin extends Plugin eventBus.subscribe(VarbitChanged.class, this, this::onVarbitChanged); } - @Nullable - public AttackStyle getAttackStyle() - { - return attackStyle; - } - - boolean isWarnedSkillSelected() - { - return warnedSkillSelected; - } - + @VisibleForTesting void onWidgetHiddenChanged(WidgetHiddenChanged event) { if (event.getWidget().isSelfHidden() || TO_GROUP(event.getWidget().getId()) != COMBAT_GROUP_ID) @@ -215,6 +209,7 @@ public class AttackStylesPlugin extends Plugin } } + @VisibleForTesting void onVarbitChanged(VarbitChanged event) { int currentAttackStyleVarbit = client.getVar(VarPlayer.ATTACK_STYLE); @@ -240,6 +235,7 @@ public class AttackStylesPlugin extends Plugin } } + @VisibleForTesting void onConfigChanged(ConfigChanged event) { if (event.getGroup().equals("attackIndicator"))