Merge commit w. Mr Extremez

This commit is contained in:
dginovker
2020-01-27 08:02:18 -05:00
parent e2c675c392
commit 1d86d055a5
56 changed files with 1879 additions and 1221 deletions
Binary file not shown.
+4 -5
View File
@@ -11234,15 +11234,14 @@ public class Game extends RSApplet {
// 15819 = Christmas Type
// 15812 = Security Type
// 15801 = Item Scam Type
// 15791 = Password Safety ?
// 15791 = Password Safety
// 15774 = Good/Bad Password
// 15767 = Drama Type ????
int[] welcome = {17511, 15812, 15801, 15791, 15774, 15767};
// 15767 = Drama Type
if (l7 == 15244) {
if (Flo.getTodaysDate().contains(ClientSettings.SNOW_MONTH)) {
openInterfaceID = welcome[random(5)];
openInterfaceID = 15819;
} else {
openInterfaceID = welcome[random(5)];
openInterfaceID = 15801;
}
fullScreenInterfaceId = 15244;
} else {
+138 -121
View File
@@ -8,8 +8,8 @@ npc = 5 Woman 2 7
npc = 6 Woman 2 7
npc = 7 Farmer 7 12
npc = 8 Thief 16 17
npc = 9 Guard 21 22
npc = 10 Guard 22 22
npc = 9 Gaurd 21 22
npc = 10 Gaurd 22 22
npc = 11 Tramp 2 7
npc = 12 Barbarian 7 14
npc = 13 Wizard 9 14
@@ -31,7 +31,7 @@ npc = 28 Zoo_keeper 0 0
npc = 29 Chuck 0 0
npc = 30 Barman 0 0
npc = 31 Priest 0 0
npc = 32 Guard 20 22
npc = 32 Gaurd 20 22
npc = 33 Door_man 0 0
npc = 34 Watchman 33 22
npc = 35 Soldier 28 22
@@ -114,7 +114,7 @@ npc = 95 Wolf 64 70
npc = 96 White_wolf 25 34
npc = 97 White_wolf 25 34
npc = 98 Dog 0 0
npc = 99 Guard_dog 44 49
npc = 99 Gaurd_dog 44 49
npc = 100 Goblin 2 5
npc = 101 Goblin 5 14
npc = 102 Goblin 13 16
@@ -186,8 +186,8 @@ npc = 159 Gnome_child 1 2
npc = 160 Gnome_child 1 2
npc = 161 Gnome_child 1 2
npc = 162 Gnome_trainer 0 0
npc = 163 Gnome_guard 23 33
npc = 164 Gnome_guard 23 33
npc = 163 Gnome_Gaurd 23 33
npc = 164 Gnome_Gaurd 23 33
npc = 165 Gnome_shop_keeper 0 0
npc = 166 Gnome_banker 0 0
npc = 167 Gnome_baller 0 0
@@ -219,10 +219,10 @@ npc = 192 Dark_warrior 8 18
npc = 193 Chaos_druid_warrior 37 40
npc = 194 Necromancer 26 44
npc = 195 Gaurd_Bandit 21 28
npc = 196 Guard_Bandit 21 28
npc = 196 Gaurd_Bandit 21 28
//------------------------Not In DB------------------------
npc = 197 Barbarian_guard 8 0
npc = 197 Barbarian_Gaurd 8 0
//------------------------Not In DB------------------------
npc = 198 Guild_master 0 0
@@ -284,11 +284,11 @@ npc = 249 Merlin 0 0
npc = 250 The_Lady_of_the_Lake 0 0
npc = 251 King_Arthur 0 0
npc = 252 Beggar 0 0
npc = 253 Khazard_Guard 23 22
npc = 254 Khazard_Guard 23 22
npc = 255 Khazard_Guard 23 22
npc = 256 Khazard_Guard 23 22
npc = 257 Khazard_Guard 23 22
npc = 253 Khazard_Gaurd 23 22
npc = 254 Khazard_Gaurd 23 22
npc = 255 Khazard_Gaurd 23 22
npc = 256 Khazard_Gaurd 23 22
npc = 257 Khazard_Gaurd 23 22
npc = 258 General_Khazard 112 170
npc = 259 Khazard_barman 0 0
npc = 260 Kelvin 0 0
@@ -307,8 +307,8 @@ npc = 272 Lucien 0 0
npc = 273 Lucien 0 0
//------------------------Not In DB------------------------
npc = 274 Guardian_of_Armadyl 45 0
npc = 275 Guardian_of_Armadyl 43 0
npc = 274 Gaurdian_of_Armadyl 45 0
npc = 275 Gaurdian_of_Armadyl 43 0
//------------------------Not In DB------------------------
npc = 276 Winelda 0 0
@@ -371,17 +371,17 @@ npc = 332 Fishing_spot 0 0
npc = 333 Fishing_spot 0 0
npc = 334 Fishing_spot 0 0
npc = 335 Elena 0 0
npc = 336 DeVinci 0 0
npc = 337 DeVinci 0 0
npc = 336 Da_Vinci 0 0
npc = 337 Da_Vinci 0 0
npc = 338 Chancy 0 0
npc = 339 Chancy 0 0
npc = 340 Hops 0 0
npc = 341 Hops 0 0
npc = 342 Guidor's_wife 0 0
npc = 343 Guidor 0 0
npc = 344 Guard 0 0
npc = 345 Guard 0 0
npc = 346 Guard 0 0
npc = 344 Gaurd 0 0
npc = 345 Gaurd 0 0
npc = 346 Gaurd 0 0
npc = 347 Mourner 11 19
npc = 348 Mourner 24 25
npc = 349 Kilron 0 0
@@ -403,7 +403,7 @@ npc = 364 King_Lathas 0 0
npc = 365 Paladin 62 57
npc = 366 Jerico 0 0
npc = 367 Chemist 0 0
npc = 368 Guard 0 0
npc = 368 Gaurd 0 0
npc = 369 Mourner 24 25
npc = 370 Mourner 11 19
npc = 371 Mourner 11 19
@@ -419,7 +419,7 @@ npc = 380 Customs_officer 0 0
npc = 381 Captain_Barnaby 0 0
npc = 382 Dwarf 0 0
npc = 383 Stankers 0 0
npc = 384 Barbarian_guard 0 0
npc = 384 Barbarian_Gaurd 0 0
npc = 385 Kharid_Scorpion 0 0
npc = 386 Kharid_Scorpion 0 0
npc = 387 Kharid_Scorpion 0 0
@@ -433,8 +433,8 @@ npc = 394 River_troll 79 90
npc = 395 River_troll 120 130
npc = 396 River_troll 159 160
npc = 397 Cow 2 8
npc = 398 Legends_Guard 0 0
npc = 399 Legends_Guard 0 0
npc = 398 Legends_Gaurd 0 0
npc = 399 Legends_Gaurd 0 0
npc = 400 Radimus_Erkle 0 0
npc = 401 Jungle_Forester 0 0
npc = 402 Jungle_Forester 0 0
@@ -482,9 +482,9 @@ npc = 443 Tree_spirit 159 160
npc = 444 Goblin 5 13
npc = 445 Goblin 5 13
npc = 446 Giant_rat 3 5
npc = 447 Jail_guard 26 29
npc = 448 Jail_guard 26 29
npc = 449 Jail_guard 26 29
npc = 447 Jail_Gaurd 26 29
npc = 448 Jail_Gaurd 26 29
npc = 449 Jail_Gaurd 26 29
npc = 450 Gull 0 0
npc = 451 Gull 0 0
npc = 452 Seth_Groats 0 0
@@ -524,7 +524,7 @@ npc = 485 Local_Gnome 0 0
npc = 486 Kalron 0 0
npc = 487 Observatory_assistant 0 0
npc = 488 Observatory_professor 0 0
npc = 489 Goblin_guard 26 26
npc = 489 Goblin_Gaurd 26 26
npc = 490 Observatory_professor 0 0
npc = 491 Ghost 19 25
npc = 492 Spirit_of_Scorpius 0 0
@@ -648,7 +648,7 @@ npc = 605 Sir_Vyvin 0 0
npc = 606 Squire 0 0
npc = 607 Gunnjorn 0 0
npc = 608 Sir_Amik_Varze 0 0
npc = 609 Fortress_Guard 20 22
npc = 609 Fortress_Gaurd 20 22
npc = 610 Black_Knight 33 42
npc = 611 Witch 25 10
npc = 612 Greldo 0 0
@@ -687,8 +687,8 @@ npc = 642 Katrine 0 0
npc = 643 Weaponsmaster 23 0
//------------------------Not In DB------------------------
npc = 644 Straven 0 0
npc = 645 Jonny_the_beard 2 10
npc = 644 Straven 23 20
npc = 645 Jonny_the_beard 0 0
npc = 646 Curator 0 0
npc = 647 Reldo 0 0
npc = 648 King_Roald 0 0
@@ -702,6 +702,8 @@ npc = 655 Tree_spirit 101 96
npc = 656 Cave_monk 0 0
npc = 657 Monk of Entrana 0 0
npc = 658 Monk of Entrana 0 0
npc = 2728 Monk of Entrana 0 0
npc = 2729 Monk of Entrana 0 0
npc = 659 Party_Pete 0 0
npc = 660 Knight 0 0
npc = 661 Megan 0 0
@@ -721,7 +723,7 @@ npc = 674 Foreman 23 20
npc = 675 Shipyard_worker 0 0
npc = 676 Femi 0 0
npc = 677 Black_Demon 172 157
npc = 678 Guard 37 40
npc = 678 Gaurd 37 40
npc = 679 Ranging_Guild_Doorman 0 0
npc = 680 Leatherworker 0 0
npc = 681 Weapon_poison_salesman 0 0
@@ -779,7 +781,7 @@ npc = 732 Bartender 0 0
npc = 733 Bartender 0 0
npc = 734 Bartender 0 0
npc = 735 Bartender 0 0
npc = 736 Barmaid 0 0
npc = 736 Emily 0 0
npc = 737 Bartender 0 0
npc = 738 Bartender 0 0
npc = 739 Bartender 0 0
@@ -846,7 +848,7 @@ npc = 795 Ice_Queen 111 105
npc = 796 Achietties 0 0
npc = 797 Helemos 0 0
npc = 798 Velrak the explorer 0 0
npc = 799 Pirate_Guard 19 25
npc = 799 Pirate_Gaurd 19 25
npc = 800 Fishing_spot 0 0
npc = 801 Abbot_Langley 0 0
npc = 802 Brother_Jered 0 0
@@ -859,7 +861,7 @@ npc = 808 Hobbes 0 0
npc = 809 Louisa 0 0
npc = 810 Mary 0 0
npc = 811 Stanford 0 0
npc = 812 Guard 0 0
npc = 812 Gaurd 0 0
npc = 813 Gossip 0 0
npc = 814 Anna 0 0
npc = 815 Bob 0 0
@@ -868,7 +870,7 @@ npc = 817 David 0 0
npc = 818 Elizabeth 0 0
npc = 819 Frank 0 0
npc = 820 Poison_Salesman 0 0
npc = 821 Sinclair_Guard_dog 1 0
npc = 821 Sinclair_Gaurd_dog 1 0
npc = 822 Ana 0 0
npc = 823 anabarrel 0 0
npc = 824 Female_slave 0 0
@@ -881,15 +883,15 @@ npc = 830 Mercenary_Captain 47 68
npc = 831 Captain_Siad 0 0
npc = 832 Al_Shabim 0 0
npc = 833 Bedabin_Nomad 0 0
npc = 834 Bedabin_Nomad_Guard 0 0
npc = 834 Bedabin_Nomad_Gaurd 0 0
npc = 835 Irena 0 0
npc = 836 Shantay 0 0
npc = 837 Shantay_Guard 22 32
npc = 838 Shantay_Guard 22 32
npc = 837 Shantay_Gaurd 22 32
npc = 838 Shantay_Gaurd 22 32
npc = 839 Desert_Wolf 27 34
npc = 840 Ugthanki 42 45
npc = 841 Mine_cart_driver 0 0
npc = 842 Rowdy_Guard 43 60
npc = 842 Rowdy_Gaurd 43 60
npc = 843 RPDT_employee 0 0
npc = 844 Wizard Cromperty 0 0
npc = 845 Horacio 0 0
@@ -904,14 +906,14 @@ npc = 853 Og 0 0
npc = 854 Grew 0 0
npc = 855 Toban 0 0
npc = 856 Gorad 68 81
npc = 857 Ogre_guard 83 80
npc = 858 Ogre_guard 83 80
npc = 859 Ogre_guard 83 80
npc = 860 Ogre_guard 83 80
npc = 861 Ogre_guard 83 80
npc = 857 Ogre_Gaurd 83 80
npc = 858 Ogre_Gaurd 83 80
npc = 859 Ogre_Gaurd 83 80
npc = 860 Ogre_Gaurd 83 80
npc = 861 Ogre_Gaurd 83 80
//------------------------Not In DB------------------------
npc = 862 City_guard 83 0
npc = 862 City_Gaurd 83 0
//------------------------Not In DB------------------------
npc = 863 Scared_skavid 0 0
@@ -921,14 +923,14 @@ npc = 866 Skavid 0 0
npc = 867 Skavid 0 0
npc = 868 Skavid 0 0
npc = 869 Skavid 0 0
npc = 870 Enclave_guard 83 80
npc = 870 Enclave_Gaurd 83 80
npc = 871 Ogre_shaman 113 110
npc = 872 Watchtower_wizard 0 0
npc = 873 Ogre_trader 70 60
npc = 874 Ogre_merchant 60 60
npc = 875 Ogre_trader 70 60
npc = 876 Ogre_trader 70 60
npc = 877 Tower_guard 25 22
npc = 877 Tower_Gaurd 25 22
npc = 878 Colonel_Radick 37 65
npc = 879 Delrith 27 7
npc = 880 Weakened_Delrith 2 1
@@ -938,7 +940,7 @@ npc = 883 Sir_Prysin 0 0
npc = 884 Captain_Rovin 0 0
npc = 885 Ceril_Carnillean 0 0
npc = 886 Claus_the_chef 0 0
npc = 887 Guard 0 0
npc = 887 Gaurd 0 0
npc = 888 Philipe_Carnillean 0 0
npc = 889 Henryeta_Carnillean 0 0
npc = 890 Butler_Jones 0 0
@@ -955,7 +957,7 @@ npc = 900 Witches_experiment_fourth_form 53 55
npc = 901 Mouse 0 0
npc = 902 Gundai 0 0
npc = 903 Lundail 0 0
npc = 904 Chamber_guardian 0 0
npc = 904 Chamber_Gaurdian 0 0
npc = 905 Kolodion 0 0
npc = 906 Kolodion 0 0
npc = 907 Kolodion 0 0
@@ -968,7 +970,7 @@ npc = 913 Battle_mage 54 127
npc = 914 Battle_mage 54 127
npc = 915 Leela 0 0
npc = 916 Joe 0 0
npc = 917 Jail_guard 26 26
npc = 917 Jail_Gaurd 26 26
npc = 918 Ned 0 0
npc = 919 Lady_Keli 0 0
npc = 920 Prince_Ali 0 0
@@ -976,8 +978,8 @@ npc = 921 Prince_Ali 0 0
npc = 922 Aggie 0 0
npc = 923 Hassan 0 0
npc = 924 Osman 0 0
npc = 925 Border_Guard 0 0
npc = 926 Border_Guard 0 0
npc = 925 Border_Gaurd 0 0
npc = 926 Border_Gaurd 0 0
npc = 927 Fishing_spot 0 0
npc = 928 Gujuo 0 0
npc = 929 Ungadulu 70 70
@@ -1110,7 +1112,7 @@ npc = 1043 Will_o'_the_wisp 0 0
npc = 1044 Monk_of_Zamorak 22 23
npc = 1045 Monk_of_Zamorak 17 11
npc = 1046 Monk_of_Zamorak 45 42
npc = 1047 Temple_guardian 30 30
npc = 1047 Temple_Gaurdian 30 30
npc = 1048 Drezel 0 0
npc = 1049 Drezel 0 0
npc = 1050 Filliman_Tarlock 0 0
@@ -1139,8 +1141,8 @@ npc = 1072 Eadburg 4 10
npc = 1073 Archer 42 50
npc = 1074 Archer 42 50
npc = 1075 Archer 42 50
npc = 1076 Guard 37 40
npc = 1077 Guard 37 40
npc = 1076 Gaurd 37 40
npc = 1077 Gaurd 37 40
npc = 1078 Harold 0 0
npc = 1079 Tostig 0 0
npc = 1080 Eohric 0 0
@@ -1205,22 +1207,22 @@ npc = 1138 Mountain_Troll 71 71
npc = 1139 Mushroom 0 0
npc = 1140 Mountain_Goat 0 0
npc = 1141 Mountain_Goat 0 0
npc = 1142 Guard 0 0
npc = 1143 Guard 0 0
npc = 1144 Guard 0 0
npc = 1145 Guard 0 0
npc = 1146 Guard 0 0
npc = 1147 Guard 0 0
npc = 1148 Guard 0 0
npc = 1149 Guard 0 0
npc = 1150 Guard 0 0
npc = 1142 Gaurd 0 0
npc = 1143 Gaurd 0 0
npc = 1144 Gaurd 0 0
npc = 1145 Gaurd 0 0
npc = 1146 Gaurd 0 0
npc = 1147 Gaurd 0 0
npc = 1148 Gaurd 0 0
npc = 1149 Gaurd 0 0
npc = 1150 Gaurd 0 0
npc = 1151 Burntmeat 0 0
npc = 1152 Weird_Old_Man 0 0
npc = 1153 Kalphite_Worker 28 40
npc = 1154 Kalphite_Soldier 85 90
npc = 1155 Kalphite_Guardian 141 171
npc = 1155 Kalphite_Gaurdian 141 171
npc = 1156 Kalphite_Worker 28 40
npc = 1157 Kalphite_Guardian 141 171
npc = 1157 Kalphite_Gaurdian 141 171
npc = 1158 Kalphite_Queen 333 267
npc = 1159 Kalphite_Queen 333 267
npc = 1160 Kalphite_Queen 333 267
@@ -1248,7 +1250,7 @@ npc = 1181 Albatross 0 0
npc = 1182 Lord_Iorwerth 0 0
npc = 1183 Elf_warrior 90 110
npc = 1184 Elf_warrior 108 110
npc = 1185 Elven_city_guard 0 0
npc = 1185 Elven_city_Gaurd 0 0
npc = 1186 Idris 0 0
npc = 1187 Essyllt 0 0
npc = 1188 Morvran 0 0
@@ -1263,13 +1265,13 @@ npc = 1196 Grizzly_bear_cub 19 20
npc = 1197 Grizzly_bear_cub 19 20
npc = 1198 Dire_Wolf 88 86
npc = 1199 Elf_Tracker 0 0
npc = 1200 Tyras_guard 110 112
npc = 1200 Tyras_Gaurd 110 112
npc = 1201 Elf_warrior 0 0
npc = 1202 Arianwyn 0 0
npc = 1203 Tyras_guard 110 112
npc = 1204 Tyras_guard 110 112
npc = 1205 Tyras_guard 0 0
npc = 1206 Tyras_guard 0 0
npc = 1203 Tyras_Gaurd 110 112
npc = 1204 Tyras_Gaurd 110 112
npc = 1205 Tyras_Gaurd 0 0
npc = 1206 Tyras_Gaurd 0 0
npc = 1207 General_Hining 0 0
npc = 1208 Quartermaster 0 0
npc = 1209 Koftik 0 0
@@ -1363,10 +1365,10 @@ npc = 1292 Koschei_the_deathless 0 0
npc = 1293 Koschei_the_deathless 0 0
npc = 1294 Brundt_the_Chieftain 0 0
npc = 1295 Askeladden 0 0
npc = 1296 Guard 0 0
npc = 1297 Guard 0 0
npc = 1298 Town_Guard 0 0
npc = 1299 Town_Guard 0 0
npc = 1296 Gaurd 0 0
npc = 1297 Gaurd 0 0
npc = 1298 Town_Gaurd 0 0
npc = 1299 Town_Gaurd 0 0
npc = 1300 Thora_the_Barkeep 0 0
npc = 1301 Yrsa 0 0
npc = 1302 Fisherman 0 0
@@ -1384,7 +1386,7 @@ npc = 1313 Sassilik 48 50
npc = 1314 Inga 48 50
npc = 1315 Fish_monger 0 0
npc = 1316 Fur_trader 0 0
npc = 1317 Market_Guard 48 50
npc = 1317 Market_Gaurd 48 50
npc = 1318 Warrior 48 50
npc = 1319 Fox 0 0
npc = 1320 Bunny 2 5
@@ -1441,7 +1443,7 @@ npc = 1370 Greengrocer 0 0
npc = 1371 Prince_Brand 0 0
npc = 1372 Princess_Astrid 0 0
npc = 1373 King_Vargas 0 0
npc = 1374 Guard 0 0
npc = 1374 Gaurd 0 0
npc = 1375 Advisor_Ghrim 0 0
npc = 1376 Derrik 0 0
npc = 1377 Farmer 0 0
@@ -1522,14 +1524,14 @@ npc = 1451 Sleeping_Monkey 0 0
npc = 1452 Monkey_Child 0 0
npc = 1453 The_Monkey's_Uncle 0 0
npc = 1454 The_Monkey's_Aunt 0 0
npc = 1455 Monkey_Guard 167 120
npc = 1455 Monkey_Gaurd 167 120
npc = 1456 Monkey_Archer 86 50
npc = 1457 Monkey_Archer 86 50
npc = 1458 Monkey_Archer 86 50
npc = 1459 Monkey_Guard 167 120
npc = 1460 Monkey_Guard 167 120
npc = 1461 Elder_Guard 0 0
npc = 1462 Elder_Guard 0 0
npc = 1459 Monkey_Gaurd 167 120
npc = 1460 Monkey_Gaurd 167 120
npc = 1461 Elder_Gaurd 0 0
npc = 1462 Elder_Gaurd 0 0
npc = 1463 Monkey 3 6
npc = 1464 Monkey 3 6
npc = 1465 Monkey_Zombie 98 80
@@ -1568,17 +1570,17 @@ npc = 1495 toms_zombie_monkey_small 0 0
npc = 1496 toms_female_monkey 0 0
npc = 1497 toms_uncle_monkey 0 0
npc = 1498 toms_caretaker 0 0
npc = 1499 toms_jail_guard 0 0
npc = 1499 toms_jail_Gaurd 0 0
npc = 1500 toms_adviser 0 0
npc = 1501 toms_child 0 0
npc = 1502 toms_ninja_guard 35 0
npc = 1502 toms_ninja_Gaurd 35 0
npc = 1503 toms_monkey_archer 61 0
npc = 1504 toms_ninja_guard_captin 35 0
npc = 1504 toms_ninja_Gaurd_captin 35 0
npc = 1505 toms_gorilla 35 0
npc = 1506 toms_gorilla_pound 35 0
npc = 1507 toms_gorilla_beard 35 0
npc = 1508 toms_gorilla_priest 35 0
npc = 1509 toms_gorilla_guard 35 0
npc = 1509 toms_gorilla_Gaurd 35 0
npc = 1510 toms_acolyte 0 0
npc = 1511 toms_gnome_assassin 0 0
npc = 1512 toms_gnome_sapper 0 0
@@ -1781,13 +1783,13 @@ npc = 1702 Ghost_Banker 0 0
npc = 1703 Ghost_Sailor 0 0
npc = 1704 Ghost_Captain 0 0
npc = 1705 Ghost_Captain 0 0
npc = 1706 Ghost_Guard 0 0
npc = 1706 Ghost_Gaurd 0 0
npc = 1707 Ghost_(?) 0 0
npc = 1708 Ghost_(?) 0 0
npc = 1709 Johanhus_Ulsbrecht 0 0
npc = 1710 H.A.M._Guard 12 15
npc = 1711 H.A.M._Guard 18 20
npc = 1712 H.A.M._Guard 22 31
npc = 1710 H.A.M._Gaurd 12 15
npc = 1711 H.A.M._Gaurd 18 20
npc = 1712 H.A.M._Gaurd 22 31
npc = 1713 H.A.M._Deacon 0 0
npc = 1714 H.A.M._Member 0 0
npc = 1715 H.A.M._Member 0 0
@@ -1884,8 +1886,8 @@ npc = 1802 Slagilith 92 0
npc = 1803 Rock_pile 0 0
npc = 1804 Slagilith 0 0
npc = 1805 Guard 0 0
npc = 1806 Guard 0 0
npc = 1805 Gaurd 0 0
npc = 1806 Gaurd 0 0
npc = 1807 Hamal_the_Chieftain 0 0
npc = 1808 Ragnar 0 0
npc = 1809 Svidi 0 0
@@ -1970,10 +1972,10 @@ npc = 1875 Snake 0 0
npc = 1876 Blackjack_seller 0 0
npc = 1877 feud_bandit_boss 0 0
npc = 1878 Bandit_Leader 0 0
npc = 1879 feud_arabian_guard_multi 0 0
npc = 1879 feud_arabian_Gaurd_multi 0 0
npc = 1880 Bandit 56 30
npc = 1881 Bandit 56 30
npc = 1882 feud_arabian_guard2_multi 0 0
npc = 1882 feud_arabian_Gaurd2_multi 0 0
npc = 1883 Bandit 41 30
npc = 1884 Bandit 41 30
npc = 1885 Bandit_champion 70 50
@@ -2157,8 +2159,8 @@ npc = 2038 Grish 0 0
npc = 2039 Uglug_Nar 0 0
npc = 2040 Pilg 0 0
npc = 2041 Grug 0 0
npc = 2042 Ogre_guard 0 0
npc = 2043 Ogre_guard 83 80
npc = 2042 Ogre_Gaurd 0 0
npc = 2043 Ogre_Gaurd 83 80
npc = 2044 Zogre 44 72
npc = 2045 Zogre 44 72
npc = 2046 Zogre 44 72
@@ -2192,8 +2194,8 @@ npc = 2069 Cave_goblin_miner 11 10
npc = 2070 Cave_goblin_miner 11 10
npc = 2071 Cave_goblin_miner 11 10
npc = 2072 Cave_goblin_miner 11 10
npc = 2073 Cave_goblin_guard 26 26
npc = 2074 Cave_goblin_guard 24 26
npc = 2073 Cave_goblin_Gaurd 26 26
npc = 2074 Cave_goblin_Gaurd 24 26
npc = 2075 Cave_goblin_miner 11 10
npc = 2076 Cave_goblin_miner 11 10
npc = 2077 Cave_goblin_miner 11 10
@@ -2249,13 +2251,13 @@ npc = 2126 Trader 0 0
npc = 2127 Trade_Referee 0 0
npc = 2128 Supreme_Commander 0 0
npc = 2129 Commander_Veldaban 0 0
npc = 2130 Black_Guard 48 40
npc = 2131 Black_Guard 48 40
npc = 2132 Black_Guard 48 40
npc = 2133 Black_Guard 48 40
npc = 2134 Black_Guard_Berserker 66 51
npc = 2135 Black_Guard_Berserker 66 51
npc = 2136 Black_Guard_Berserker 66 51
npc = 2130 Black_Gaurd 48 40
npc = 2131 Black_Gaurd 48 40
npc = 2132 Black_Gaurd 48 40
npc = 2133 Black_Gaurd 48 40
npc = 2134 Black_Gaurd_Berserker 66 51
npc = 2135 Black_Gaurd_Berserker 66 51
npc = 2136 Black_Gaurd_Berserker 66 51
npc = 2137 Gnome_emissary 0 0
npc = 2138 Gnome_traveller 0 0
npc = 2139 Gnome_traveller 0 0
@@ -2350,12 +2352,12 @@ npc = 2227 Red_Axe_Director 0 0
npc = 2228 Commander_Veldaban 0 0
npc = 2229 Red_Axe_Cat 0 0
npc = 2230 Red_Axe_Cat 0 0
npc = 2231 Black_Guard_Berserker 0 0
npc = 2232 Black_Guard_Berserker 0 0
npc = 2231 Black_Gaurd_Berserker 0 0
npc = 2232 Black_Gaurd_Berserker 0 0
npc = 2233 Olivia 0 0
npc = 2234 Master Farmer 0 0
npc = 2235 Master Farmer 0 0
npc = 2236 Market_Guard 20 22
npc = 2236 Market_Gaurd 20 22
npc = 2237 Gee 0 0
npc = 2238 Donie 0 0
npc = 2239 Pig 0 0
@@ -2383,12 +2385,12 @@ npc = 2260 rcu_zammy_mage1_edge 0 0
npc = 2261 Mage_of_Zamorak 0 0
npc = 2262 Dark_mage 0 0
npc = 2263 Abyssal_leech 41 10
npc = 2264 Abyssal_guardian 59 50
npc = 2264 Abyssal_Gaurdian 59 50
npc = 2265 Abyssal_walker 81 95
npc = 2266 Brian_O'Richard 0 0
npc = 2267 Rogue_Guard 0 0
npc = 2268 Rogue_Guard 0 0
npc = 2269 Rogue_Guard 0 0
npc = 2267 Rogue_Gaurd 0 0
npc = 2268 Rogue_Gaurd 0 0
npc = 2269 Rogue_Gaurd 0 0
npc = 2270 Martin_Thwait 0 0
npc = 2271 Emerald_Benedict 0 0
npc = 2272 Spin_Blades 0 0
@@ -2698,12 +2700,12 @@ npc = 2567 Wise_Old_Man 0 0
npc = 2568 Banker 0 0
npc = 2569 Banker 0 0
npc = 2570 Banker 0 0
npc = 2571 Market_Guard 20 22
npc = 2571 Market_Gaurd 20 22
npc = 2572 Olivia 0 0
//------------------------Custom------------------------
npc = 2573 Watchman 253 0
npc = 2574 Bank_guard 0 0
npc = 2574 Bank_Gaurd 0 0
npc = 2575 Purepker895 52 0
npc = 2576 Qutiedoll 16 0
npc = 2577 1337sp34kr 63 0
@@ -2715,8 +2717,8 @@ npc = 2582 Trolley 0 0
npc = 2583 Trolley 0 0
npc = 2584 Trolley 0 0
npc = 2585 garden_trolley 1 0
npc = 2586 Billy,_a_guard_of_Falador 0 0
npc = 2587 Bob,_another_guard_of_Falador 0 0
npc = 2586 Billy,_a_Gaurd_of_Falador 0 0
npc = 2587 Bob,_another_Gaurd_of_Falador 0 0
npc = 2588 Brother_Althric 0 0
npc = 2589 PKMaster0036 87 0
npc = 2590 King_Roald 0 0
@@ -2814,12 +2816,29 @@ npc = 2677 Highwayman 0 0
npc = 2678 Goblin 0 0
npc = 2679 Goblin 0 0
npc = 2680 Goblin 0 0
npc = 2695 Pirate 0 0
npc = 2696 Thief 16 16
npc = 2697 Mugger 5 5
npc = 2698 Black_Knight 30 30
npc = 2704 Guard 0 0
npc = 2709 Fire_Wizard 13 25
npc = 2710 Water_Wizard 13 25
npc = 2711 Earth_Wizard 13 25
npc = 2712 Air_Wizard 13 25
npc = 2713 Malignius_Mortifer 0 0
npc = 2745 TzTok_Jad 702 250
npc = 2881 Dagannoth_Supreme 303 255
npc = 2882 Dagannoth_Prime 303 255
npc = 2883 Dagannoth_Rex 303 255
npc = 2892 Spinolyp 76 100
npc = 2894 Spinolyp 76 100
npc = 2950 The_Face 0 0
npc = 3021 Tool_Leprechaun 0 0
npc = 3108 Bert 0 0
npc = 3109 Gaurd_Captain 0 0
npc = 3200 Chaos_Elemental 305 250
npc = 3217 Kaylee 0 0
npc = 3218 Tina 0 0
npc = 3727 Splatter 21 18
npc = 3728 Splatter 32 27
npc = 3729 Splatter 43 37
@@ -2887,8 +2906,6 @@ npc = 3830 Kathy Corkat 0 0
npc = 3348 White_Knight 38 55
npc = 3350 White_Knight 42 60
npc = 3340 Giant_Mole 230 200
npc = 3504 Hellcat 0 0
npc = 3506 Lazy_Hellcat 0 0
npc = 3507 Wily_Hellcat 0 0
npc = 3790 Squire 0 0
[ENDOFNPCLIST]
@@ -107,7 +107,6 @@ public class Specials {
public void activateSpecial(int weapon, Client o, int i) {
int equippedWeapon = player.playerEquipment[player.playerWeapon];
if (NpcHandler.npcs[i] == null && player.npcIndex > 0 || PlayerHandler.players[player.playerIndex] == null && player.playerIndex > 0) {
return;
}
@@ -219,8 +218,7 @@ public class Specials {
player.hitDelay = player.getCombatAssistant().getHitDelay();
player.doubleHit = SA.getDoubleHit();
} else {
if (o != null)
{
if (o != null) {
o.gfx0(SA.getGfx1());
}
player.startAnimation(SA.getAnim());
@@ -154,9 +154,8 @@ public class Enchanting {
ens.put(en.getSpell(), en);
}
}
}
private boolean hasRunes(int spellID) {
EnchantSpell ens = EnchantSpell.forId(spellID);
if (ens.getReq3() == 0) {
@@ -230,7 +229,7 @@ public class Enchanting {
c.getPacketSender().sendFrame106(6);
} else {
c.getPacketSender().sendMessage(
"You can only enchant this jewelry using a level-"
"You can only enchant this jewelery using a level-"
+ enc.getELevel()
+ " enchantment spell!");
}
@@ -41,21 +41,4 @@ public class MagicTeleports {
player.getPlayerAssistant().startTeleport(teleport.getDestX(), teleport.getDestY(), teleport.getDestZ(), teleport.getType());
player.getPlayerAssistant().addSkillXP(teleport.getExperienceGained(), player.playerMagic);
}
}
@@ -3,7 +3,6 @@ package com.rebotted.game.content.consumables;
import java.util.HashMap;
import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.items.impl.RareProtection;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
@@ -4,9 +4,9 @@ import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.content.skills.cooking.Cooking;
import com.rebotted.game.content.skills.core.Fishing;
import com.rebotted.game.content.skills.core.Mining;
import com.rebotted.game.content.skills.core.Woodcutting;
import com.rebotted.game.content.skills.herblore.Herblore;
import com.rebotted.game.content.skills.smithing.Smelting;
import com.rebotted.game.content.skills.woodcutting.Woodcutting;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.players.Player;
@@ -10,6 +10,7 @@ import com.rebotted.game.content.randomevents.RandomEventHandler;
import com.rebotted.game.content.skills.SkillHandler;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class Cooking extends SkillHandler {
@@ -82,8 +83,6 @@ public class Cooking extends SkillHandler {
return stopBurn;
}
@SuppressWarnings("unused")
// causes bugs
private int getStopBurnGloves() {
return stopBurnGloves;
}
@@ -221,10 +220,9 @@ public class Cooking extends SkillHandler {
return burn_chance <= randNum;
}
public static void cookItem(final Player player, final int itemId,
final int amount, final int objectId) {
public static void cookItem(final Player player, final int itemId, final int amount, final int objectId) {
CycleEventHandler.getSingleton().stopEvents(player, "cookingEvent".hashCode());
final CookingItems item = forId(itemId);
if (item != null) {
setCooking(player);
RandomEventHandler.addRandom(player);
@@ -236,7 +234,7 @@ public class Cooking extends SkillHandler {
if (objectId > 0) {
player.startAnimation(objectId == 2732 ? 897 : 896);
}
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
CycleEventHandler.getSingleton().addEvent("cookingEvent".hashCode(), player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (!player.playerIsCooking) {
@@ -253,14 +251,12 @@ public class Cooking extends SkillHandler {
container.stop();
return;
}
// if (c.playerEquipment[c.playerHands] != 775)
boolean burn = !getSuccess(player, 3, item.getLevelReq(),
item.getStopBurn());
/*
* else burn = !getSuccess(c, 3, item.getLevelReq(), item
* .getStopBurnGloves());
*/
boolean burn;
if (player.playerEquipment[GameConstants.HANDS] == 775) {
burn = !getSuccess(player, 3, item.getLevelReq(), item.getStopBurnGloves());
} else {
burn = !getSuccess(player, 3, item.getLevelReq(), item.getStopBurn());
}
player.getItemAssistant().deleteItem(item.getRawItem(),
player.getItemAssistant().getItemSlot(itemId), 1);
if (!burn) {
@@ -289,6 +285,10 @@ public class Cooking extends SkillHandler {
container.stop();
return;
}
if (player.playerIsCooking && !Misc.goodDistance(player.objectX, player.objectY, player.absX, player.absY, 2)) {
container.stop();
return;
}
if (player.doAmount > 0) {
if (objectId > 0) {
player.startAnimation(objectId == 2732 ? 897 : 896);
@@ -0,0 +1,114 @@
package com.rebotted.game.content.skills.cooking;
import java.util.HashMap;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.players.Player;
/**
* Created by IntelliJ IDEA. User: vayken Date: 23/12/11 Time: 20:42 To change
* this template use File | Settings | File Templates.
*/
public class DairyChurn {
private static final int CHURN_ANIMATION = 894;
public static enum ChurnData {
CREAM(59238, new int[] { 1927 }, 2130, 21, 18), BUTTER(59239,
new int[] { 1927, 2130 }, 6697, 38, 40), CHEESE(59240,
new int[] { 1927, 2130, 6697 }, 1985, 48, 64);
private int buttonId;
private int[] used;
private int result;
private int level;
private double experience;
public static HashMap<Integer, ChurnData> churnItems = new HashMap<Integer, ChurnData>();
public static ChurnData forId(int id) {
return churnItems.get(id);
}
static {
for (ChurnData data : ChurnData.values()) {
churnItems.put(data.buttonId, data);
}
}
private ChurnData(int buttonId, int[] used, int result, int level,
double experience) {
this.buttonId = buttonId;
this.used = used;
this.result = result;
this.level = level;
this.experience = experience;
}
public int getButtonId() {
return buttonId;
}
public int[] getUsed() {
return used;
}
public int getResult() {
return result;
}
public int getLevel() {
return level;
}
public double getExperience() {
return experience;
}
}
public static void churnItem(final Player player, int buttonId) {
final ChurnData churnData = ChurnData.forId(buttonId);
if (churnData == null || player.getStatedInterface() != "dairyChurn") {
return;
}
if (player.playerLevel[player.playerCooking] < churnData.getLevel()) {
player.getDialogueHandler().sendStatement("You need a cooking level of " + churnData.getLevel() + " to make this.");
return;
}
player.playerIsCooking = true;
player.getPacketSender().closeAllWindows();
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
for (int i = 0; i <= churnData.getUsed().length - 1; i++) {
if (!player.getItemAssistant().playerHasItem(churnData.getUsed()[i])) {
player.getDialogueHandler().sendStatement("You don't have the required items to use the churn.");
container.stop();
return;
}
}
if (!player.playerIsCooking) {
container.stop();
return;
}
container.setTick(5);
player.startAnimation(CHURN_ANIMATION);
player.getPacketSender().sendMessage("You make a " + ItemAssistant.getItemName(churnData.getResult()).toLowerCase() + ".");
for (int i = 0; i < churnData.getUsed().length; i++)
player.getItemAssistant().deleteItem(churnData.getUsed()[i], 1);
player.getItemAssistant().addItem(churnData.getResult(), 1);
player.getItemAssistant().addItem(1925, 1);
player.getPlayerAssistant().addSkillXP(churnData.getExperience(), player.playerCooking);
}
@Override
public void stop() {
player.getPlayerAssistant().resetAnimation();
}
}, 1);
}
}
@@ -129,14 +129,12 @@ public class Mining {
}
}
int pickaxe = -1;
public void repeatAnimation(final Player c) {
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (c.isMining) {
c.startAnimation(Pick_Settings[pickaxe][3]);
c.startAnimation(Pick_Settings[c.miningAxe][3]);
} else {
container.stop();
}
@@ -151,11 +149,12 @@ public class Mining {
}
public void startMining(final Player player, final int objectID, final int objectX, final int objectY, final int type) {
CycleEventHandler.getSingleton().stopEvents(player, "miningEvent".hashCode());
if (player.isMining || player.miningRock)
return;
int miningLevel = player.playerLevel[player.playerMining];
rockData rock = rockData.getRock(objectID);
pickaxe = -1;
player.miningAxe = -1;
player.turnPlayerTo(objectX, objectY);
// check if the player has required level for this rock
if (rock.getRequiredLevel() > miningLevel) {
@@ -166,11 +165,11 @@ public class Mining {
for (int i = 0; i < Pick_Settings.length; i++) {
if (player.getItemAssistant().playerHasItem(Pick_Settings[i][0]) || player.playerEquipment[player.playerWeapon] == Pick_Settings[i][0]) {
if (Pick_Settings[i][1] <= miningLevel) {
pickaxe = i;
player.miningAxe = i;
}
}
}
if (pickaxe == -1) {
if (player.miningAxe == -1) {
player.getPacketSender().sendMessage("You need a pickaxe to mine this rock.");
return;
}
@@ -179,7 +178,7 @@ public class Mining {
return;
}
player.startAnimation(Pick_Settings[pickaxe][3]);
player.startAnimation(Pick_Settings[player.miningAxe][3]);
player.isMining = true;
repeatAnimation(player);
player.rockX = objectX;
@@ -195,7 +194,7 @@ public class Mining {
player.getPacketSender().sendMessage("You swing your pick at the rock.");
}
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
CycleEventHandler.getSingleton().addEvent("miningEvent".hashCode(), player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
int oreID = rock.getOre(miningLevel);
@@ -237,8 +236,9 @@ public class Mining {
}
mineRock(rock.getRespawnTimer(), objectX, objectY, type, objectID);
container.stop();
if (rock == rockData.ESSENCE)
if (rock == rockData.ESSENCE) {
startMining(player, objectID, objectX, objectY, type);
}
}
@Override
public void stop() {
@@ -250,7 +250,7 @@ public class Mining {
player.miningRock = false;
return;
}
}, getTimer(rock, pickaxe, miningLevel));
}, getTimer(rock, player.miningAxe, miningLevel));
}
public static void resetMining(Player player) {
@@ -15,38 +15,36 @@ public class SoftClay {
public static final int SOFT_CLAY = 1761, CLAY = 434;
public static void makeClay(final Player c) {
if (!c.getItemAssistant().playerHasItem(CLAY)) {
c.getPacketSender().sendMessage("You need clay to do this.");
public static void makeClay(final Player player) {
if (!player.getItemAssistant().playerHasItem(CLAY)) {
player.getPacketSender().sendMessage("You need clay to do this.");
return;
}
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
player.isSpinning = true;
player.doAmount = player.getItemAssistant().getItemAmount(CLAY);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
int amountToSubtract = c.getItemAssistant().getItemAmount(CLAY);
int amountToAdd = amountToSubtract;
c.doAmount = amountToSubtract;
c.addAmount = amountToAdd;
if (c.getItemAssistant().playerHasItem(CLAY)) {
c.getItemAssistant().deleteItem(CLAY, c.doAmount);
c.doAmount--;
c.getItemAssistant().addItem(SOFT_CLAY, c.addAmount);
c.addAmount++;
RandomEventHandler.addRandom(c);
if (c.doAmount == 0) {
c.getPacketSender().sendMessage("You have ran out of clay to turn to soft clay.");
container.stop();
}
if (c.disconnected) {
if (player.getItemAssistant().playerHasItem(CLAY) && player.isSpinning == true) {
player.startAnimation(896);
player.getItemAssistant().deleteItem(CLAY, 1);
player.getItemAssistant().addItem(SOFT_CLAY, 1);
player.doAmount--;
RandomEventHandler.addRandom(player);
player.getPacketSender().sendMessage("You turn the clay into soft clay.");
if (player.disconnected || player.isSpinning == false || player.doAmount == 0) {
container.stop();
return;
}
}
}
@Override
public void stop() {
player.isSpinning = false;
player.startAnimation(65535);
return;
}
}, 1);
}, 3);
}
}
}
@@ -29,41 +29,36 @@ public class Spinning extends CraftingData {
c.isSpinning = true;
}
public static void spinItem(final Player c) {
c.getPacketSender().closeAllWindows();
public static void spinItem(final Player player) {
player.getPacketSender().closeAllWindows();
for (int[] element : BEFORE_AFTER) {
final int before = element[0];
final int after = element[1];
final int exp = element[2];
final int level = element[3];
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (c.isSpinning) {
if (c.getItemAssistant().playerHasItem(before)) {
if (c.playerLevel[c.playerCrafting] < level) {
c.getDialogueHandler().sendStatement(
if (player.isSpinning == true) {
if (player.getItemAssistant().playerHasItem(before)) {
if (player.playerLevel[player.playerCrafting] < level) {
player.getDialogueHandler().sendStatement(
"You need a crafting level of " + level
+ " to do this.");
return;
}
c.startAnimation(896);
int amount = c.getItemAssistant().getItemCount( before);
c.getItemAssistant().deleteItem(before, amount);
c.getItemAssistant().addItem(after, amount);
c.getPlayerAssistant().addSkillXP(exp * amount, c.playerCrafting);
c.getPacketSender().sendMessage("You spin the " + ItemAssistant.getItemName(before) + " into a " + ItemAssistant.getItemName(after) + ".");
c.doAmount--;
player.startAnimation(896);
player.getItemAssistant().deleteItem(before, 1);
player.getItemAssistant().addItem(after, 1);
player.getPlayerAssistant().addSkillXP(exp, player.playerCrafting);
player.getPacketSender().sendMessage("You spin the " + ItemAssistant.getItemName(before) + " into a " + ItemAssistant.getItemName(after) + ".");
player.doAmount--;
}
if (!c.getItemAssistant().playerHasItem(before)
|| c.isSpinning == false) {
container.stop();
}
if (c.doAmount <= 0) {
if (player.doAmount <= 0 || player.isSpinning == false) {
container.stop();
return;
}
}
@@ -71,9 +66,11 @@ public class Spinning extends CraftingData {
@Override
public void stop() {
c.isSpinning = false;
player.isSpinning = false;
player.startAnimation(65535);
return;
}
}, 2);
}, 3);
}
}
}
@@ -32,9 +32,8 @@ public class Tanning extends CraftingData {
if (price > coins) {
price = coins - coins % t.getPrice();
}
if (price == 0) {
player.getPacketSender().sendMessage(
"You do not have enough coins to tan this hide.");
if (amount > 0 && price == 0) {
player.getPacketSender().sendMessage("You do not have enough coins to tan this hide.");
return;
}
amount = price / t.getPrice();
@@ -43,14 +42,11 @@ public class Tanning extends CraftingData {
if (player.getItemAssistant().playerHasItem(995, price)) {
if (player.getItemAssistant().playerHasItem(hide)) {
player.getItemAssistant().deleteItem(hide, amount);
player.getItemAssistant().deleteItem(995,
player.getItemAssistant().getItemSlot(995), price);
player.getItemAssistant().deleteItem(995, player.getItemAssistant().getItemSlot(995), price);
player.getItemAssistant().addItem(leather, amount);
player.getPacketSender().sendMessage(
"The tanner tans the hides for you.");
player.getPacketSender().sendMessage("The tanner tans the hides for you.");
} else {
player.getPacketSender().sendMessage(
"You do not have any hides to tan.");
player.getPacketSender().sendMessage("You do not have any hides to tan.");
return;
}
} else {
@@ -0,0 +1,238 @@
package com.rebotted.game.content.skills.prayer;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.players.Player;
/**
* Aug 31, 2017 : 5:29:02 PM
* Ectofuntus.java
* @author Andrew (Mr Extremez)
* @author Haley n (most of this ectofuntus base is hers)
*/
public class Ectofuntus {
/**
* Data storage for ectofuntus
*/
public enum EctofuntusData {
BONES(526, 4255, 18), BIG_BONES(532, 4257, 60), BABYDRAGON_BONES(534,
4260, 120), DRAGON_BONES(536, 4261, 288), DAGANNOTH_BONES(6729,
6728, 500);
int boneId, bonemealId, worshipExperience;
EctofuntusData(int boneId, int bonemealId, int worshipExperience) {
this.boneId = boneId;
this.bonemealId = bonemealId;
this.worshipExperience = worshipExperience;
}
public int getBoneId() {
return boneId;
}
public int getBonemealId() {
return bonemealId;
}
public int getWorshipExperience() {
return worshipExperience;
}
}
/**
* Get the name of the bone used
*
* @param boneId
* @return
*/
public static String getBoneName(int boneId) {
for (EctofuntusData ectofuntus : EctofuntusData.values()) {
if (ectofuntus.boneId == boneId) {
return ectofuntus.name().replaceAll("_", " ").toLowerCase();
}
}
return "";
}
/**
* Put bones in the loader
*
* @param objectId
* @param boneId
*/
public static void boneOnLoader(Player player, int objectId, int boneId) {
for (final EctofuntusData ectofuntus : EctofuntusData.values()) {
if (player.ectofuntusBoneCrusherState.equals("Loaded")) {
player.getPacketSender().sendMessage("There are already bone ready to be crushed.");
return;
} else if (player.ectofuntusBoneCrusherState.equals("Bin")) {
player.getPacketSender().sendMessage("The bin is full please empty it.");
return;
} else if (objectId == LOADER && ectofuntus.boneId == boneId && player.ectofuntusBoneCrusherState.equals("Empty")) {
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
player.startAnimation(BONES);
player.getItemAssistant().deleteItem(ectofuntus.getBoneId(), 1);
player.ectofuntusBoneCrusherState = "Loaded";
player.ectofuntusBoneUsed = ectofuntus.getBoneId();
player.getPacketSender().sendMessage("You load the " + getBoneName(ectofuntus.getBoneId()) + " into the loader.");
container.stop();
}
@Override
public void stop() {
// TODO Auto-generated method stub
}
}, 3);
}
}
}
/**
* Grinds the bones
*/
public static void useBoneGrinder(Player player) {
if (player.ectofuntusBoneCrusherState.equals("Loaded")) {
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
player.startAnimation(WHEEL);
player.ectofuntusBoneCrusherState = "Bin";
player.getPacketSender().sendMessage("You crush the bones.");
container.stop();
}
@Override
public void stop() {
// TODO Auto-generated method stub
}
}, 3);
} else if (player.ectofuntusBoneCrusherState.equals("Empty") || player.ectofuntusBoneCrusherState.equals("Bin")) {
player.getPacketSender().sendMessage("There is nothing to be crushed.");
}
}
/**
* Emptys the bin into pots
*/
public static void emptyBin(Player player) {
for (final EctofuntusData ectofuntus : EctofuntusData.values()) {
if (player.ectofuntusBoneCrusherState.equals("Loaded") || player.ectofuntusBoneCrusherState.equals("Empty")) {
player.getPacketSender().sendMessage("There is nothing to be crushed.");
return;
} else if (!player.getItemAssistant().playerHasItem(POT)) {
player.getPacketSender().sendMessage("You need a pot to collect the bonemeal.");
return;
} else if (player.getItemAssistant().playerHasItem(POT) && ectofuntus.boneId == player.ectofuntusBoneUsed && player.ectofuntusBoneCrusherState.equals("Bin")) {
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
player.getItemAssistant().addItem(ectofuntus.getBonemealId(), 1);
player.getItemAssistant().deleteItem(POT, 1);
player.ectofuntusBoneCrusherState = "Empty";
player.ectofuntusBoneUsed = -1;
player.getPacketSender().sendMessage("You collect the bonemeal.");
container.stop();
}
@Override
public void stop() {
// TODO Auto-generated method stub
}
}, 3);
}
}
}
/**
* Handles ectofuntus
*
* @param objectId
* @param itemId
*/
public static void handleEctofuntus(Player player, int objectId) {
player.turnPlayerTo(3660, 3520);
for (final EctofuntusData ectofuntus : EctofuntusData.values()) {
if (objectId == ECTOFUNTUS && player.getItemAssistant().playerHasItem(ectofuntus.getBonemealId()) && player.getItemAssistant().playerHasItem(BUCKET_OF_SLIME)) {
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
player.getItemAssistant().deleteItem(ectofuntus.getBonemealId(), 1);
player.startAnimation(WORSHIP);
player.getPlayerAssistant().addSkillXP(ectofuntus.getWorshipExperience(), player.playerPrayer);
player.getPacketSender().sendMessage("You pray to the ectofuntus.");
container.stop();
}
@Override
public void stop() {
// TODO Auto-generated method stub
}
}, 3);
}
}
}
/**
* Fills all buckets in your inventory individualy with slime
*
* @param objectId
* @param itemId
*/
public static void fillBucketWithSlime(Player player, final int objectId) {
for (int i = 0; i < SLIME.length; i++) {
if (objectId == SLIME[i]) {
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (player.getItemAssistant().playerHasItem(BUCKET)) {
player.getItemAssistant().deleteItem(BUCKET, 1);
player.getItemAssistant().addItem(BUCKET_OF_SLIME, 1);
player.startAnimation(BUCKET_FILL);
} else {
player.getPacketSender().sendMessage("You have ran out of buckets.");
container.stop();
}
}
@Override
public void stop() {
// TODO Auto-generated method stub
}
}, 3);
}
}
}
/**
* item constants
*/
private final static int POT = 1931;
public final static int BUCKET = 1925;
private final static int BUCKET_OF_SLIME = 4286;
/**
* object constants
*/
private final static int ECTOFUNTUS = 5282;
private final static int LOADER = 11162;
private final static int[] SLIME = { 5461, 5462 };
/**
* animation constants
*/
private final static int WORSHIP = 1651;
private final static int WHEEL = 1648;
private final static int BONES = 1649;
private final static int BUCKET_FILL = 895;
}
@@ -1,4 +1,4 @@
package com.rebotted.game.content.skills.core;
package com.rebotted.game.content.skills.prayer;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
@@ -19,23 +19,37 @@ public class Runecrafting {
this.c = player;
}
public static void locate(Client c, int xPos, int yPos) {
public static void locate(Player c, int xPos, int yPos) {
String X = "";
String Y = "";
if (c.absX >= xPos) {
X = "west";
}
if (c.absY > yPos) {
Y = "South";
Y = "south";
}
if (c.absX < xPos) {
X = "east";
}
if (c.absY <= yPos) {
Y = "North";
Y = "north";
}
c.getPacketSender().sendMessage("You need to travel " + Y + "-" + X + ".");
}
public final static int RC_DATA[][] = {
{ 1438, 5527, 2478}, // air
{ 1448, 5529, 2479 }, // mind
{ 1444, 5531, 2480 }, // water
{ 1440, 5535, 2481 }, // earth
{ 1442, 5537, 2482 }, // fire
{ 1446, 5533, 2483 }, // body
{ 1454, 5539, 2484 }, // cosmic
{ 1452, 5543, 2487 }, // chaos
{ 1462, 5541, 2486 }, // nature
{ 1458, 5545, 2485 }, // law
{ 1456, 5547, 2488 }, // death
};
private enum Altars {
AIR_ALTAR(2452, new int[] { 1438, 5527 }, new int[] { 2842, 4829 }),
@@ -0,0 +1,41 @@
package com.rebotted.game.content.skills.runecrafting;
import com.rebotted.game.content.skills.SkillHandler;
import com.rebotted.game.players.Player;
public class Tiaras {
public static boolean bindTiara(Player player, int itemId, int objectId) {
for (int[] ruin : Runecrafting.RC_DATA) {
if (itemId == ruin[0] && objectId == ruin[2]) {
if (!SkillHandler.RUNECRAFTING) {
player.getPacketSender().sendMessage("This skill is currently disabled.");
return false;
}
if (player.getItemAssistant().playerHasItem(5525)) {
player.getItemAssistant().deleteItem(5525, 1);
player.getItemAssistant().addItem(ruin[1], 1);
player.getPacketSender()
.sendMessage(
"You bind the power of the talisman into the tiara.");
}
return true;
}
}
return false;
}
public static void handleTiara(Player player, int id) {
int[][] tiaras = { { 5527, 1 }, { 5529, 2 }, { 5531, 4 }, { 5535, 8 },
{ 5537, 16 }, { 5533, 31 }, { 5539, 64 }, { 5543, 128 },
{ 5541, 256 }, { 5545, 512 }, { 5547, 1024 } };
for (int[] t : tiaras) {
if (t[0] == id) {
player.getPacketSender().sendConfig(491, t[1]);
return;
}
}
player.getPacketSender().sendConfig(491, 0);
}
}
@@ -222,11 +222,13 @@ public class Pickpocket extends SkillHandler {
c.getPacketSender().sendMessage("You can't pickpocket while in combat!");
return;
}
if (System.currentTimeMillis() - c.logoutDelay < 4000) {
return;
}
if (!THIEVING) {
c.getPacketSender().sendMessage("This skill is currently disabled.");
return;
}
// membersOnly();
for (final npcData n : npcData.values()) {
if (npcId == n.getNpc(npcId)) {
if (c.playerLevel[c.playerThieving] < n.getLevel()) {
@@ -0,0 +1,87 @@
package com.rebotted.game.content.skills.woodcutting;
import com.rebotted.GameEngine;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
/**
* Aug 31, 2017 : 3:02:33 AM
* BirdsNest.java
* @author Andrew (Mr Extremez)
*/
public class BirdNest {
private final static int[][] TREE_CHANCE = {
{5312, 0, 203}, {5283, 204, 349}, {5313, 350, 492},
{5284, 493, 599}, {5285, 600, 679}, {5286, 680, 751},
{5314, 752, 810}, {5287, 811, 864}, {5288, 865, 907},
{5289, 908, 939}, {5315, 940, 963}, {5290, 964, 985},
{5316, 986, 996}, {5317, 996, 1000},
};
private final static int[][] RING_CHANCE = {
{1637, 0, 398}, {1635, 399, 775},
{1639, 776, 901}, {1641, 902, 992},
{1643, 993, 1001}
};
private final static int[][] WYSON_CHANCE = {
{5318, 14, 0, 1739}, {5320, 3, 1740, 2763},
{5322, 6, 2764, 3708}, {5324, 9, 3709, 4559},
{5319, 11, 4560, 5368}, {5100, 2, 5369, 6166},
{5321, 2, 6167, 6958}, {5323, 3, 6959, 7693},
{5312, 1, 7694, 7965}, {5295, 1, 7966, 8151},
{5313, 1, 8152, 8317}, {5314, 1, 8318, 8415},
{5315, 1, 8416, 8481}, {5317, 1, 8482, 8491},
{5316, 1, 8492, 8499}
};
public static void handleBirdNest(Player player, int itemId, int nestType) {
player.getPacketSender().sendMessage("You search the nest...");
player.getItemAssistant().deleteItem(itemId, 1);
player.getItemAssistant().addItem(5075, 1);
switch (nestType) {
case 0:
int randomTree = Misc.random(1000);
for (int i = 0; i < TREE_CHANCE.length; i++) {
if (randomTree >= TREE_CHANCE[i][1] && randomTree <= TREE_CHANCE[i][2]) {
player.getItemAssistant().addItem(TREE_CHANCE[i][0], 1);
player.getPacketSender().sendMessage("You find a " + ItemAssistant.getItemName(TREE_CHANCE[i][0]) + ".");
}
}
break;
case 1:
int randomRing = Misc.random(1001);
for (int i = 0; i < RING_CHANCE.length; i++) {
if (randomRing >= RING_CHANCE[i][1] && randomRing <= RING_CHANCE[i][2]) {
player.getItemAssistant().addItem(RING_CHANCE[i][0], 1);
player.getPacketSender().sendMessage("You find a " + ItemAssistant.getItemName(RING_CHANCE[i][0]) + ".");
}
}
break;
case 2:
int randomWyson = Misc.random(8499);
for (int i = 0; i < WYSON_CHANCE.length; i++) {
if (randomWyson >= WYSON_CHANCE[i][2] && randomWyson <= WYSON_CHANCE[i][3]) {
player.getItemAssistant().addItem(WYSON_CHANCE[i][0], WYSON_CHANCE[i][1]);
player.getPacketSender().sendMessage("You find a " + ItemAssistant.getItemName(WYSON_CHANCE[i][0]) + ".");
}
}
break;
}
}
public static void birdNests(Player player) {
if (Misc.random(256) == 69 && player.tutorialProgress >= 36) {
player.getPacketSender().sendMessage("A birds nest falls from the branches.");
dropNest(player);
}
}
public static void dropNest(Player player) {
GameEngine.itemHandler.createGroundItem(player, 5070 + Misc.random(4), player.getX(), player.getY(), 1, player.getId());
}
}
@@ -1,6 +1,5 @@
package com.rebotted.game.content.skills.core;
package com.rebotted.game.content.skills.woodcutting;
import com.rebotted.GameEngine;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
@@ -105,9 +104,9 @@ public class Woodcutting {
@Override
public void execute(CycleEventContainer container) {
if (p.isWoodcutting) {
if ((p.axeAnimation >= 0) && (p.axeAnimation < Axe_Settings.length)) {
if ((p.woodcuttingAxe >= 0) && (p.woodcuttingAxe < Axe_Settings.length)) {
try {
p.startAnimation(Axe_Settings[p.axeAnimation][3]);
p.startAnimation(Axe_Settings[p.woodcuttingAxe][3]);
} catch (ArrayIndexOutOfBoundsException exception) {
System.out.println("LOL this happend again: " + exception);
}
@@ -241,7 +240,7 @@ public class Woodcutting {
return;
}
int wcLevel = p.playerLevel[8];
p.axeAnimation = -1;
p.woodcuttingAxe = -1;
treeData tree = treeData.getTree(objectId);
p.turnPlayerTo(x, y);
if (tree.getLevelReq() > wcLevel) {
@@ -251,11 +250,11 @@ public class Woodcutting {
for (int i = 0; i < Axe_Settings.length; i++) {
if (p.getItemAssistant().playerHasItem(Axe_Settings[i][0]) || p.playerEquipment[p.playerWeapon] == Axe_Settings[i][0]) {
if (Axe_Settings[i][1] <= wcLevel) {
p.axeAnimation = i;
p.woodcuttingAxe = i;
}
}
}
if (p.axeAnimation == -1) {
if (p.woodcuttingAxe == -1) {
p.getPacketSender().sendMessage("You need an axe to cut this tree.");
return;
}
@@ -268,7 +267,7 @@ public class Woodcutting {
p.getPacketSender().sendMessage("You are already woodcutting!");
return;
}
p.startAnimation(Axe_Settings[p.axeAnimation][3]);
p.startAnimation(Axe_Settings[p.woodcuttingAxe][3]);
p.isWoodcutting = true;
p.getPacketSender().sendSound(SoundList.TREE_CUT_BEGIN, 100, 0);
repeatAnimation(p);
@@ -290,7 +289,7 @@ public class Woodcutting {
@Override
public void execute(CycleEventContainer container) {
if (p.axeAnimation <= -1)
if (p.woodcuttingAxe <= -1)
{
container.stop();
return;
@@ -304,7 +303,7 @@ public class Woodcutting {
return;
}
if (p.isWoodcutting) {
p.startAnimation(Axe_Settings[p.axeAnimation][3]);
p.startAnimation(Axe_Settings[p.woodcuttingAxe][3]);
}
if (p.getItemAssistant().freeSlots() < 1) {
p.getPacketSender().sendMessage("You have ran out of inventory slots.");
@@ -320,7 +319,7 @@ public class Woodcutting {
p.getDialogueHandler().sendDialogues(3014, 0);
}
if (p.isWoodcutting) {
birdNests(p);
BirdNest.birdNests(p);
}
if (p.isWoodcutting && p.tutorialProgress >= 36 && p.treeSpiritSpawned == false) {
RandomEventHandler.addRandom(p);
@@ -344,7 +343,7 @@ public class Woodcutting {
p.treeX = 0;
p.treeY = 0;
}
}, getTimer(tree, p.axeAnimation, wcLevel));
}, getTimer(tree, p.woodcuttingAxe, wcLevel));
}
}
@@ -364,17 +363,6 @@ public class Woodcutting {
}
}
public static void birdNests(Player p) {
if (Misc.random(200) == 69 && p.tutorialProgress >= 36) {
p.getPacketSender().sendMessage("A birds nest falls from the branches.");
dropNest(p);
}
}
public static void dropNest(Player p) {
GameEngine.itemHandler.createGroundItem(p, 5070 + Misc.random(4), p.getX(), p.getY(), 1, p.getId());
}
public static boolean playerTrees(Player player, int tree) {
boolean trees2 = false;
for (int i = 0; i < trees.length; i++) {
@@ -7,7 +7,7 @@ import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class Desert {
public class DesertCactus {
/**
* The animation played when cutting the cactus.(SLASH)
@@ -52,24 +52,6 @@ public class Desert {
return cut;
}
public static void showWarning(Player c) {
for (int i = 8144; i < 8195; i++) {
c.getPacketSender().sendFrame126("", i);
}
c.getPacketSender().sendFrame126("@dre@DESERT WARNING", 8144);
c.getPacketSender().sendFrame126("", 8145);
c.getPacketSender().sendFrame126("The intense heat of the desert reduces your health.", 8147);
c.getPacketSender().sendFrame126("Bring 2-5 waterskins to avoid receiving any damage.", 8148);
c.getPacketSender().sendFrame126("", 8149);
c.getPacketSender().sendFrame126("Wearing desert robes will not prevent the damage, but", 8150);
c.getPacketSender().sendFrame126("will reduce it significantly.", 8151);
c.getPacketSender().sendFrame126("", 8152);
c.getPacketSender().sendFrame126("The waterskins however need to be re-filled. Bring a", 8153);
c.getPacketSender().sendFrame126("knife and cut healthy cacti to re-fill the waterskins.", 8154);
c.getPacketSender().sendFrame126("@red@Any water vessels will evaporate, such as jug of water.", 8155);
c.getPacketSender().showInterface(8134);
}
/**
* Handles fails and success attempts.
*
@@ -0,0 +1,138 @@
package com.rebotted.game.content.traveling;
import com.rebotted.GameConstants;
import com.rebotted.event.CycleEvent;
import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
/**
* Aug 12, 2017 : 1:51:21 AM
* DesertHeat.java
* @author Andrew (Mr Extremez)
*/
public class DesertHeat {
/**
* Damage dealt to player
*/
private static int DAMAGE = 1+Misc.random(8);
/**
* Waterskin animation
*/
private static final int ANIMATION = 829;
/**
* Time player has if they don't have protection
*/
private static int REGULAR_TIMER = 30000;
/**
* Integer to check if player has waterskins
*/
private static int waterskin = -1;
/**
* Waterskins before and after
*/
private static int[][] WATERSKINS = {
{1825, 1823},//waterskin 3
{1827, 1825},//waterskin 2
{1829, 1827},//waterskin 1
{1831, 1829}//waterskin 0
};
/**
* Desert clothes
*/
private static final int[][] CLOTHES = {
{1833, GameConstants.CHEST}, {1835, GameConstants.LEGS}, {1837, GameConstants.FEET}
};
private static void doDamage(Player player) {
player.getPacketSender().sendMessage("You should get a waterskin for any traveling in the desert.");
player.handleHitMask(DAMAGE);
player.dealDamage(DAMAGE);
player.getPlayerAssistant().refreshSkill(player.playerHitpoints);
}
private static int getClothes(Player player) {
int temp = 0;
for (int element[] : CLOTHES) {
if (player.playerEquipment[element[1]] == element[0]) {
temp += 1;
}
}
return temp;
}
private static int getTimer(Player player) {
/**
* 10 secs extra for each desert clothing item
*/
int heat = 10000 * getClothes(player);
return REGULAR_TIMER + heat;
}
public static void callHeat(final Player player) {
if (!player.inDesert() || player.playerLevel[player.playerHitpoints] < 0) {
return;
}
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (!player.inDesert() || player.playerLevel[player.playerHitpoints] < 0 || player.disconnected) {
container.stop();
return;
}
if (System.currentTimeMillis() - player.lastDesert > getTimer(player)) {
player.lastDesert = System.currentTimeMillis();
if (!checkWaterskin(player)) {
doDamage(player);
}
container.stop();
} else if (player.playerLevel[player.playerHitpoints] < 0) {
player.isDead = true;
container.stop();
}
}
@Override
public void stop() {
}
}, 1);
}
public static boolean checkWaterskin(final Player player) {
for (int i = 0; i < WATERSKINS.length; i++) {
if (player.getItemAssistant().playerHasItem(WATERSKINS[i][1])) {
waterskin = i;
}
}
if (waterskin == -1) {//empty waterskin
return false;
}
if (waterskin > 0) {
player.getItemAssistant().deleteItem(WATERSKINS[waterskin][1], 1);
player.getItemAssistant().addItem(WATERSKINS[waterskin][0], 1);
player.startAnimation(ANIMATION);
return true;
}
return false;
}
public static void showWarning(Player player) {
for (int i = 8144; i < 8195; i++) {
player.getPacketSender().sendFrame126("", i);
}
player.getPacketSender().sendFrame126("@dre@DESERT WARNING", 8144);
player.getPacketSender().sendFrame126("", 8145);
player.getPacketSender().sendFrame126("The intense heat of the desert reduces your health.", 8147);
player.getPacketSender().sendFrame126("Bring 2-5 waterskins to avoid receiving any damage.", 8148);
player.getPacketSender().sendFrame126("", 8149);
player.getPacketSender().sendFrame126("Wearing desert robes will not prevent the damage, but", 8150);
player.getPacketSender().sendFrame126("will reduce it significantly.", 8151);
player.getPacketSender().sendFrame126("", 8152);
player.getPacketSender().sendFrame126("The waterskins however need to be re-filled. Bring a", 8153);
player.getPacketSender().sendFrame126("knife and cut healthy cacti to re-fill the waterskins.", 8154);
player.getPacketSender().sendFrame126("@red@Any water vessels will evaporate, such as jug of water.", 8155);
player.getPacketSender().showInterface(8134);
}
}
@@ -0,0 +1,50 @@
package com.rebotted.game.dialogues;
/**
* ChatEmotes.java
* @author Andrew (Mr Extremez)
*/
public enum ChatEmotes {
HAPPY_JOYFUL(588),
CALM_TALK1(589),
CALM_TALK2(590),
DEFAULT(591),
EVIL1(592),
EVIL2(593),
EVIL3(594),
ANNOYED(595),
DISTRESSED(596),
DISTRESSED2(597),
ALMOST_CRYING(598),
BOWS_HEAD_SAD(598),
DRUNK_LEFT(600),
DRUNK_RIGHT(601),
NOT_INTERESTED(602),
SLEEPY(603),
PLAIN_EVIL(604),
LAUGH1(605),
LAUGH2(606),
LAUGH3(607),
LAUGH4(608),
EVIL_LAUGH(609),
SAD(610),
MORE_SAD(611),
ON_ONE_HAND(612),
NEARLY_CRYING(613),
ANGRY1(614),
ANGRY2(615),
ANGRY3(616),
ANGRY4(617);
private ChatEmotes(int animId) {
this.animId = animId;
}
private int animId;
static int getAnimId(ChatEmotes ce) {
return ce.animId;
}
}
File diff suppressed because it is too large Load Diff
@@ -439,11 +439,11 @@ public class DialogueOptions {
player.nextChat = 0;
return;
} else if (player.dialogueAction == 183) {
player.getDialogueHandler().sendPlayerChat1("Well I hope you find it soon.");
player.getDialogueHandler().sendPlayerChat("Well I hope you find it soon.");
player.nextChat = 0;
return;
} else if (player.dialogueAction == 184) {
player.getDialogueHandler().sendPlayerChat1("No, I've got lots of mining work to do.");
player.getDialogueHandler().sendPlayerChat("No, I've got lots of mining work to do.");
player.nextChat = 0;
return;
} else if (player.dialogueAction == 3204) {
@@ -8,7 +8,6 @@ import java.util.Scanner;
import com.rebotted.GameEngine;
import com.rebotted.game.objects.Objects;
import com.rebotted.game.players.Player;
import com.rebotted.world.clip.Region;
public class Doors {
@@ -6,11 +6,9 @@ import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import com.rebotted.GameEngine;
import com.rebotted.game.objects.Objects;
import com.rebotted.game.players.Player;
import com.rebotted.world.clip.Region;
/**
*
@@ -3,6 +3,7 @@ package com.rebotted.game.items;
import com.rebotted.GameConstants;
import com.rebotted.GameEngine;
import com.rebotted.game.content.minigames.castlewars.CastleWars;
import com.rebotted.game.content.skills.runecrafting.Tiaras;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.MainFrameIDs;
@@ -50,40 +51,6 @@ public class ItemAssistant {
}
}
private final int[] TREE_SEEDS = { 5291, 5292, 5293, 5294, 5295, 5296, 5297,
5298, 5299, 5300, 5301, 5302, 5303, 5304, 5315, 5316, 5313, 5314 };
public void handleTreeSeeds(int itemId) {
c.getPacketSender().sendMessage("You search the nest...");
final int reward = TREE_SEEDS[Misc.random(TREE_SEEDS.length)];
addItem(reward, 1 + Misc.random(1));
deleteItem(itemId, 1);
addItem(5075, 1);
c.getPacketSender().sendMessage("You find a " + getItemName(reward) + ".");
}
private final int[] SEEDS = { 5291, 5292, 5293, 5294, 5295, 5296, 5297, 298, 5299, 5300, 5301, 5302, 5303, 5304 };
public void handleNonTreeSeeds(int itemId) {
c.getPacketSender().sendMessage("You search the nest...");
final int reward = SEEDS[Misc.random(SEEDS.length)];
addItem(reward, 1 + Misc.random(1));
deleteItem(itemId, 1);
addItem(5075, 1);
c.getPacketSender().sendMessage("You find a " + getItemName(reward) + ".");
}
public int[] RINGS = { 1635, 1637, 1639, 1641, 1643 };
public void handleRings(int itemId) {
c.getPacketSender().sendMessage("You search the nest...");
int reward = RINGS[Misc.random(RINGS.length)];
addItem(reward, 1);
deleteItem(itemId, 1);
addItem(5075, 1);
c.getPacketSender().sendMessage("You find a " + getItemName(reward) + ".");
}
public void updateInventory() {
this.resetItems(3214);
}
@@ -1572,6 +1539,7 @@ public class ItemAssistant {
getBonus();
writeBonus();
c.getCombatAssistant().getPlayerAnimIndex();
Tiaras.handleTiara(c, wearID);
c.getPlayerAssistant().requestUpdates();
return true;
} else {
@@ -1661,7 +1629,7 @@ public class ItemAssistant {
c.flushOutStream();
c.updateRequired = true;
c.setAppearanceUpdateRequired(true);
Weight.calcWeight(c, wearID, "deleteitem");
//Weight.calcWeight(c, wearID, "deleteitem");
}
}
}
@@ -2500,6 +2468,7 @@ public class ItemAssistant {
c.playerItemsN[i] = 0;
}
resetItems(3214);
Weight.updateWeight(c);
}
public int freeSlots() {
@@ -12,6 +12,9 @@ import com.rebotted.game.content.skills.fletching.LogCuttingInterface;
import com.rebotted.game.content.skills.fletching.Stringing;
import com.rebotted.game.content.skills.herblore.GrindingAction;
import com.rebotted.game.content.skills.herblore.Herblore;
import com.rebotted.game.content.skills.prayer.Ectofuntus;
import com.rebotted.game.content.skills.prayer.Ectofuntus.EctofuntusData;
import com.rebotted.game.content.skills.runecrafting.Tiaras;
import com.rebotted.game.items.impl.CapeDye;
import com.rebotted.game.items.impl.GodPages;
import com.rebotted.game.items.impl.WeaponPoison;
@@ -41,6 +44,17 @@ public class UseItem {
if (!c.getItemAssistant().playerHasItem(itemId, 1)) {
return;
}
if (itemId == Ectofuntus.BUCKET) {
Ectofuntus.fillBucketWithSlime(c, objectID);
}
for (final EctofuntusData ectofuntus : EctofuntusData.values()) {
if (itemId == ectofuntus.getBoneId()) {
Ectofuntus.boneOnLoader(c, objectID, itemId);
}
}
if (Tiaras.bindTiara(c, itemId, objectID)) {
return;
}
switch (objectID) {
case 733:
if (itemId == 946) {
@@ -135,7 +135,7 @@ public class Flowers {
* @param c
*/
private void sendOptions(Player c) {
c.getDialogueHandler().sendOption2("Leave Flowers", "Harvest Flowers");
c.getDialogueHandler().sendOption("Leave Flowers", "Harvest Flowers");
}
/**
@@ -19,9 +19,9 @@ public class HandleEmpty {
if (!itemName.contains("Ring") && !itemName.contains("necklace")) {
if (itemName.contains("(3)") || itemName.contains("(4)") || itemName.contains("(2)") || itemName.contains("(1)") || itemName.contains("Weapon poison")) {
if (id != 1712 && id != 1710 && id != 1708 && id != 1706) {
c.getItemAssistant().deleteItem(id, c.getItemAssistant().getItemSlot(id), 1);
c.getItemAssistant().addItem(229, 1);
c.getPacketSender().sendMessage("You empty the vial.");
c.getItemAssistant().deleteItem(id, c.getItemAssistant().getItemSlot(id), 1);
c.getItemAssistant().addItem(229, 1);
c.getPacketSender().sendMessage("You empty the vial.");
}
}
}
@@ -36,6 +36,15 @@ public class HandleEmpty {
return 229;
case 1927: // Buckets
case 1929:
case 4687:
case 4286:
case 1784:
case 4693:
case 6712:
case 7471:
case 7622:
case 7624:
case 7626:
return 1925;
}
return -1;
@@ -9,7 +9,7 @@ import com.rebotted.game.players.Player;
public class RareProtection {
public static final boolean RARES = false, CRACKERS = false;
public static boolean RARES = false, CRACKERS = false;
private static final int[] RARE_ITEMS = { 1037, 1038, 1039, 1040, 1041,
1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 962, 963, 1959, 1961, 1989 };
private static final int[] EDIBLE_RARES = { 1959, 1961, 1989 };
@@ -70,4 +70,4 @@ public class RareProtection {
}
return true;
}
}
}
@@ -10,19 +10,19 @@ import com.rebotted.game.players.Player;
public class Teles {
public static void useAOG(Player player) {
player.getDialogueHandler().sendOption4("Edgeville", "Al Kharid", "Karamja", "Draynor");
player.getDialogueHandler().sendOption("Edgeville", "Al Kharid", "Karamja", "Draynor");
player.dialogueAction = 51;
player.getPacketSender().sendMessage("You rub the Amulet of Glory...");
}
public static void useROD(Player player) {
player.getDialogueHandler().sendOption2("Duel Arena", "Castle Wars");
player.getDialogueHandler().sendOption("Duel Arena", "Castle Wars");
player.dialogueAction = 161;
player.getPacketSender().sendMessage("You rub the Ring of Dueling...");
}
public static void useGN(Player player) {
player.getDialogueHandler().sendOption2("Burthrope Games Room", "Barbarian Outpost");
player.getDialogueHandler().sendOption("Burthrope Games Room", "Barbarian Outpost");
player.dialogueAction = 50;
player.getPacketSender().sendMessage("You rub the Games Necklace...");
}
@@ -64,17 +64,24 @@ public class Npc {
updateRequired = true;
}
public boolean requestTransformTime(Player player, int itemId, int animation, final int currentId, final int newId, int transformTime, final int npcId) {
if (!player.getItemAssistant().playerHasItem(itemId)) {
player.getPacketSender().sendMessage("You need " + ItemAssistant.getItemName(itemId).toLowerCase() + " to do that.");
return false;
public void shearSheep(Player player, int itemNeeded, int itemGiven, int animation, final int currentId, final int newId, int transformTime) {
if (!player.getItemAssistant().playerHasItem(itemNeeded)) {
player.getPacketSender().sendMessage("You need " + ItemAssistant.getItemName(itemNeeded).toLowerCase() + " to do that.");
return;
}
if (NpcHandler.npcs[npcId].isTransformed)
return false;
if (animation > 0)
if (transformId == newId) {
player.getPacketSender().sendMessage("This sheep has already been shorn.");
return;
}
if (NpcHandler.npcs[npcId].isTransformed) {
return;
}
if (animation > 0) {
player.startAnimation(animation);
NpcHandler.npcs[npcId].isTransformed = true;
}
requestTransform(newId);
player.getItemAssistant().addItem(itemGiven, 1);
player.getPacketSender().sendMessage("You get some " + ItemAssistant.getItemName(itemGiven).toLowerCase() + ".");
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
@@ -88,7 +95,6 @@ public class Npc {
NpcHandler.npcs[npcId].isTransformed = false;
}
}, transformTime);
return true;
}
public void appendTransformUpdate(Stream str) {
@@ -25,10 +25,6 @@ public class NpcActions {
c.rememberNpcIndex = c.npcClickIndex;
c.npcClickIndex = 0;
Shops.dialogueShop(c, npcType);
if (Pickpocket.isNPC(c, npcType)) {
Pickpocket.attemptPickpocket(c, npcType);
return;
}
if (Fishing.fishingNPC(c, npcType)) {
Fishing.fishingNPC(c, 1, npcType);
}
@@ -202,9 +198,8 @@ public class NpcActions {
break;
case 844:
if (c.runeMist < 4) {
c.getDialogueHandler().sendStatement(
"You need to beat rune mysteries first to do this.");
if (c.runeMist < 4 && c.playerRights <= 1) {
c.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this.");
c.nextChat = 0;
return;
}
@@ -232,8 +227,7 @@ public class NpcActions {
c.getDialogueHandler().sendDialogues(3008, npcType);
}
if (c.tutorialProgress == 2) {
c.getDialogueHandler().sendNpcChat1("You should move on now.",
npcType, "Runescape Guide");
c.getDialogueHandler().sendNpcChat1("You should move on now.", npcType, "Runescape Guide");
}
break;
@@ -623,11 +617,6 @@ public class NpcActions {
break;
case 284:
if (c.playerLevel[14] < 14) {
c.getDialogueHandler().sendStatement(
"You don't have the requirements to do this quest.");
return;
}
if (c.doricQuest == 0) {
c.getDialogueHandler().sendDialogues(89, npcType);
} else if (c.doricQuest == 1) {
@@ -991,11 +980,14 @@ public class NpcActions {
c.getPacketSender().sendMessage("This is not your pet.");
}
}
switch (npcType) {
case 3:
c.getDialogueHandler().sendDialogues(5, npcType);
break;
case 209:
c.getShopAssistant().openShop(144);
c.getShopAssistant().openShop(144);
break;
@@ -1013,12 +1005,12 @@ public class NpcActions {
c.nextChat = 0;
} else {
if (c.getItemAssistant().playerHasItem(995, 1000)) {
//Sailing.startTravel(c, 17);
c.getPlayerAssistant().startTeleport(2620, 3686, 0, "modern");
c.getItemAssistant().deleteItem(995, 1000);
c.getDialogueHandler().sendStatement("You arrive safely.");
c.nextChat = 0;
}
//Sailing.startTravel(c, 17);
c.getPlayerAssistant().startTeleport(2620, 3686, 0, "modern");
c.getItemAssistant().deleteItem(995, 1000);
c.getDialogueHandler().sendStatement("You arrive safely.");
c.nextChat = 0;
}
}
break;
@@ -1028,15 +1020,13 @@ public class NpcActions {
if (c.questPoints >= requiredQP) {
c.getShopAssistant().openShop(npcType);
} else {
c.getPacketSender().sendMessage(
"You need " + requiredQP + " quest points to open this shop.");
c.getPacketSender().sendMessage("You need " + requiredQP + " quest points to open this shop.");
}
break;
case 300:
if (c.runeMist < 4) {
c.getDialogueHandler().sendStatement(
"You need to beat rune mysteries first to do this.");
if (c.runeMist < 4 && c.playerRights <= 1) {
c.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this.");
c.nextChat = 0;
return;
}
@@ -1078,9 +1068,8 @@ public class NpcActions {
case 844:
case 462:
if (c.runeMist < 4) {
c.getDialogueHandler().sendStatement(
"You need to beat rune mysteries first to do this.");
if (c.runeMist < 4 && c.playerRights <= 1) {
c.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this.");
c.nextChat = 0;
return;
}
@@ -1128,10 +1117,6 @@ public class NpcActions {
c.clickNpcType = 0;
c.rememberNpcIndex = c.npcClickIndex;
c.npcClickIndex = 0;
if (Pickpocket.isNPC(c, npcType)) {
Pickpocket.attemptPickpocket(c, npcType);
return;
}
if (Pets.isCat(npcType)) {
if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId) {
c.getDialogueHandler().sendDialogues(910, npcType);
@@ -1176,9 +1161,8 @@ public class NpcActions {
}
break;
case 553:
if (c.runeMist < 4) {
c.getDialogueHandler().sendStatement(
"You need to beat rune mysteries first to do this.");
if (c.runeMist < 4 && c.playerRights <= 1) {
c.getDialogueHandler().sendStatement("You need to beat rune mysteries first to do this.");
return;
}
String type = c.playerMagicBook == 0 ? "modern" : "ancient";
@@ -579,6 +579,31 @@ public class NpcHandler {
npcs[i].getNextNPCMovement(i);
npcs[i].updateRequired = true;
}
if (npcs[i].walkingType >= 0) {
switch(npcs[i].walkingType) {
case 5:
npcs[i].turnNpc(npcs[i].absX-1, npcs[i].absY);
break;
case 4:
npcs[i].turnNpc(npcs[i].absX+1, npcs[i].absY);
break;
case 3:
npcs[i].turnNpc(npcs[i].absX, npcs[i].absY-1);
break;
case 2:
npcs[i].turnNpc(npcs[i].absX, npcs[i].absY+1);
break;
default:
if (npcs[i].walkingType >= 0) {
npcs[i].turnNpc(npcs[i].absX, npcs[i].absY);
}
break;
}
}
if (npcs[i].walkingType == 1) {
if (Misc.random(3) == 1 && !npcs[i].walkingHome) {
int MoveX = 0;
@@ -17,16 +17,16 @@ import com.rebotted.game.content.random.PartyRoom;
import com.rebotted.game.content.randomevents.FreakyForester;
import com.rebotted.game.content.skills.agility.AgilityShortcut;
import com.rebotted.game.content.skills.core.Mining;
import com.rebotted.game.content.skills.core.Woodcutting;
import com.rebotted.game.content.skills.crafting.Spinning;
import com.rebotted.game.content.skills.farming.Farming;
import com.rebotted.game.content.skills.fletching.LogCutting;
import com.rebotted.game.content.skills.prayer.Ectofuntus;
import com.rebotted.game.content.skills.runecrafting.AbyssalHandler;
import com.rebotted.game.content.skills.runecrafting.RuneCraftingActions;
import com.rebotted.game.content.skills.smithing.Smelting;
import com.rebotted.game.content.skills.thieving.Stalls;
import com.rebotted.game.content.skills.thieving.ThieveOther;
import com.rebotted.game.content.traveling.Desert;
import com.rebotted.game.content.skills.woodcutting.Woodcutting;
import com.rebotted.game.content.traveling.DesertCactus;
import com.rebotted.game.globalworldobjects.ClimbOther;
import com.rebotted.game.globalworldobjects.DoubleGates;
import com.rebotted.game.globalworldobjects.PassDoor;
@@ -118,6 +118,13 @@ public class ObjectsActions {
return;
}
switch (objectType) {
case 11163:
Ectofuntus.useBoneGrinder(player);
break;
case 11164:
Ectofuntus.emptyBin(player);
break;
case 6:
player.getCannon().clickCannon(objectX, objectY);
break;
@@ -890,7 +897,7 @@ public class ObjectsActions {
break;
case 2670:
Desert.cutCactus(player, Desert.getCacCutter(player), objectType,
DesertCactus.cutCactus(player, DesertCactus.getCacCutter(player), objectType,
objectX, objectY);
break;
@@ -917,7 +924,7 @@ public class ObjectsActions {
player.absY, 0);
player.getPacketSender().createArrow(3078, 3084,
player.getH(), 2);
player.getDialogueHandler().sendStatement2(
player.getDialogueHandler().sendStatement(
"You have died and have already beat this step",
"you may continue.");
} else if (player.diedOnTut == false) {
@@ -936,7 +943,7 @@ public class ObjectsActions {
if (player.tutorialProgress > 9) {
PassDoor.passThroughDoor(player, 3018, 1, 2, 0, -1, 0, 0);
if (player.diedOnTut) {
player.getDialogueHandler().sendStatement2(
player.getDialogueHandler().sendStatement(
"You have died and have already beat this step",
"you may continue.");
player.getPacketSender().createArrow(3086, 3126,
@@ -951,7 +958,7 @@ public class ObjectsActions {
if (player.tutorialProgress > 6 || player.diedOnTut) {
if (player.diedOnTut && Position.checkPosition(player, 3079, 3084, 0)) {
PassDoor.passThroughDoor(player, 3017, 3, 0, 0, -1, 0, 0);
player.getDialogueHandler().sendStatement2("You have died and have already beat this step", "you may continue.");
player.getDialogueHandler().sendStatement("You have died and have already beat this step", "you may continue.");
player.getPacketSender().createArrow(3072, 3090, player.getH(), 2);
} else if (player.diedOnTut == false && Position.checkPosition(player, 3079, 3084, 0)) {
PassDoor.passThroughDoor(player, 3017, 3, 0, 0, -1, 0, 0);
@@ -1053,7 +1060,7 @@ public class ObjectsActions {
if (player.tutorialProgress >= 11 || player.diedOnTut) {
if (player.diedOnTut && Position.checkPosition(player, 3086, 3126, 0)) {
PassDoor.passThroughDoor(player, 3019, 2, 3, 0, 0, -1, 0);
player.getDialogueHandler().sendStatement2(
player.getDialogueHandler().sendStatement(
"You have died and have already beat this step",
"you may continue.");
player.getPacketSender().createArrow(3088, 3119,
@@ -1074,7 +1081,7 @@ public class ObjectsActions {
player.getPacketSender().createArrow(1, 2);
} else if (Position.checkPosition(player, 3097, 3107, 0) && player.diedOnTut) {
player.getPacketSender().createArrow(3089, 3092, player.getH(), 2);
player.getDialogueHandler().sendStatement2("You have died and have already beat this step", "you may continue.");
player.getDialogueHandler().sendStatement("You have died and have already beat this step", "you may continue.");
} else if (player.tutorialProgress < 2 && player.diedOnTut != true) {
player.getPacketSender().sendMessage("You aren't on this step yet.");
return;
@@ -1120,7 +1127,7 @@ public class ObjectsActions {
case 3021:
if (player.diedOnTut && (player.getY() == 9502 || player.getY() == 9503)) {
player.getDialogueHandler()
.sendStatement2(
.sendStatement(
"You have died so now all you need to do is continue",
"onto the next step.");
player.getPacketSender().createArrow(3111, 9518,
@@ -1174,7 +1181,7 @@ public class ObjectsActions {
|| player.diedOnTut) {
if (player.diedOnTut) {
player.getDialogueHandler()
.sendStatement2("Be more careful this time",
.sendStatement("Be more careful this time",
"now continue to kill the rat and talk to the guide.");
}
player.getPacketSender().chatbox(6180);
@@ -1366,7 +1373,7 @@ public class ObjectsActions {
player.getPlayerAssistant().movePlayer(3088, 9520, 0);
player.getPacketSender().createArrow(3094, 9503,
player.getH(), 2);
player.getDialogueHandler().sendStatement2(
player.getDialogueHandler().sendStatement(
"You have died and have already beat this step",
"you may continue.");
} else if (player.diedOnTut == false) {
@@ -1,6 +1,6 @@
package com.rebotted.game.objects.impl;
import com.rebotted.game.content.skills.core.Woodcutting;
import com.rebotted.game.content.skills.woodcutting.Woodcutting;
import com.rebotted.game.players.Player;
/**
@@ -874,7 +874,7 @@ public class Climbing {
}
public static void handleLadder(Player player) {
player.getDialogueHandler().sendOption2("Climb Up.", "Climb Down.");
player.getDialogueHandler().sendOption("Climb Up.", "Climb Down.");
player.dialogueAction = 147;
}
@@ -124,7 +124,7 @@ public class OtherObjects {
@Override
public void execute(CycleEventContainer container) {
if (random == 1) {
player.getDialogueHandler().sendStatement2("Wow! A needle!", "Now what are the chances of finding that?");
player.getDialogueHandler().sendStatement("Wow! A needle!", "Now what are the chances of finding that?");
player.nextChat = 0;
player.getItemAssistant().addItem(1733, 1);
container.stop();
@@ -1,7 +1,8 @@
package com.rebotted.game.objects.impl;
import com.rebotted.GameEngine;
import com.rebotted.game.content.traveling.Desert;
import com.rebotted.game.content.traveling.DesertCactus;
import com.rebotted.game.content.traveling.DesertHeat;
import com.rebotted.game.players.Player;
import com.rebotted.world.clip.Region;
@@ -107,7 +108,7 @@ public class SpecialObjects {
coords[0] = c.objectX;
coords[1] = c.objectY;
if (c.desertWarning == false && c.absY == 3117) {
Desert.showWarning(c);
DesertHeat.showWarning(c);
c.desertWarning = true;
}
if (c.absY == 3117) {
@@ -48,7 +48,8 @@ import com.rebotted.game.content.skills.runecrafting.Runecrafting;
import com.rebotted.game.content.skills.slayer.Slayer;
import com.rebotted.game.content.skills.smithing.Smithing;
import com.rebotted.game.content.skills.smithing.SmithingInterface;
import com.rebotted.game.content.traveling.Desert;
import com.rebotted.game.content.traveling.DesertCactus;
import com.rebotted.game.content.traveling.DesertHeat;
import com.rebotted.game.dialogues.DialogueHandler;
import com.rebotted.game.globalworldobjects.DoubleGates;
import com.rebotted.game.globalworldobjects.GateHandler;
@@ -97,7 +98,7 @@ public abstract class Player {
private final Enchanting enchanting = new Enchanting(this);
private final Potatoes potatoes = new Potatoes(this);
private final PlayerAction playeraction = new PlayerAction(this);
private final Desert desert = new Desert();
private final DesertCactus desert = new DesertCactus();
private final Specials specials = new Specials(this);
private final SoundList sound = new SoundList(this);
public String creationAddress = "";
@@ -258,7 +259,7 @@ public abstract class Player {
return playeraction;
}
public Desert getDesert() {
public DesertCactus getDesert() {
return desert;
}
@@ -741,6 +742,10 @@ public abstract class Player {
}
public void process() {
if (inDesert() && heightLevel == 0) {
DesertHeat.callHeat(this);
}
if (playerEnergy < 100 && System.currentTimeMillis() - lastIncrease >= getPlayerAssistant().raiseTimer()) {
playerEnergy += 1;
lastIncrease = System.currentTimeMillis();
@@ -1067,25 +1072,25 @@ public abstract class Player {
public void correctCoordinates() {
if (inPcGame()) {
getPlayerAssistant().movePlayer(2657, 2639, 0);
if (FightPitsArea()) {
getPlayerAssistant().movePlayer(2399, 5178, 0);
if (inFightCaves()) {
getDialogueHandler().sendDialogues(101, 2617);
getPlayerAssistant().movePlayer(absX, absY, playerId * 4);
getPacketSender().sendMessage("Your wave will start in 10 seconds.");
CycleEventHandler.getSingleton().addEvent(this, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
GameEngine.fightCaves.spawnNextWave((Client) PlayerHandler.players[playerId]);
container.stop();
}
@Override
public void stop() {
}
}, 16);
} else if (FightPitsArea()) {
getPlayerAssistant().movePlayer(2399, 5178, 0);
} else if (getX() == 0 && getY() == 0) {
getPlayerAssistant().movePlayer(3222, 3218, 0);
} else if (inFightCaves()) {
getDialogueHandler().sendDialogues(101, 2617);
getPlayerAssistant().movePlayer(absX, absY, playerId * 4);
getPacketSender().sendMessage("Your wave will start in 10 seconds.");
CycleEventHandler.getSingleton().addEvent(this, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
GameEngine.fightCaves.spawnNextWave((Client) PlayerHandler.players[playerId]);
container.stop();
}
}
@Override
public void stop() {
}
}, 16);
}
}
@@ -1217,6 +1222,8 @@ public abstract class Player {
restoreStatsDelay, logoutDelay, buryDelay, foodDelay, potDelay,
doorDelay, doubleDoorDelay, buySlayerTimer, lastIncrease,
boneDelay, leverDelay = 0, searchObjectDelay = 0, clickDelay = 0;
public boolean hideYell = false;
private Npc specialTarget = null;
@@ -1226,6 +1233,8 @@ public abstract class Player {
public Npc getSpecialTarget() {
return specialTarget;
}
public int miningAxe = -1, woodcuttingAxe = -1;
public boolean initialized = false, musicOn = true, luthas,
playerIsCooking, disconnected = false, ruleAgreeButton = false,
@@ -1373,6 +1382,8 @@ public abstract class Player {
private final boolean barrowsNpcDead[] = new boolean[6];
public int ectofuntusBoneUsed;
public String ectofuntusBoneCrusherState = "Empty";
public Client teleporter = null;
public int[] party = new int[8];
public int[] partyN = new int[8];
@@ -1810,9 +1821,12 @@ public abstract class Player {
isInArea(2451, 3408, 2425, 3437) ||
false;
}
public boolean inDesert() {
return absX >= 3137 && absX <= 3321 && absY >= 2880 && absY <= 3115;
if (tutorialProgress >= 0 && tutorialProgress <= 36) {
return false;
}
return (getX() >= 3137 && getX() <= 3321 && getY() >= 2880 && getY() <= 3115);
}
public boolean duelingArena() {
@@ -1824,11 +1838,11 @@ public abstract class Player {
public boolean playerIsBusy() {
if(isShopping || inTrade || openDuel || isBanking || duelStatus == 1) {
return true;
}
return false;
}
if (isShopping || inTrade || openDuel || isBanking || duelStatus == 1) {
return true;
}
return false;
}
public boolean isInBarrows() {
if(absX > 3543 && absX < 3584 && absY > 3265 && absY < 3311) {
@@ -118,10 +118,18 @@ public class PlayerAssistant {
} else {
player.getPacketSender().sendFrame126("\\nYou currently have a bank pin set.\\nBank pins are coming soon!.", 15270);
}
player.getPacketSender().sendFrame126("Remember to vote daily to help " + GameConstants.SERVER_NAME + "", 15803);
player.getPacketSender().sendFrame126("Every vote counts! :)", 15804);
int random = Misc.random(3);
player.getPacketSender().sendFrame126(welcomeMessages[random][0], 15803);
player.getPacketSender().sendFrame126(welcomeMessages[random][1], 15804);
}
private String[][] welcomeMessages = {
{"Remember to vote daily to help " + GameConstants.SERVER_NAME + "", "Every vote counts! :)"},
{"Not a member of our discord community?", "Join our discord at: https://discord.gg/Nk9WQUK"},
{"Do you have any bugs that you would like to report?", "Report them on our discord or message a staff member. :)"},
{"Want to help the server grow?", "Remember to vote daily and invite your friends!"}
};
public void showMap() {
int posisition = (player.getX() / 64 - 46) + (player.getY() / 64 - 49) * 6;
player.getPacketSender().sendConfig(106, posisition);
@@ -647,12 +655,12 @@ public class PlayerAssistant {
}
public void spiritTree() {
player.getDialogueHandler().sendOption3("The Tree Gnome Village", "The Gnome Stronghold", "Varrock");
player.getDialogueHandler().sendOption("The Tree Gnome Village", "The Gnome Stronghold", "Varrock");
player.dialogueAction = 53;
}
public void handleCanoe() {
player.getDialogueHandler().sendOption4("Travel the canoe to Barbarian Village.", "Travel the canoe to the Champions Guild.", "Travel the canoe to Lumbridge.", "Travel the canoe to Edgeville.");
player.getDialogueHandler().sendOption("Travel the canoe to Barbarian Village.", "Travel the canoe to the Champions Guild.", "Travel the canoe to Lumbridge.", "Travel the canoe to Edgeville.");
player.dialogueAction = 122;
}
@@ -660,7 +668,7 @@ public class PlayerAssistant {
int reqAmount = 10 - player.getItemAssistant().getItemCount(1963);
switch (player.getItemAssistant().getItemCount(1963)) {
case 0:
player.getDialogueHandler().sendPlayerChat1("I'll go collect " + reqAmount + " bannnas then come back...");
player.getDialogueHandler().sendPlayerChat("I'll go collect " + reqAmount + " bannnas then come back...");
break;
case 1:
case 2:
@@ -671,7 +679,7 @@ public class PlayerAssistant {
case 7:
case 8:
case 9:
player.getDialogueHandler().sendPlayerChat1(
player.getDialogueHandler().sendPlayerChat(
"I'll go collect " + reqAmount
+ " more bannnas then come back...");
break;
@@ -933,7 +941,7 @@ public class PlayerAssistant {
}
public void handleEmpty() {
player.getDialogueHandler().sendOption2("Yes, empty my inventory please.",
player.getDialogueHandler().sendOption("Yes, empty my inventory please.",
"No, don't empty my inventory.");
player.dialogueAction = 855;
}
@@ -1539,7 +1547,7 @@ public class PlayerAssistant {
} else if (player.tutorialProgress < 36 || player.isInTut()) {
player.getPlayerAssistant().movePlayer(3094, 3107, 0);
player.diedOnTut = true;
player.getDialogueHandler().sendStatement2(
player.getDialogueHandler().sendStatement(
"Oh dear you died! Go back to the step you",
"were on to continue Tutorial Island.");
player.getPacketSender().createArrow(3098, 3107, player.getH(),
@@ -53,6 +53,18 @@ public class PlayerHandler {
public static int getPlayerCount() {
return playerCount;
}
public static int getNonPlayerCount() {
int count = 0;
for (int i = 0; i < GameConstants.MAX_PLAYERS; i++) {
if (players[i] != null) {
if (players[i].playerRights >= 1) {
count++;
}
}
}
return count;
}
public static int getPlayerShopCount() {
return playerShopCount;
@@ -91,6 +91,9 @@ public class PlayerSave {
case "isBot":
player.isBot = Boolean.parseBoolean(token2);
break;
case "hideYell":
player.hideYell = Boolean.parseBoolean(token2);
break;
case "blackMarks":
player.blackMarks = Integer.parseInt(token2);
break;
@@ -555,6 +558,8 @@ public class PlayerSave {
characterfile.newLine();
characterfile.write("isBot = " + player.isBot);
characterfile.newLine();
characterfile.write("hideYell = " + player.hideYell);
characterfile.newLine();
characterfile.write("hasStarter = " + player.hasStarter);
characterfile.newLine();
characterfile.write("bankPin1 = " + player.bankPin1);
@@ -12,7 +12,7 @@ public class Players implements MessageCreateListener {
Message message = event.getMessage();
if (message.getContent().equalsIgnoreCase("::players")) {
if (PlayerHandler.getPlayerCount() != 1) {
event.getChannel().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online.");
event.getChannel().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online (" + PlayerHandler.getNonPlayerCount() + " staff online).");
} else {
event.getChannel().sendMessage("There is currently " + PlayerHandler.getPlayerCount() + " player online.");
}
@@ -1,13 +1,13 @@
package com.rebotted.net;
import java.text.DecimalFormat;
import com.rebotted.Connection;
import com.rebotted.GameConstants;
import com.rebotted.GameEngine;
import com.rebotted.game.content.combat.magic.MagicTeleports;
import com.rebotted.game.content.quests.QuestAssistant;
import com.rebotted.game.content.skills.SkillHandler;
import com.rebotted.game.content.skills.runecrafting.Tiaras;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.items.Weight;
import com.rebotted.game.items.impl.LightSources;
@@ -141,6 +141,7 @@ public class PacketSender {
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerWeapon], player.playerEquipmentN[player.playerWeapon], player.playerWeapon);
player.getCombatAssistant().getPlayerAnimIndex();
player.getPlayerAssistant().logIntoPM();
Tiaras.handleTiara(player, GameConstants.HAT);
player.getItemAssistant().addSpecialBar(player.playerEquipment[player.playerWeapon]);
player.saveTimer = GameConstants.SAVE_TIMER;
player.saveCharacter = true;
@@ -7,8 +7,9 @@ import com.rebotted.game.content.consumables.Kebabs;
import com.rebotted.game.content.consumables.Beverages.beverageData;
import com.rebotted.game.content.minigames.TreasureTrails;
import com.rebotted.game.content.minigames.castlewars.CastleWars;
import com.rebotted.game.content.skills.core.Prayer;
import com.rebotted.game.content.skills.herblore.Herblore;
import com.rebotted.game.content.skills.prayer.Prayer;
import com.rebotted.game.content.skills.woodcutting.BirdNest;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.items.impl.ExperienceLamp;
import com.rebotted.game.items.impl.Flowers;
@@ -167,7 +168,7 @@ public class ClickItem implements PacketType {
break;
case 4155:// enchanted gem
player.getDialogueHandler().sendOption4("How many kills do I have left?",
player.getDialogueHandler().sendOption("How many kills do I have left?",
"Who are you?", "Where are you located?",
"How many slayer points do I have?");
player.dialogueAction = 145;
@@ -215,18 +216,18 @@ public class ClickItem implements PacketType {
player.getPacketSender().sendMessage("You do not have enough inventory space to do that.");
}
break;
case 5073:
player.getItemAssistant().handleTreeSeeds(itemId);
BirdNest.handleBirdNest(player, itemId, 0);
break;
case 5074:
player.getItemAssistant().handleRings(itemId);
BirdNest.handleBirdNest(player, itemId, 1);
break;
case 7413:
player.getItemAssistant().handleNonTreeSeeds(itemId);
break;
BirdNest.handleBirdNest(player, itemId, 2);
break;
case 2297:
player.getItemAssistant().addItem(2299, 1);
@@ -278,10 +278,6 @@ public class ClickNPC implements PacketType {
NpcHandler.npcs[client.npcClickIndex].getY());
NpcHandler.npcs[client.npcClickIndex].facePlayer(client.playerId);
client.getNpcs().secondClickNpc(client.npcType);
if (Pickpocket.isNPC(client, client.npcType) && !((client.underAttackBy > 0 || client.underAttackBy2 > 0))) {
Pickpocket.attemptPickpocket(client, client.npcType);
return;
}
} else {
client.clickNpcType = 2;
CycleEventHandler.getSingleton().addEvent(client, new CycleEvent() {
@@ -7,8 +7,7 @@ import com.rebotted.event.CycleEventContainer;
import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.content.minigames.castlewars.CastleWarObjects;
import com.rebotted.game.content.minigames.castlewars.CastleWars;
import com.rebotted.game.content.skills.core.Woodcutting;
import com.rebotted.game.content.skills.thieving.Stalls;
import com.rebotted.game.content.skills.woodcutting.Woodcutting;
import com.rebotted.game.globalworldobjects.Doors;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.objects.Objects;
@@ -8,10 +8,10 @@ import com.rebotted.game.content.music.Music;
import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.content.quests.QuestAssistant;
import com.rebotted.game.content.random.PartyRoom;
import com.rebotted.game.content.randomevents.RandomEventHandler;
import com.rebotted.game.content.randomevents.SandwhichLady;
import com.rebotted.game.content.skills.cooking.Cooking;
import com.rebotted.game.content.skills.cooking.CookingTutorialIsland;
import com.rebotted.game.content.skills.cooking.DairyChurn;
import com.rebotted.game.content.skills.crafting.LeatherMaking;
import com.rebotted.game.content.skills.crafting.Pottery;
import com.rebotted.game.content.skills.crafting.Spinning;
@@ -56,6 +56,7 @@ public class ClickingButtons implements PacketType {
Climbing.handleLadderButtons(player, actionButtonId);
Specials.specialClicking(player, actionButtonId);
DialogueOptions.handleDialogueOptions(player, actionButtonId);
DairyChurn.churnItem(player, actionButtonId);
if (player.musicOn) {
player.getPlayList().handleButton(actionButtonId);
}
@@ -7,9 +7,9 @@ import com.rebotted.GameConstants;
import com.rebotted.GameEngine;
import com.rebotted.game.bots.BotHandler;
import com.rebotted.game.content.combat.magic.SpellTeleport;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.*;
import com.rebotted.game.players.antimacro.AntiSpam;
import com.rebotted.net.packets.PacketType;
import com.rebotted.util.Misc;
import com.rebotted.world.clip.Region;
@@ -41,8 +41,46 @@ public class Commands implements PacketType {
}
public static void playerCommands(Player player, String playerCommand, String[] arguments) {
switch (playerCommand.toLowerCase())
{
switch (playerCommand.toLowerCase()) {
case "hideYell":
player.hideYell =! player.hideYell;
player.getPacketSender().sendMessage("Your yell visibility preferences have been updated.");
break;
case "yell":
int delay = 0;
if (player.playerRights <= 1) {
delay = 30000;
}
if (!AntiSpam.blockedWords(player, playerCommand.substring(5), true)) {
return;
}
if (Connection.isMuted(player)) {
player.getPacketSender().sendMessage("You are muted and can't speak.");
return;
}
if (System.currentTimeMillis() - player.lastYell < delay) {
player.getPacketSender().sendMessage("You must wait " + delay / 1000 + " seconds before yelling again.");
return;
}
for (int j = 0; j < PlayerHandler.players.length; j++) {
if (PlayerHandler.players[j] != null) {
Client c2 = (Client) PlayerHandler.players[j];
if (c2.hideYell) {
return;
}
if (player.playerRights == 0) {
c2.getPacketSender().sendMessage("[Player]" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
} else if (player.playerRights == 1) {
c2.getPacketSender().sendMessage("@blu@[Moderator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
} else if (player.playerRights == 2) {
c2.getPacketSender().sendMessage("@gre@[Administator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
} else if (player.playerRights == 3) {
c2.getPacketSender().sendMessage("@red@[Developer] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
}
player.lastYell = System.currentTimeMillis();
}
}
break;
case "claimvote":
if(!GameEngine.ersSecret.equals("")) {
final String playerName = player.playerName;
@@ -101,7 +139,7 @@ public class Commands implements PacketType {
case "playershops":
int count = playerCommand.equalsIgnoreCase("players") ? PlayerHandler.getPlayerCount() : PlayerHandler.getPlayerShopCount();
if (count != 1) {
player.getPacketSender().sendMessage("There are currently " + count + " " + (playerCommand.equalsIgnoreCase("players") ? "players" : "player shops") + " online.");
player.getPacketSender().sendMessage("There are currently " + count + " " + (playerCommand.equalsIgnoreCase("players") ? "players" : "player shops") + " online (" + PlayerHandler.getNonPlayerCount() + " staff member online).");
} else {
player.getPacketSender().sendMessage("There is currently " + count + " " + (playerCommand.equalsIgnoreCase("players") ? "player" : "player shop") + " online.");
}
@@ -361,20 +399,6 @@ public class Commands implements PacketType {
player.getPacketSender().sendMessage("Player Must Be Online.");
}
break;
case "yell":
for (int j = 0; j < PlayerHandler.players.length; j++) {
if (PlayerHandler.players[j] != null) {
Client c2 = (Client) PlayerHandler.players[j];
if (player.playerRights == 1) {
c2.getPacketSender().sendMessage("@blu@[Moderator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
} else if (player.playerRights == 2) {
c2.getPacketSender().sendMessage("@gre@[Administator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
} else if (player.playerRights == 3) {
c2.getPacketSender().sendMessage("@red@[Developer] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
}
}
}
break;
case "mute":
try {
@@ -472,6 +496,23 @@ public class Commands implements PacketType {
}
public static void adminCommands(Player player, String playerCommand, String[] arguments) {
if (playerCommand.startsWith("getid")) {
String a[] = playerCommand.split(" ");
String itemName = "";
int itemCount = 0;
for (int i = 1; i < a.length; i++)
itemName = itemName + a[i]+ " ";
itemName = itemName.substring(0, itemName.length()-1);
player.getPacketSender().sendMessage("Searching: " + itemName);
for (int j = 0; j < GameEngine.itemHandler.ItemList.length; j++) {
if (GameEngine.itemHandler.ItemList[j] != null)
if (GameEngine.itemHandler.ItemList[j].itemName.replace("_", " ").toLowerCase().contains(itemName.toLowerCase())) {
player.getPacketSender().sendMessage("@dre@" + GameEngine.itemHandler.ItemList[j].itemName.replace("_", " ") + " - " + GameEngine.itemHandler.ItemList[j].itemId);
itemCount++;
}
}
player.getPacketSender().sendMessage(itemCount + " IDs found...");
}
switch (playerCommand.toLowerCase()) {
case "clearbank":
player.getItemAssistant().clearBank();
@@ -1,5 +1,6 @@
package com.rebotted.net.packets.impl;
import com.rebotted.game.content.skills.runecrafting.Runecrafting;
import com.rebotted.game.items.impl.HandleEmpty;
import com.rebotted.game.items.impl.Teles;
import com.rebotted.game.players.Player;
@@ -33,6 +34,24 @@ public class ItemClick3 implements PacketType {
player.endCurrentTask();
switch (itemId) {
case 1438:// Air Talisman
Runecrafting.locate(player, 2985, 3292);
break;
case 1440:// Earth Talisman
Runecrafting.locate(player, 3306, 3474);
break;
case 1442:// Fire Talisman
Runecrafting.locate(player, 3313, 3255);
break;
case 1444:// Water Talisman
Runecrafting.locate(player, 3185, 3165);
break;
case 1446:// Body Talisman
Runecrafting.locate(player, 3053, 3445);
break;
case 1448:// Mind Talisman
Runecrafting.locate(player, 2982, 3514);
break;
case 4079:
player.startAnimation(1460);
break;
@@ -29,12 +29,8 @@ public class ItemOnNpc implements PacketType {
player.faceNpc(i);
switch(npcId) {
case 43:
if (NpcHandler.npcs[i].requestTransformTime(player, 1735, 893, 43, 42, 50, i)) {
player.getItemAssistant().addItem(1737, 1);
} else {
player.getPacketSender().sendMessage("You need to wait for this sheep's wool to regrow!");
}
break;
NpcHandler.npcs[i].shearSheep(player, 1735, 1737, 893, 43, 42, 50);
break;
}
if (player.getItemAssistant().playerHasItem(995, 1) && npcId == 736) {
player.getItemAssistant().deleteItem(995, 1);
@@ -5,7 +5,7 @@ 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;
import com.rebotted.game.content.skills.woodcutting.Woodcutting;
import com.rebotted.game.objects.Objects;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;