From c5c1c2fc354cf60a554954afd991e15ac351f230 Mon Sep 17 00:00:00 2001 From: Mr Extremez Date: Sun, 22 Dec 2019 14:59:26 -0600 Subject: [PATCH] Cats/kalphite queen/random (#313) - Did some work with the kalphite queen --- 2006Redone Client/bin/ClientSettings.class | Bin 1092 -> 1101 bytes 2006Redone Client/bin/Flo.class | Bin 3377 -> 3553 bytes 2006Redone Client/bin/Game.class | Bin 222483 -> 223192 bytes 2006Redone Server/data/cfg/doors.cfg | 68 -- 2006Redone Server/data/cfg/global-objects.cfg | 3 - 2006Redone Server/data/cfg/npc.cfg | 3 + 2006Redone Server/data/doorsbackup.txt | 1023 ----------------- 2006Redone Server/data/doubledoors.txt | 2 - .../data/logs/commands/andrew5.txt | 4 + .../game/content/combat/npcs/NpcCombat.java | 84 +- .../game/content/combat/npcs/NpcEmotes.java | 10 +- .../game/content/minigames/PestControl.java | 4 +- .../game/dialogues/DialogueHandler.java | 7 +- .../game/globalworldobjects/Doors.java | 6 +- .../game/globalworldobjects/DoubleDoors.java | 4 +- .../rebotted/game/items/ItemAssistant.java | 2 +- .../src/com/rebotted/game/npcs/Npc.java | 1 + .../com/rebotted/game/npcs/NpcActions.java | 51 +- .../src/com/rebotted/game/npcs/NpcData.java | 11 +- .../com/rebotted/game/npcs/NpcHandler.java | 155 ++- .../src/com/rebotted/game/npcs/impl/Pets.java | 173 +-- .../rebotted/game/objects/ObjectsActions.java | 4 +- .../rebotted/game/players/MainFrameIDs.java | 9 + .../src/com/rebotted/game/players/Player.java | 6 +- .../rebotted/game/players/PlayerHandler.java | 4 +- .../com/rebotted/game/players/PlayerSave.java | 5 + .../src/com/rebotted/net/PacketSender.java | 2 +- .../rebotted/net/packets/impl/ClickItem.java | 2 +- .../rebotted/net/packets/impl/DropItem.java | 234 +--- .../src/com/rebotted/world/ObjectHandler.java | 79 +- 30 files changed, 372 insertions(+), 1584 deletions(-) delete mode 100644 2006Redone Server/data/cfg/doors.cfg delete mode 100644 2006Redone Server/data/cfg/global-objects.cfg delete mode 100644 2006Redone Server/data/doorsbackup.txt create mode 100644 2006Redone Server/src/com/rebotted/game/players/MainFrameIDs.java diff --git a/2006Redone Client/bin/ClientSettings.class b/2006Redone Client/bin/ClientSettings.class index 7665596e267bac753a61f4738c093afb4f4cb5cc..772049297b235717887f7455f1ae5413ff21ea12 100644 GIT binary patch delta 36 rcmX@Yah79)BBQvNk%56(QEF0tNl9voUPgXFNxoiwQTk?mMp0$}*$)eg delta 27 icmX@hafD-oA|oHKv8kSsk(r*6iMgJc#bygeQDy*QsRk+l diff --git a/2006Redone Client/bin/Flo.class b/2006Redone Client/bin/Flo.class index 44145627a55856ebc2d6c7d26f38ccbab8dc44f7..e9444d0360190d64ce497859ba8b90fa6212f285 100644 GIT binary patch delta 1911 zcmYjRT~JhI7=FI9XMb3Zu)r>^?2@FRaMUn=sEv|DgfLN2gVq&sg>^xGR%sP~Sy2hi zQIn&C;tyon+RsdbwNU9a(~OgoOj5!@3j*&S``D5>rag(KZj5GHMgli zv}!(+SM1R0O@(S09SWXCr+}+ywZXU}*cC3>5bbX33YQhv+Yv@Y!A|VbZkW{4Fy2%U zMZJJ68c7-1u?Kst=n=><-nT_c*70$ax1nICf_>=J%<@dH+!Bn21e~cTMhd6$Ql`z4 zS9#yTpcQ8YG9J^Y4MtlPXgH@GmkSGq6Jc@-X z_b(+-ejCgE6Iiikfq5L2@>Yj3iZnHQ6>n7aGn7x@wRrNL*F1_0{e>@qwejSH*D{j4 z<+Y6>T{R_87f;^sIxO7LVnahbIplR%M^VN14Y6fh{iQP3K&hE)W2r@tTxwNaRytSn z6KGIfasqzUWlkWVx-1Da8f#NLx#kvvw-NSdw@skkJC3e#bdO_qJh_y=WWqwOy_m^0 z4`z5MDKEv8Pjx(n={%o_SOMm-^v_{7GxH3^TZkIWK^^9z9z_VC7%foIMyqbjM-Ov& z2+!guN^pYi&+z4WcE>OlV-!p9K9=HRl;ReiM*=V4JG@8>U^7EA$Jmbp{OV{4Ed|Um ze1n55fJ82NblpqVJt*UI8_^*e#fW4h;9(*&!xp2D$im>WafHaqKtL|hL!^m^m}AAt z2e4;mP5Y0%Ch0xJP)$2jhc3ZsoI263P1w{}zuQt|n1mzEJ|zy1 z+d?P9$Z_ICkz0Oz=9A}(3uYH|1+v+#)koFgGU=q9RYV2YHSH@VDln5W8oOl^~v7GXIg(X~0HC0dr zD_FdhJgGt@i&ahatz~a+z-nr*7ERo3!#aeh$emb^y}aqeMx3TPhtPnV@Z%F~!W~-Q zqso3lBYwvg{1ZbE53o&`(JUNj5gvrZENmBZ5f)3(D$1}!RG?i{qeE=uy6q|+t$&KSuKHiq*;iS<8$2gBDzNs!C(xuN~Cq0D`_K$>oDHHD!$tadgxJG2b zdCf|0n0Yky5*Ck^)tOo$&M(d w-BpS!Z>kappstxZz4nqZfU*q-SGZo~6c{1XQNyvqKLR delta 1773 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

uxeY_mJVbm*nfAWTIY<%+bq}<$49OQLjw4>0xB2 zUWM$}tCC}SI619XBj@z$aQKE$CIfCH+NjMgP!S(+7GRNzvO%HocuxQEx9*)jLShdPk|b-bwQ5U8GTZS1Dib zCKc=5r3rdZX@=fQTA}xrHtKz(oqAvCh~7_nTkkJ@s1J}n(FZ0=U+9CRAN0Y}pZXA) z=xMS|PnX?#hFnGW%eC}OIZ_`kr|Ki*rh1m#O&=-y@a#EF&nwYJkRx)S0Ni>Z)Ygk2 zN-u^OeJnK6$3Zg;_qNg}LVJA@48iwsJpd#1sgS2ngSq&APJb3Q>9b(JJ{!*JbKz@! zK3vxqzzuyN{H-q_R9`|geJQDc@9O$8Qb%7-lJVVKUrE~Nt4L3L57J*G{(!!QjMUeX zVth~0H;@_nMq=UnMSU~bpl`t?+l))Lot)Hn;F4`87xkUw8+{kKrtc;<@qJf+mHeyk zqjvpOT3$a$!}Jmwjqeow2yLRjMmyrWmwucM)=$t({dJnBzd?)ilXSBFCY`0fMcs?_ zQ}lWLG%nrSbiMu#-J+i@`8bEvA>Q{v);|EI$8C~P+*cm>bxdkqy185$fl7@RWnk}pP+k4a}6*bF<=FdR_Fa031g3K|-2Xlr;N z$MC{ZqdcrMD!_W95^OUnV?SZA+o%Eujc~YZRKqJ

