Ok ive been tinkering around with Thieving and ive decided im going to release my work
Details: This comes with Paladins, Rogues, Heroes, Men, Farmer, Warrior Women and Gnomes they all work and give items.
Tested source: Rs2D base source 1 by Jim/everyone else.
Difficulty: 0.1 its only copy and pasting...
Step 1: Open up Thieving.java in net.varek.rs2d.content.skills and replace everything in there with
Code:
package net.varek.rs2d.content.skills;
import net.varek.rs2d.manager.NPCManager;
import net.varek.rs2d.model.NPC;
import net.varek.rs2d.model.Player;
import net.varek.rs2d.model.PlayerAnimation;
import net.varek.rs2d.net.ActionSender;
public class Thieving implements SkillConstants {
public static boolean thieveFromNPC(int index, Player player, ActionSender sender) {
double xpToAdd = 20;
NPC npc = NPCManager.getNPC(index);
switch(npc.getId()) {
case 1:
sender.sendMessage("You thieve from the Man!");
player.addXP(xpToAdd, THIEVING);
player.getInventory().addItem(995,100);
player.setAnimation(new PlayerAnimation(881, 0));
player.getAnimation().setChanged(true);
player.getActionSender().sendResetInventory(3214);
break;
case 365:
sender.sendMessage("You thieve from the Paladin");
player.addXP(xpToAdd*75, THIEVING);
player.getInventory().addItem(995, 20000);
player.getInventory().addItem(3140, 1);
player.setAnimation(new PlayerAnimation(881, 0));
player.getAnimation().setChanged(true);
player.getActionSender().sendResetInventory(3214);
break;
case 21:
sender.sendMessage("You thieve from the Hero");
player.addXP(xpToAdd*100, THIEVING);
player.getInventory().addItem(995, 40000);
player.getInventory().addItem(4151, 1);
player.setAnimation(new PlayerAnimation(881, 0));
player.getAnimation().setChanged(true);
player.getActionSender().sendResetInventory(3214);
break;
case 187:
sender.sendMessage("You thieve from the Rogue");
player.addXP(xpToAdd*14, THIEVING);
boolean item1 = Math.random()*100 > 99 ? true : false; //1 percent chance of happening
boolean item2 = Math.random()*100 >= 50 ? true : false; //50 percent chance of happening
boolean item3 = Math.random()*100 >= 98 ? true : false; //80 percent change of happening
boolean item4 = Math.random()*100 >= 99.9 ? true : false; //0.1 percent chance of getting a phat
if(item1){
player.getInventory().addItem(4587, 1);
} else if(item2){
player.getInventory().addItem(995, 4000);
} else if(item3) {
player.getInventory().addItem(5698, 1);
} else if(item4) {
player.getInventory().addItem(1038, 1);
} else {
player.getInventory().addItem(995, 800);
}
player.setAnimation(new PlayerAnimation(881, 0));
player.getAnimation().setChanged(true);
player.getActionSender().sendResetInventory(3214);
break;
case 15:
sender.sendMessage("You thieve from the Warrior");
player.addXP(xpToAdd*4, THIEVING);
player.getInventory().addItem(995, 600);
player.setAnimation(new PlayerAnimation(881, 0));
player.getAnimation().setChanged(true);
player.getActionSender().sendResetInventory(3214);
break;
case 7:
sender.sendMessage("You thieve from the Farmer");
player.addXP(xpToAdd*2, THIEVING);
player.getInventory().addItem(995, 300);
player.setAnimation(new PlayerAnimation(881, 0));
player.getAnimation().setChanged(true);
player.getActionSender().sendResetInventory(3214);
break;
case 66:
sender.sendMessage("You thieve from the Gnome");
player.addXP(xpToAdd*10, THIEVING);
player.getInventory().addItem(995, 10000);
player.setAnimation(new PlayerAnimation(881, 0));
player.getAnimation().setChanged(true);
player.getActionSender().sendResetInventory(3214);
break;
}
if(!player.getInventory().hasFreeSlots()){
return true;
}
return true;
}
}
.
Ill explain some of the parts
Code:
boolean item1 = Math.random()*100 > 99 ? true : false; //1 percent chance of happening
boolean item2 = Math.random()*100 >= 50 ? true : false; //50 percent chance of happening
boolean item3 = Math.random()*100 >= 98 ? true : false; //80 percent change of happening
boolean item4 = Math.random()*100 >= 99.9 ? true : false; //0.1 percent chance of getting a phat
if(item1){
player.getInventory().addItem(4587, 1);
} else if(item2){
player.getInventory().addItem(995, 4000);
} else if(item3) {
player.getInventory().addItem(5698, 1);
} else if(item4) {
player.getInventory().addItem(1038, 1);
} else {
player.getInventory().addItem(995, 800);
}
this bit of code gives you a random item with a certain percentage of chance to get the item.
Code:
player.getActionSender().sendResetInventory(3214);
this bit as you can see resets the inventory its in every bit because otherwise the inventory wouldnt update and youd just get 100 or so coins everytime and itd stay that way..
Ive got an updated version of this with delays but i aint releasing it until Rs2d Basic Source V.2 comes out.
If you use give me or Jim credits atleast because he helped me out with it.