6nk@|*>G&Jh2_`8s-(d&b1 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%0A1Lp*9fQd;dpRCNF; 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 delta 73547 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 q+VQ_F<~qu? Misc - .random(NpcHandler.npcs[i].attack)) { - damage = 0; + if (10 + Misc.random(MeleeData.calculateMeleeDefence(c)) > Misc.random(NpcHandler.npcs[i].attack)) { + if (NpcHandler.npcs[i].npcType == 1158 || NpcHandler.npcs[i].npcType == 1160) + damage = (damage / 2); + else + damage = 0; } } if (c.playerLevel[3] - damage < 0) { @@ -597,10 +609,11 @@ public class NpcCombat { if (NpcHandler.npcs[i].attackType == 1) { // range damage = Misc.random(NpcHandler.npcs[i].maxHit); - if (10 + Misc.random(c.getCombatAssistant() - .calculateRangeDefence()) > Misc - .random(NpcHandler.npcs[i].attack)) { - damage = 0; + if (10 + Misc.random(c.getCombatAssistant().calculateRangeDefence()) > Misc.random(NpcHandler.npcs[i].attack)) { + if (NpcHandler.npcs[i].npcType == 1158 || NpcHandler.npcs[i].npcType == 1160) + damage = (damage / 2); + else + damage = 0; } if (NpcData.cantKillYou(NpcHandler.npcs[i].npcType)) { if (damage >= c.playerLevel[GameConstants.HITPOINTS]) { @@ -618,8 +631,7 @@ public class NpcCombat { if (NpcHandler.npcs[i].attackType == 2) { // magic damage = Misc.random(NpcHandler.npcs[i].maxHit); boolean magicFailed = false; - if (10 + Misc.random(c.getCombatAssistant().mageDef()) > Misc - .random(NpcHandler.npcs[i].attack)) { + if (10 + Misc.random(c.getCombatAssistant().mageDef()) > Misc.random(NpcHandler.npcs[i].attack)) { damage = 0; magicFailed = true; } @@ -628,19 +640,23 @@ public class NpcCombat { damage = c.playerLevel[GameConstants.HITPOINTS] - 1; } } - if (c.getPrayer().prayerActive[16]) { // protect from magic - damage = 0; - magicFailed = true; - } - if (c.playerLevel[3] - damage < 0) { - damage = c.playerLevel[3]; - } - if (NpcHandler.npcs[i].endGfx > 0 && (!magicFailed || FightCaves.isFightCaveNpc(i))) { - c.gfx100(NpcHandler.npcs[i].endGfx); - } else { - c.gfx100(85); - c.getPacketSender().sendSound(SoundList.MAGE_FAIL, - 100, 0); + if(c.getPrayer().prayerActive[16]) { // protect from magic + + if (NpcHandler.npcs[i].npcType == 1158) { + damage = (damage / 2); + } else { + damage = 0; + } + magicFailed = true; + if (c.playerLevel[3] - damage < 0) { + damage = c.playerLevel[3]; + } + if(NpcHandler.npcs[i].endGfx > 0 && (!magicFailed || FightCaves.isFightCaveNpc(i))) { + c.gfx100(NpcHandler.npcs[i].endGfx); + } else { + c.gfx100(85); + c.getPacketSender().sendSound(SoundList.MAGE_FAIL, 100, 0); + } } } diff --git a/2006Redone Server/src/com/rebotted/game/content/combat/npcs/NpcEmotes.java b/2006Redone Server/src/com/rebotted/game/content/combat/npcs/NpcEmotes.java index 27eb5269..df4d3821 100644 --- a/2006Redone Server/src/com/rebotted/game/content/combat/npcs/NpcEmotes.java +++ b/2006Redone Server/src/com/rebotted/game/content/combat/npcs/NpcEmotes.java @@ -1,6 +1,8 @@ package com.rebotted.game.content.combat.npcs; +import com.rebotted.GameEngine; import com.rebotted.game.npcs.NpcHandler; +import com.rebotted.game.players.Player; /** * Npc Emotes @@ -163,7 +165,7 @@ public enum NpcEmotes { return -1; } - public static int getDeadEmote(int i) { + public static int getDeadEmote(Player player, int i) { for (NpcEmotes e : NpcEmotes.values()) { for (int f = 0; f < e.getNpcId().length; f++) { if (NpcHandler.npcs[i].npcType == e.getNpcId()[f]) { @@ -172,6 +174,12 @@ public enum NpcEmotes { switch (NpcHandler.npcs[i].npcType) { case 2745: return 2654; + case 1158: + GameEngine.npcHandler.spawnSecondForm(player, i); + return 6242; + case 1160: + GameEngine.npcHandler.spawnFirstForm(player, i); + return 6233; } } } diff --git a/2006Redone Server/src/com/rebotted/game/content/minigames/PestControl.java b/2006Redone Server/src/com/rebotted/game/content/minigames/PestControl.java index 568742a9..bad93a9a 100644 --- a/2006Redone Server/src/com/rebotted/game/content/minigames/PestControl.java +++ b/2006Redone Server/src/com/rebotted/game/content/minigames/PestControl.java @@ -431,11 +431,11 @@ public class PestControl { private void spawnNPC() { //npcid, npcx, npcy, heightlevel, walking type, hp, att, def for (int[] aPcNPCData : pcNPCData) { - GameEngine.npcHandler.spawnNpc2(aPcNPCData[0], aPcNPCData[1], aPcNPCData[2], 0, 0, 200, 0, 0, playersInGame() * 200); + GameEngine.npcHandler.spawnNpc2(aPcNPCData[0], aPcNPCData[1], aPcNPCData[2], 0, 0, 200, 0, 0, playersInGame() * 200, false); } for (int[] voidMonsters : voidMonsterData) { //Server.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, voidMonsters[NpcHandler.getNpcListHP(voidMonsters[0])], NpcHandler.getNpcListCombat(voidMonsters[0])/10, NpcHandler.getNpcListCombat(voidMonsters[0]), playersInGame() * 200); - GameEngine.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, 500, 20, 200, 25); + GameEngine.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, 500, 20, 200, 25, false); } } } diff --git a/2006Redone Server/src/com/rebotted/game/dialogues/DialogueHandler.java b/2006Redone Server/src/com/rebotted/game/dialogues/DialogueHandler.java index fd3cc3b1..2e60004d 100644 --- a/2006Redone Server/src/com/rebotted/game/dialogues/DialogueHandler.java +++ b/2006Redone Server/src/com/rebotted/game/dialogues/DialogueHandler.java @@ -1,6 +1,7 @@ package com.rebotted.game.dialogues; import com.rebotted.GameConstants; +import com.rebotted.GameEngine; import com.rebotted.game.content.quests.QuestAssistant; import com.rebotted.game.content.quests.QuestRewards; import com.rebotted.game.content.randomevents.FreakyForester; @@ -3901,9 +3902,9 @@ public class DialogueHandler { player.nextChat = 0; break; case 912: - player.getDialogueHandler().sendStatement( - "Catching rats is currently disabled."); - player.nextChat = 0; + GameEngine.npcHandler.catchRat(player.rememberNpcIndex); + player.getPacketSender().closeAllWindows(); + player.nextChat = 0; break; case 913: sendStatement("You shoo your cat away."); diff --git a/2006Redone Server/src/com/rebotted/game/globalworldobjects/Doors.java b/2006Redone Server/src/com/rebotted/game/globalworldobjects/Doors.java index d924831f..b9df9db1 100644 --- a/2006Redone Server/src/com/rebotted/game/globalworldobjects/Doors.java +++ b/2006Redone Server/src/com/rebotted/game/globalworldobjects/Doors.java @@ -59,11 +59,15 @@ public class Doors { Doors d = getDoor(id, x, y, z); if (d == null) { + //System.out.println("D: " + id + " null debug x: " + x + " y: " + y + "."); return DoubleDoors.getSingleton().handleDoor(player, id, x, y, z); } //todo: improvment: if player manage to get to door then open the door. - if(player.distanceToPoint(x, y) > 1) return false; + if(player.distanceToPoint(x, y) > 1) { + //System.out.println("Door (single): " + id + " not in distance debug at x: " + x + " y: " + y + "."); + return false; + } //Remove clipping for old door (gets added back in placeObject) Region.removeClipping(x, y, z); diff --git a/2006Redone Server/src/com/rebotted/game/globalworldobjects/DoubleDoors.java b/2006Redone Server/src/com/rebotted/game/globalworldobjects/DoubleDoors.java index 32decf3a..247b1a2f 100644 --- a/2006Redone Server/src/com/rebotted/game/globalworldobjects/DoubleDoors.java +++ b/2006Redone Server/src/com/rebotted/game/globalworldobjects/DoubleDoors.java @@ -51,10 +51,12 @@ public class DoubleDoors { DoubleDoors doorClicked = getDoor(id, x, y, z); if (doorClicked == null) { + //System.out.println("Door: " + id + " null debug at x: " + x + " y: " + y + "."); //GameEngine.objectHandler.placeObject(new Objects(-1, x, y, z, 0, 0, 0)); return true; } - if (doorClicked.doorId > 12000) { + if (doorClicked.doorId > 15000) { + // System.out.println("Door: " + id + " clicking debug x: " + x + " y: " + y + "."); return true; //nearly all of these are not opened } diff --git a/2006Redone Server/src/com/rebotted/game/items/ItemAssistant.java b/2006Redone Server/src/com/rebotted/game/items/ItemAssistant.java index d6015ada..18e5b8f2 100644 --- a/2006Redone Server/src/com/rebotted/game/items/ItemAssistant.java +++ b/2006Redone Server/src/com/rebotted/game/items/ItemAssistant.java @@ -5,9 +5,9 @@ import com.rebotted.GameEngine; import com.rebotted.game.content.minigames.castlewars.CastleWars; import com.rebotted.game.npcs.NpcHandler; import com.rebotted.game.players.Client; +import com.rebotted.game.players.MainFrameIDs; import com.rebotted.game.players.Player; import com.rebotted.game.players.PlayerHandler; -import com.rebotted.util.MainFrameIDs; import com.rebotted.util.Misc; public class ItemAssistant { diff --git a/2006Redone Server/src/com/rebotted/game/npcs/Npc.java b/2006Redone Server/src/com/rebotted/game/npcs/Npc.java index 915e094c..34500168 100644 --- a/2006Redone Server/src/com/rebotted/game/npcs/Npc.java +++ b/2006Redone Server/src/com/rebotted/game/npcs/Npc.java @@ -23,6 +23,7 @@ public class Npc { public int summonedBy, size; public int focusPointX, focusPointY, masterId; public boolean turnUpdateRequired; + public int chasingRat = -1; /** * attackType: 0 = melee, 1 = range, 2 = mage diff --git a/2006Redone Server/src/com/rebotted/game/npcs/NpcActions.java b/2006Redone Server/src/com/rebotted/game/npcs/NpcActions.java index 84b1f5e5..63caffaa 100644 --- a/2006Redone Server/src/com/rebotted/game/npcs/NpcActions.java +++ b/2006Redone Server/src/com/rebotted/game/npcs/NpcActions.java @@ -5,6 +5,7 @@ import com.rebotted.game.content.skills.core.Fishing; import com.rebotted.game.content.skills.crafting.Tanning; import com.rebotted.game.content.skills.thieving.Pickpocket; import com.rebotted.game.content.traveling.Sailing; +import com.rebotted.game.npcs.impl.Pets; import com.rebotted.game.players.Player; import com.rebotted.game.players.PlayerAssistant; import com.rebotted.game.shops.ShopAssistant; @@ -21,6 +22,7 @@ public class NpcActions { public void firstClickNpc(int npcType) { c.clickNpcType = 0; + c.rememberNpcIndex = c.npcClickIndex; c.npcClickIndex = 0; Shops.dialogueShop(c, npcType); if (Pickpocket.isNPC(c, npcType)) { @@ -30,6 +32,15 @@ public class NpcActions { if (Fishing.fishingNPC(c, npcType)) { Fishing.fishingNPC(c, 1, npcType); } + if (Pets.isCat(npcType)) { + if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId) { + c.getSummon().pickUpPet(c, c.summonId); + c.hasNpc = false; + c.summonId = -1; + } else { + c.getPacketSender().sendMessage("This is not your pet."); + } + } switch (npcType) { case 209: c.getDialogueHandler().sendDialogues(3500, 209); @@ -814,28 +825,6 @@ public class NpcActions { } break; - case 3506: - case 3507: - case 761: - case 760: - case 762: - case 763: - case 764: - case 765: - case 766: - case 767: - case 768: - case 769: - case 770: - case 771: - case 772: - case 773: - case 3505: - c.getSummon().pickUpClean(c, c.summonId); - c.hasNpc = false; - c.summonId = 0; - break; - case 804: case 1041: Tanning.sendTanningInterface(c); @@ -996,9 +985,12 @@ public class NpcActions { if (Fishing.fishingNPC(c, npcType)) { Fishing.fishingNPC(c, 2, npcType); } - if (npcType >= 761 && npcType <= 773 || npcType > 3504 - && npcType < 3508 && npcType != 767) { - c.getDialogueHandler().sendDialogues(908, npcType); + if (Pets.isCat(npcType)) { + if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId) { + c.getDialogueHandler().sendDialogues(908, npcType); + } else { + c.getPacketSender().sendMessage("This is not your pet."); + } } switch (npcType) { @@ -1141,11 +1133,12 @@ public class NpcActions { Pickpocket.attemptPickpocket(c, npcType); return; } - if (npcType >= 761 && npcType <= 773 && npcType != 767) { - if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId) + if (Pets.isCat(npcType)) { + if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId) { c.getDialogueHandler().sendDialogues(910, npcType); - else - c.getPacketSender().sendMessage("This isn't your cat."); + } else { + c.getPacketSender().sendMessage("This is not your pet."); + } } switch (npcType) { diff --git a/2006Redone Server/src/com/rebotted/game/npcs/NpcData.java b/2006Redone Server/src/com/rebotted/game/npcs/NpcData.java index b3cf9f93..2bcec04a 100644 --- a/2006Redone Server/src/com/rebotted/game/npcs/NpcData.java +++ b/2006Redone Server/src/com/rebotted/game/npcs/NpcData.java @@ -54,14 +54,6 @@ public class NpcData { return false; } - /* - * public static boolean isAggressive(int i) { if - * (NPCHandler.npcs[i].aggressive && !onlyMage(NPCHandler.npcs[i].npcType)) - * { return true; } if (NPCHandler.npcs[i].inWild() && - * NPCHandler.npcs[i].MaxHP > 0 && !onlyMage(NPCHandler.npcs[i].npcType)) { - * return true; } return false; } - */ - public static int getNpcKillerId(int npcId) { int oldDamage = 0; int killerId = 0; @@ -256,6 +248,9 @@ public class NpcData { **/ public static int getRespawnTime(int i) { switch (NpcHandler.npcs[i].npcType) { + case 1158: + case 1160: + return -1; case 2881: case 2882: case 2883: diff --git a/2006Redone Server/src/com/rebotted/game/npcs/NpcHandler.java b/2006Redone Server/src/com/rebotted/game/npcs/NpcHandler.java index d4e6b3fc..73cd2f10 100644 --- a/2006Redone Server/src/com/rebotted/game/npcs/NpcHandler.java +++ b/2006Redone Server/src/com/rebotted/game/npcs/NpcHandler.java @@ -7,6 +7,9 @@ import java.io.IOException; import com.rebotted.GameConstants; import com.rebotted.GameEngine; +import com.rebotted.event.CycleEvent; +import com.rebotted.event.CycleEventContainer; +import com.rebotted.event.CycleEventHandler; import com.rebotted.game.content.combat.CombatConstants; import com.rebotted.game.content.combat.npcs.NpcAggressive; import com.rebotted.game.content.combat.npcs.NpcCombat; @@ -19,6 +22,7 @@ import com.rebotted.game.content.randomevents.RandomEventHandler; import com.rebotted.game.content.randomevents.RiverTroll; import com.rebotted.game.npcs.drops.ItemDrop; import com.rebotted.game.npcs.drops.NPCDropsHandler; +import com.rebotted.game.npcs.impl.Pets; import com.rebotted.game.players.Client; import com.rebotted.game.players.Player; import com.rebotted.game.players.PlayerHandler; @@ -33,6 +37,101 @@ public class NpcHandler { public static int maxListedNPCs = 4000; public static Npc npcs[] = new Npc[MAX_NPCS]; public static NpcList NpcList[] = new NpcList[maxListedNPCs]; + + public void spawnSecondForm(Player c, final int i) { + // npcs[i].gfx0(1055); + CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + spawnNpc2(1160, npcs[i].absX, npcs[i].absY, 0, 1, 230, 45, 500, 300, true); + container.stop(); + } + @Override + public void stop() { + + } + }, 15); + } + + + /** + * kq respawn first form + */ + public void spawnFirstForm(Player c, final int i) { + CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + spawnNpc2(1158, npcs[i].absX, npcs[i].absY, 0, 1, 230, 45, 500, 300, true); + container.stop(); + } + @Override + public void stop() { + + } + }, 15); + } + + + public void catchRat(final int npcIndex) { + int foundRat = -1; + for (int i = 0; i < MAX_NPCS; i++) { + if (npcs[i] == null || foundRat != -1) { + continue; + } + if(npcs[i].npcType == 47 && !npcs[i].isDead) { + if(goodDistance(npcs[npcIndex].absX, npcs[npcIndex].absY, npcs[i].absX, npcs[i].absY, 5)) { + foundRat = i; + continue; + } + } + } + final Client slaveOwner = (PlayerHandler.players[npcs[npcIndex].summonedBy] != null ? (Client) PlayerHandler.players[npcs[npcIndex].summonedBy] : null); + if(foundRat == -1) { + if(slaveOwner != null) { + slaveOwner.getPacketSender().sendMessage("The " + getNpcListName(NpcHandler.npcs[npcIndex].npcType) + " can't seem to find any rats nearby."); + } + } else { + npcs[npcIndex].chasingRat = foundRat; + boolean beatChance = (Misc.random(2) == 1 ? true : false); + CycleEventHandler.getSingleton().addEvent(this, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + if(npcs[npcIndex].absX == npcs[npcs[npcIndex].chasingRat].absX && npcs[npcIndex].absY == npcs[npcs[npcIndex].chasingRat].absY && (beatChance || npcs[npcIndex].npcType >= 768 && npcs[npcIndex].npcType <= 773)) { + npcs[npcs[npcIndex].chasingRat].isDead = true; + npcs[npcs[npcIndex].chasingRat].forceChat("Eek!"); + npcs[npcIndex].forceChat("Meow!"); + //startAnimation(9163, npcIndex); + slaveOwner.getPacketSender().sendMessage("The " + getNpcListName(NpcHandler.npcs[npcIndex].npcType) + " caught a rat!"); + if(npcs[npcIndex].npcType >= 761 && npcs[npcIndex].npcType <= 766) + slaveOwner.ratsCaught++; + if(slaveOwner.ratsCaught == Pets.RATS_NEEDED_TO_GROW) { + slaveOwner.getPacketSender().sendMessage("Your kitten has grown into a cat!"); + int newNpcId = npcs[npcIndex].npcType+7; + int[] coords = {npcs[npcIndex].absX, npcs[npcIndex].absY, npcs[npcIndex].heightLevel}; + spawnNpc3(slaveOwner, newNpcId, coords[0], coords[1], coords[2], 0, 120, 25, 200, 200, true, false, true); + npcs[npcIndex].absX = 0; + npcs[npcIndex].absY = 0; + npcs[npcIndex] = null; + //Spawns grown cat in spot of kitten. + slaveOwner.summonId = Pets.summonItemId(newNpcId); + slaveOwner.ratsCaught = 0; + } + npcs[npcIndex].chasingRat = -1; + } else { + if(slaveOwner != null) + slaveOwner.getPacketSender().sendMessage("The " + getNpcListName(NpcHandler.npcs[npcIndex].npcType) + " failed to catch the rat."); + npcs[npcIndex].chasingRat = -1; + } + container.stop(); + } + @Override + public void stop() { + // TODO Auto-generated method stub + + } + }, 4); + } + } public NpcHandler() { for (int i = 0; i < MAX_NPCS; i++) { @@ -139,15 +238,6 @@ public class NpcHandler { return 0; } - public int npcSize(int i) { - switch (npcs[i].npcType) { - case 2883: - case 2882: - case 2881: - return 3; - } - return 0; - } /** * Summon npc, barrows, etc @@ -201,7 +291,7 @@ public class NpcHandler { npcs[slot] = newNPC; } - public void spawnNpc2(int npcType, int x, int y, int heightLevel, int WalkingType, int HP, int maxHit, int attack, int defence) { + public void spawnNpc2(int npcType, int x, int y, int heightLevel, int WalkingType, int HP, int maxHit, int attack, int defence, boolean attackPlayer) { // first, search for a free slot int slot = -1; for (int i = 1; i < MAX_NPCS; i++) { @@ -225,6 +315,9 @@ public class NpcHandler { newNPC.MaxHP = HP; newNPC.maxHit = maxHit; newNPC.attack = attack; + if (attackPlayer) { + newNPC.underAttack = true; + } newNPC.defence = defence; npcs[slot] = newNPC; } @@ -356,6 +449,13 @@ public class NpcHandler { npcs[i].absX = slaveOwner.absX; npcs[i].absY = slaveOwner.absY - 1; } + + if (slaveOwner != null && slaveOwner.hasNpc && npcs[i].summoner) { + if (slaveOwner.goodDistance(npcs[i].absX, npcs[i].absY, slaveOwner.absX, slaveOwner.absY, 15)) { + NpcHandler.followPlayer(i, slaveOwner.playerId); + } + } + if (npcs[i].actionTimer > 0) { npcs[i].actionTimer--; @@ -385,7 +485,7 @@ public class NpcHandler { } } - if (npcs[i].spawnedBy > 0) { // delete summons npc + if (npcs[i].spawnedBy > 0) { if (PlayerHandler.players[npcs[i].spawnedBy] == null || PlayerHandler.players[npcs[i].spawnedBy].heightLevel != npcs[i].heightLevel || PlayerHandler.players[npcs[i].spawnedBy].respawnTimer > 0 @@ -393,11 +493,10 @@ public class NpcHandler { if (npcs[i].npcType == FightCaves.YT_HURKOT) { Player c = ((Client)PlayerHandler.players[npcs[i].spawnedBy]); - int ranHeal = Misc.random(19); - if (ranHeal == 19) + int ranHeal = Misc.random(10); + if (ranHeal == 10) FightCaves.healJad(c, i); } - if (PlayerHandler.players[npcs[i].spawnedBy] != null) { for (int o = 0; o < PlayerHandler.players[npcs[i].spawnedBy].barrowsNpcs.length; o++) { if (npcs[i].npcType == PlayerHandler.players[npcs[i].spawnedBy].barrowsNpcs[o][0]) { @@ -552,12 +651,11 @@ public class NpcHandler { && npcs[i].needRespawn == false) { npcs[i].updateRequired = true; npcs[i].facePlayer(0); - if (npcs[i].killedBy <= 0) - npcs[i].killedBy = NpcData.getNpcKillerId(i); - npcs[i].animNumber = NpcEmotes.getDeadEmote(i); // dead - // emote Player c = (Client) PlayerHandler.players[npcs[i].killedBy]; if (c != null) { + if (npcs[i].killedBy <= 0) + npcs[i].killedBy = NpcData.getNpcKillerId(i); + npcs[i].animNumber = NpcEmotes.getDeadEmote(c, i); // dead emote if (CombatConstants.COMBAT_SOUNDS && NpcHandler.npcs[i].npcType < 3177 && NpcHandler.npcs[i].npcType > 3180) { @@ -653,8 +751,7 @@ public class NpcHandler { GameEngine.objectManager.removeObject(npcs[i].absX, npcs[i].absY); } - } else if (npcs[i].actionTimer == 0 - && npcs[i].needRespawn == true) { + } else if (npcs[i].actionTimer == 0 && npcs[i].needRespawn == true && npcs[i].npcType != 1158) { if (npcs[i].spawnedBy > 0) { npcs[i] = null; } else { @@ -735,6 +832,12 @@ public class NpcHandler { public static boolean multiAttacks(int i) { switch (npcs[i].npcType) { + case 1158: //kq + if (npcs[i].attackType == 2) + return true; + case 1160: //kq + if (npcs[i].attackType == 1) + return true; case 2558: return true; case 2562: @@ -1200,7 +1303,8 @@ public class NpcHandler { } public static void handleSpecialEffects(Player c, int i, int damage) { - if (npcs[i].npcType == 2892 || npcs[i].npcType == 2894) { + if (npcs[i].npcType == 2892 || npcs[i].npcType == 2894 || npcs[i].npcType == 1158 + || npcs[i].npcType == 1160) { if (damage > 0) { if (c != null) { if (c.playerLevel[5] > 0) { @@ -1226,6 +1330,8 @@ public class NpcHandler { public static int getMaxHit(int i) { switch (npcs[i].npcType) { + case 1158: + return 30; case 2558: if (npcs[i].attackType == 2) { return 28; @@ -1338,7 +1444,7 @@ public class NpcHandler { for (int i = 0; i < maxListedNPCs; i++) { if (NpcList[i] != null) { if (NpcList[i].npcId == npcId) { - return NpcList[i].npcName; + return NpcList[i].npcName.replace("_", " "); } } } @@ -1408,6 +1514,9 @@ public class NpcHandler { public boolean getNpcListAggressive(int npcId) { return NPCDefinition.forId(npcId).isAggressive(); } - + + public int getNpcSize(int npcId) { + return NPCDefinition.forId(npcId).getSize(); + } } diff --git a/2006Redone Server/src/com/rebotted/game/npcs/impl/Pets.java b/2006Redone Server/src/com/rebotted/game/npcs/impl/Pets.java index 3a831324..543ed68b 100644 --- a/2006Redone Server/src/com/rebotted/game/npcs/impl/Pets.java +++ b/2006Redone Server/src/com/rebotted/game/npcs/impl/Pets.java @@ -1,91 +1,126 @@ package com.rebotted.game.npcs.impl; +import com.rebotted.GameEngine; import com.rebotted.game.npcs.Npc; import com.rebotted.game.npcs.NpcHandler; -import com.rebotted.game.players.Client; import com.rebotted.game.players.Player; +import com.rebotted.game.players.PlayerSave; +import com.rebotted.world.clip.Region; public class Pets { + + public static final int RATS_NEEDED_TO_GROW = 10; - private final int[][] catArray = { { 3505, 7583 }, { 3506, 7584 }, - { 766, 1560 }, { 3507, 7585 }, { 765, 1559 }, { 764, 1558 }, - { 763, 1557 }, { 762, 1556 }, { 761, 1555 }, { 768, 1561 }, - { 769, 1562 }, { 770, 1563 }, { 771, 1564 }, { 772, 1565 }, - { 773, 1566 } }; + //npc id, item id + private final static int[][] CATS = { + { 3504, 7583 }, //hell kitten + { 3506, 7584 }, //lazy hell kitten + { 766, 1560 }, //pet kitten + { 3507, 7585 }, //wily hellcat + { 765, 1559 }, //pet kitten + { 764, 1558 }, //pet kitten + { 763, 1557 }, //pet kitten + { 762, 1556 }, //pet kitten + { 761, 1555 }, //pet kitten + { 768, 1561 }, //pet cat + { 769, 1562 }, //pet cat + { 770, 1563 }, //pet cat + { 771, 1564 }, //pet cat + { 772, 1565 },//pet cat + { 773, 1566 } //pet cat + }; - public static final int[] CAT_ITEMS = { 1555, 1556, 1557, 1558, 1559, 1560, - 1561, 1562, 1563, 1564, 1565, 7585, 7584 }; - - public void pickUp(Client c, int Type) { - for (Npc i : NpcHandler.npcs) { - if (i == null) { - continue; + public static final int[] CAT_ITEMS = { + 1555, 1556, 1557, 1558, 1559, 1560, + 1561, 1562, 1563, 1564, 1565, 7585, 7583, 7584 + }; + + public static boolean isCatItem(int itemId) { + for (int i = 0; i < CAT_ITEMS.length; i++) { + if (itemId == CAT_ITEMS[i]) { + return true; } } - for (Npc i : NpcHandler.npcs) { - if (i != null) { - if (i.npcType == Type) { - if (i.spawnedBy == c.playerId && i.spawnedBy > 0) { - i.absX = 0; - i.absY = 0; - i = null; - break; + return false; + } + + public static boolean isCat(int npcId) { + for (int i = 0; i < CATS.length; i++) { + if (npcId == CATS[i][0]) { + return true; + } + } + return false; + } + + + public static void dropPet(Player player, int itemId, int slot) { + if (player.hasNpc) { + player.getPacketSender().sendMessage("You already dropped your " + NpcHandler.getNpcListName(summonItemId(itemId)) + "."); + return; + } + player.getItemAssistant().deleteItem(itemId, slot, player.playerItemsN[slot]); + player.hasNpc = true; + player.getPacketSender().sendMessage("You drop your " + NpcHandler.getNpcListName(summonItemId(itemId)) + "."); + int offsetX = 0; + int offsetY = 0; + if (Region.getClipping(player.getX() - 1, player.getY(), player.heightLevel, -1, 0)) { + offsetX = -1; + } else if (Region.getClipping(player.getX() + 1, player.getY(), player.heightLevel, 1, 0)) { + offsetX = 1; + } else if (Region.getClipping(player.getX(), player.getY() - 1, player.heightLevel, 0, -1)) { + offsetY = -1; + } else if (Region.getClipping(player.getX(), player.getY() + 1, player.heightLevel, 0, 1)) { + offsetY = 1; + } + GameEngine.npcHandler.spawnNpc3(player, summonItemId(itemId), player.absX+offsetX, player.absY+offsetY, player.heightLevel, 0, 120, 25, 200, 200, false, false, true); + PlayerSave.saveGame(player); + } + + public void quickPickup(Player player, int id) { + for (Npc i : NpcHandler.npcs) { + if (i == null) { + continue; + } + if (i.npcType == id) { + i.absX = 0; + i.absY = 0; + i = null; + } + } + } + + + public void pickUpPet(Player player, int id) { + if (player.getItemAssistant().hasFreeSlots(1)) { + for (Npc i : NpcHandler.npcs) { + if (i == null) { + continue; + } + if (i.npcType == id) { + player.startAnimation(827); + i.absX = 0; + i.absY = 0; + i = null; + for (int[] element : CATS) { + if (element[0] == id) { + player.getItemAssistant().addItem(element[1], 1); + } } } } + } else { + player.getPacketSender().sendMessage("You do not have enough space in your inventory to do that."); } } - public void pickUpClean(Player c, int id) { - for (int[] element : catArray) { - if (element[0] == id) { - c.getItemAssistant().addItem(element[1], 1); - } - } - for (Npc i : NpcHandler.npcs) { - if (i == null) { - continue; - } - if (i.npcType == id) { - i.absX = 0; - i.absY = 0; - } - } - c.hasNpc = false; - } - public static int summonItemId(int itemId) { - if (itemId == 1555) { - return 761; - } else if (itemId == 1556) { - return 762; - } else if (itemId == 1557) { - return 763; - } else if (itemId == 1558) { - return 764; - } else if (itemId == 1559) { - return 765; - } else if (itemId == 1560) { - return 766; - } else if (itemId == 1561) { - return 768; - } else if (itemId == 1562) { - return 769; - } else if (itemId == 1563) { - return 770; - } else if (itemId == 1564) { - return 771; - } else if (itemId == 1565) { - return 772; - } else if (itemId == 1566) { - return 773; - } else if (itemId == 7585) { - return 3507; - } else if (itemId == 7584) { - return 3506; - } else if (itemId == 7583) { - return 3505; + for (int i = 0; i < CATS.length; i++) { + if (itemId == CATS[i][1]) { + return CATS[i][0]; + } } return 0; } + } diff --git a/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java b/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java index 9c44401b..04628d1e 100644 --- a/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java +++ b/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java @@ -1611,12 +1611,12 @@ public class ObjectsActions { // PARTY ROOM START case 2417: // 26193 if falador - player.inPartyRoom = true; + //player.inPartyRoom = true; PartyRoom.open(player); break; case 2416: - player.inPartyRoom = true; + //player.inPartyRoom = true; PartyRoom.dropAll(); break; diff --git a/2006Redone Server/src/com/rebotted/game/players/MainFrameIDs.java b/2006Redone Server/src/com/rebotted/game/players/MainFrameIDs.java new file mode 100644 index 00000000..897adc09 --- /dev/null +++ b/2006Redone Server/src/com/rebotted/game/players/MainFrameIDs.java @@ -0,0 +1,9 @@ +package com.rebotted.game.players; + +/** + * Easy access to common interface IDs + */ +public class MainFrameIDs { + public static final int DEPOSIT_BOX = 4465; + public static final int BANK = 5292; //Might be incorrect!! +} diff --git a/2006Redone Server/src/com/rebotted/game/players/Player.java b/2006Redone Server/src/com/rebotted/game/players/Player.java index 4849e9eb..22ce0d2a 100644 --- a/2006Redone Server/src/com/rebotted/game/players/Player.java +++ b/2006Redone Server/src/com/rebotted/game/players/Player.java @@ -512,7 +512,7 @@ public abstract class Player { getPlayerAssistant().movePlayer(2657, 2639, 0); } if (hasNpc == true) { - getSummon().pickUpClean(this, summonId); + getSummon().pickUpPet(this, summonId); } if(GameEngine.ersSecret != null && !GameEngine.ersSecret.equals("") && this.playerRights < 2) { @@ -600,7 +600,7 @@ public abstract class Player { lastH = heightLevel; CycleEventHandler.getSingleton().stopEvents(this); if (hasNpc == true) { - getSummon().pickUpClean(this, summonId); + getSummon().pickUpPet(this, summonId); } if (forceLogout || System.currentTimeMillis() - logoutDelay > 2500) { if (!isBot) @@ -1270,7 +1270,7 @@ public abstract class Player { lastPinSettings = -1, setPinDate = -1, changePinDate = -1, deletePinDate = -1, firstPin, secondPin, thirdPin, fourthPin, bankPin1, bankPin2, bankPin3, bankPin4, pinDeleteDateRequested, - rememberNpcIndex, lastLoginDate, selectedSkill, newHerb, + rememberNpcIndex, ratsCaught, lastLoginDate, selectedSkill, newHerb, newItem, newXp, doingHerb, herbAmount, treeX, treeY, lastH, cookingItem, cookingObject, summonId, npcId2 = 0, leatherType = -1, weightCarried, teleotherType, rockX, rockY, itemUsing, tzKekTimer, diff --git a/2006Redone Server/src/com/rebotted/game/players/PlayerHandler.java b/2006Redone Server/src/com/rebotted/game/players/PlayerHandler.java index 701c18a3..ced4e75d 100644 --- a/2006Redone Server/src/com/rebotted/game/players/PlayerHandler.java +++ b/2006Redone Server/src/com/rebotted/game/players/PlayerHandler.java @@ -142,7 +142,7 @@ public class PlayerHandler { players[i].lastY = players[i].absY; players[i].lastH = players[i].heightLevel; if (players[i].hasNpc == true) { - t.getSummon().pickUpClean(t, players[i].summonId); + t.getSummon().quickPickup(t, players[i].summonId); } if (players[i].duelStatus == 5) { Client o = (Client) PlayerHandler.players[players[i].duelingWith]; @@ -213,7 +213,7 @@ public class PlayerHandler { players[i].lastY = players[i].absY; players[i].lastH = players[i].heightLevel; if (players[i].hasNpc == true) { - t.getSummon().pickUpClean(t, players[i].summonId); + t.getSummon().quickPickup(t, players[i].summonId); } if (players[i].duelStatus == 5) { Client o1 = (Client) PlayerHandler.players[players[i].duelingWith]; diff --git a/2006Redone Server/src/com/rebotted/game/players/PlayerSave.java b/2006Redone Server/src/com/rebotted/game/players/PlayerSave.java index 69f240e7..b55e3b41 100644 --- a/2006Redone Server/src/com/rebotted/game/players/PlayerSave.java +++ b/2006Redone Server/src/com/rebotted/game/players/PlayerSave.java @@ -100,6 +100,9 @@ public class PlayerSave { case "myBalls": player.getCannon().myBalls = Integer.parseInt(token2); break; + case "ratsCaught": + player.ratsCaught = Integer.parseInt(token2); + break; case "cannonX": player.cannonX = Integer.parseInt(token2); break; @@ -576,6 +579,8 @@ public class PlayerSave { characterfile.newLine(); characterfile.write("lostCannon = " + player.lostCannon); characterfile.newLine(); + characterfile.write("ratsCaught = " + player.ratsCaught); + characterfile.newLine(); characterfile.write("cannonX = " + player.cannonX); characterfile.newLine(); characterfile.write("cannonY = " + player.cannonY); diff --git a/2006Redone Server/src/com/rebotted/net/PacketSender.java b/2006Redone Server/src/com/rebotted/net/PacketSender.java index f94e7da7..d64499e8 100644 --- a/2006Redone Server/src/com/rebotted/net/PacketSender.java +++ b/2006Redone Server/src/com/rebotted/net/PacketSender.java @@ -12,9 +12,9 @@ import com.rebotted.game.items.ItemAssistant; import com.rebotted.game.items.Weight; import com.rebotted.game.items.impl.LightSources; import com.rebotted.game.players.Client; +import com.rebotted.game.players.MainFrameIDs; import com.rebotted.game.players.Player; import com.rebotted.game.players.PlayerHandler; -import com.rebotted.util.MainFrameIDs; import com.rebotted.util.Misc; import com.rebotted.world.clip.Region; diff --git a/2006Redone Server/src/com/rebotted/net/packets/impl/ClickItem.java b/2006Redone Server/src/com/rebotted/net/packets/impl/ClickItem.java index 894a79c7..81a9a1c7 100644 --- a/2006Redone Server/src/com/rebotted/net/packets/impl/ClickItem.java +++ b/2006Redone Server/src/com/rebotted/net/packets/impl/ClickItem.java @@ -47,7 +47,7 @@ public class ClickItem implements PacketType { if(CastleWars.isInCw(player) && itemId == 4053) { player.getItemAssistant().deleteItem(4053, player.getItemAssistant().getItemSlot(4053), 1); //npc id, x, y, height, walk, hp, maxhit, att, def - GameEngine.npcHandler.spawnNpc2(1532, player.absX, player.absY, player.heightLevel, 0, 200, 0, 0, 100); + GameEngine.npcHandler.spawnNpc2(1532, player.absX, player.absY, player.heightLevel, 0, 200, 0, 0, 100, false); player.getPacketSender().sendMessage("You setup a barricade."); } else if (!CastleWars.isInCw(player) && itemId == 4053) { player.getPacketSender().sendMessage("You need to be in castlewars to drop a barricade."); diff --git a/2006Redone Server/src/com/rebotted/net/packets/impl/DropItem.java b/2006Redone Server/src/com/rebotted/net/packets/impl/DropItem.java index 263f476e..a7941a64 100644 --- a/2006Redone Server/src/com/rebotted/net/packets/impl/DropItem.java +++ b/2006Redone Server/src/com/rebotted/net/packets/impl/DropItem.java @@ -61,222 +61,12 @@ public class DropItem implements PacketType { "You can't drop items on tutorial island!"); return; } + if (Pets.isCatItem(itemId)) { + Pets.dropPet(player, itemId, slot); + } player.endCurrentTask(); - switch (itemId) { - case 1560: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Kitten."); - } - break; - case 1559: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Kitten."); - } - break; - case 1558: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Kitten."); - } - break; - case 1557: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Kitten."); - } - break; - case 1556: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Kitten."); - } - break; - case 1555: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Kitten."); - } - break; - case 1561: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Cat."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Cat."); - } - break; - case 1562: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Cat."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Cat."); - } - break; - case 1563: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Cat."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Cat."); - } - break; - case 1564: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Cat."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Cat."); - } - break; - case 1565: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Cat."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Cat."); - } - break; - case 7583: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage( - "You drop your Hell Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Hell Kitten."); - } - break; - case 1566: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage("You drop your Cat."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Cat."); - } - break; - case 7585: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage( - "You drop your Hell Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Hell Kitten."); - } - break; case 4045: if (CastleWars.isInCw(player)) { int explosiveHit = 15; @@ -294,22 +84,6 @@ public class DropItem implements PacketType { player.getPacketSender().sendMessage("You can't do that! Your not in castle wars!"); } break; - case 7584: - if (!player.hasNpc) { - GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId), - player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, - 200, false, false, true); - player.getItemAssistant().deleteItem(itemId, slot, - player.playerItemsN[slot]); - player.hasNpc = true; - player.getPlayerAssistant().followPlayer(); - player.getPacketSender().sendMessage( - "You drop your Hell Kitten."); - } else { - player.getPacketSender().sendMessage( - "You already dropped your Hell Kitten."); - } - break; } boolean droppable = true; @@ -357,7 +131,7 @@ public class DropItem implements PacketType { } } else { player.getPacketSender().sendMessage( - "This items cannot be dropped."); + "This item cannot be dropped."); } } } diff --git a/2006Redone Server/src/com/rebotted/world/ObjectHandler.java b/2006Redone Server/src/com/rebotted/world/ObjectHandler.java index 66789202..c05932eb 100644 --- a/2006Redone Server/src/com/rebotted/world/ObjectHandler.java +++ b/2006Redone Server/src/com/rebotted/world/ObjectHandler.java @@ -1,12 +1,8 @@ package com.rebotted.world; -import java.io.BufferedReader; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; + import java.util.ArrayList; import java.util.List; - import com.rebotted.GameEngine; import com.rebotted.game.content.skills.core.Mining; import com.rebotted.game.content.skills.core.Woodcutting; @@ -29,7 +25,7 @@ public class ObjectHandler { public static List removedObjects = new ArrayList(); public ObjectHandler() { - loadGlobalObjects("./data/cfg/global-objects.cfg"); + } public Objects getObjectByPosition(int x, int y) { @@ -191,77 +187,6 @@ public class ObjectHandler { } } - public boolean loadGlobalObjects(String fileName) { - String line = ""; - String token = ""; - String token2 = ""; - String token2_2 = ""; - String[] token3 = new String[10]; - boolean EndOfFile = false; - BufferedReader objectFile = null; - try { - objectFile = new BufferedReader(new FileReader("./" + fileName)); - } catch (FileNotFoundException fileex) { - Misc.println(fileName + ": file not found."); - return false; - } - try { - line = objectFile.readLine(); - } catch (IOException ioexception) { - Misc.println(fileName + ": error loading file."); - try { - objectFile.close(); - } catch (IOException e) { - e.printStackTrace(); - } - return false; - } - while (EndOfFile == false && line != null) { - line = line.trim(); - int spot = line.indexOf("="); - if (spot > -1) { - token = line.substring(0, spot); - token = token.trim(); - token2 = line.substring(spot + 1); - token2 = token2.trim(); - token2_2 = token2.replaceAll("\t\t", "\t"); - token2_2 = token2_2.replaceAll("\t\t", "\t"); - token2_2 = token2_2.replaceAll("\t\t", "\t"); - token2_2 = token2_2.replaceAll("\t\t", "\t"); - token2_2 = token2_2.replaceAll("\t\t", "\t"); - token3 = token2_2.split("\t"); - if (token.equals("object")) { - Objects object = new Objects(Integer.parseInt(token3[0]), - Integer.parseInt(token3[1]), - Integer.parseInt(token3[2]), - Integer.parseInt(token3[3]), - Integer.parseInt(token3[4]), - Integer.parseInt(token3[5]), 0); - addObject(object); - } - } else { - if (line.equals("[ENDOFOBJECTLIST]")) { - try { - objectFile.close(); - } catch (IOException ioexception) { - } - //return true; - } - } - try { - line = objectFile.readLine(); - } catch (IOException ioexception1) { - EndOfFile = true; - } - } - try { - objectFile.close(); - } catch (IOException e) { - e.printStackTrace(); - } - return false; - } - public final int IN_USE_ID = 14825; public boolean isObelisk(int id) {