forked from MagicBane/Server
Initial Repository Push
This commit is contained in:
@@ -0,0 +1,429 @@
|
||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
||||
// Magicbane Emulator Project © 2013 - 2022
|
||||
// www.magicbane.com
|
||||
|
||||
|
||||
package engine.objects;
|
||||
|
||||
import engine.Enum.ItemContainerType;
|
||||
import engine.Enum.OwnerType;
|
||||
import engine.gameManager.DbManager;
|
||||
import engine.server.MBServerStatics;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
|
||||
public class Kit extends AbstractGameObject {
|
||||
|
||||
private final int raceBaseClassID;
|
||||
private final byte kitNumber;
|
||||
private final int legs;
|
||||
private final int chest;
|
||||
private final int feet;
|
||||
private final int offhand;
|
||||
private final int weapon;
|
||||
public static HashMap<Integer,Boolean> NoobGearIDS = new HashMap<>();
|
||||
public static HashMap<Integer, ArrayList<Kit>> RaceClassIDMap = new HashMap<>();
|
||||
|
||||
|
||||
/**
|
||||
* No Table ID Constructor
|
||||
*/
|
||||
public Kit(int raceBaseClassID, byte kitNumber, int legs, int chest,
|
||||
int feet, int offhand, int weapon) {
|
||||
super();
|
||||
this.raceBaseClassID = raceBaseClassID;
|
||||
this.kitNumber = kitNumber;
|
||||
this.legs = legs;
|
||||
this.chest = chest;
|
||||
this.feet = feet;
|
||||
this.offhand = offhand;
|
||||
this.weapon = weapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* Normal Constructor
|
||||
*/
|
||||
public Kit(int raceBaseClassID, byte kitNumber, int legs, int chest,
|
||||
int feet, int offhand, int weapon, int newUUID) {
|
||||
super(newUUID);
|
||||
this.raceBaseClassID = raceBaseClassID;
|
||||
this.kitNumber = kitNumber;
|
||||
this.legs = legs;
|
||||
this.chest = chest;
|
||||
this.feet = feet;
|
||||
this.offhand = offhand;
|
||||
this.weapon = weapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* RecordSet Constructor
|
||||
*/
|
||||
public Kit(ResultSet rs) throws SQLException, UnknownHostException {
|
||||
super(rs);
|
||||
|
||||
this.raceBaseClassID = rs.getInt("RaceBaseClassesID");
|
||||
this.kitNumber = rs.getByte("kitNumber");
|
||||
|
||||
this.legs = rs.getInt("legs");
|
||||
this.chest = rs.getInt("chest");
|
||||
this.feet = rs.getInt("feet");
|
||||
this.offhand = rs.getInt("offhand");
|
||||
this.weapon = rs.getInt("weapon");
|
||||
if (Kit.RaceClassIDMap.containsKey(this.raceBaseClassID)){
|
||||
Kit.RaceClassIDMap.get(this.raceBaseClassID).add(this);
|
||||
}else{
|
||||
ArrayList<Kit> tempList = new ArrayList<>();
|
||||
tempList.add(this);
|
||||
Kit.RaceClassIDMap.put(this.raceBaseClassID, tempList);
|
||||
|
||||
}
|
||||
|
||||
if (this.legs != 0)
|
||||
Kit.NoobGearIDS.put(this.legs, true);
|
||||
if (this.chest != 0)
|
||||
Kit.NoobGearIDS.put(this.chest, true);
|
||||
if (this.feet != 0)
|
||||
Kit.NoobGearIDS.put(this.feet, true);
|
||||
if (this.offhand != 0)
|
||||
Kit.NoobGearIDS.put(this.offhand, true);
|
||||
if (this.weapon != 0)
|
||||
Kit.NoobGearIDS.put(this.weapon, true);
|
||||
|
||||
}
|
||||
|
||||
public static boolean IsNoobGear(int itemID){
|
||||
|
||||
return Kit.NoobGearIDS.containsKey(itemID);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Getters
|
||||
*/
|
||||
|
||||
public int getRaceBaseClassID() {
|
||||
return raceBaseClassID;
|
||||
}
|
||||
|
||||
public byte getKitNumber() {
|
||||
return kitNumber;
|
||||
}
|
||||
|
||||
public int getLegs() {
|
||||
return legs;
|
||||
}
|
||||
|
||||
public int getChest() {
|
||||
return chest;
|
||||
}
|
||||
|
||||
public int getFeet() {
|
||||
return feet;
|
||||
}
|
||||
|
||||
public int getOffhand() {
|
||||
return offhand;
|
||||
}
|
||||
|
||||
public int getWeapon() {
|
||||
return weapon;
|
||||
}
|
||||
|
||||
public void equipPCwithKit(PlayerCharacter pc) {
|
||||
if (weapon != 0)
|
||||
kitItemCreator(pc, weapon, MBServerStatics.SLOT_MAINHAND);
|
||||
if (offhand != 0)
|
||||
kitItemCreator(pc, offhand, MBServerStatics.SLOT_OFFHAND);
|
||||
if (chest != 0)
|
||||
kitItemCreator(pc, chest, MBServerStatics.SLOT_CHEST);
|
||||
if (legs != 0)
|
||||
kitItemCreator(pc, legs, MBServerStatics.SLOT_LEGGINGS);
|
||||
if (feet != 0)
|
||||
kitItemCreator(pc, feet, MBServerStatics.SLOT_FEET);
|
||||
}
|
||||
|
||||
private static boolean kitItemCreator(PlayerCharacter pc, int itemBase, int slot)
|
||||
{
|
||||
ItemBase i = ItemBase.getItemBase(itemBase);
|
||||
|
||||
Item temp = new Item( i, pc.getObjectUUID(),
|
||||
OwnerType.PlayerCharacter, (byte) 0, (byte) 0, (short) 0, (short) 0,
|
||||
false, false,ItemContainerType.EQUIPPED, (byte) slot,
|
||||
new ArrayList<>(),"");
|
||||
|
||||
try {
|
||||
temp = DbManager.ItemQueries.ADD_ITEM(temp);
|
||||
} catch (Exception e) {
|
||||
Logger.error(e);
|
||||
}
|
||||
|
||||
if (temp == null) {
|
||||
Logger.info("Ungoof this goof, something is wrong with our kit.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static int GetKitIDByRaceClass(final int raceID, final int classID){
|
||||
switch (raceID){
|
||||
case 2000:
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 2;
|
||||
case 2501:
|
||||
return 3;
|
||||
case 2502:
|
||||
return 4;
|
||||
case 2503:
|
||||
return 5;
|
||||
}
|
||||
case 2001:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 6;
|
||||
case 2501:
|
||||
return 7;
|
||||
case 2502:
|
||||
return 8;
|
||||
case 2503:
|
||||
return 9;
|
||||
}
|
||||
case 2002:
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 10;
|
||||
case 2501:
|
||||
return 11;
|
||||
case 2502:
|
||||
return 12;
|
||||
|
||||
}
|
||||
case 2003:
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 13;
|
||||
case 2501:
|
||||
return 14;
|
||||
case 2502:
|
||||
return 15;
|
||||
}
|
||||
case 2004:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 16;
|
||||
case 2501:
|
||||
return 17;
|
||||
}
|
||||
case 2005:
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 18;
|
||||
case 2501:
|
||||
return 19;
|
||||
}
|
||||
case 2006:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 20;
|
||||
case 2501:
|
||||
return 21;
|
||||
|
||||
}
|
||||
case 2008:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 22;
|
||||
case 2501:
|
||||
return 23;
|
||||
case 2502:
|
||||
return 24;
|
||||
case 2503:
|
||||
return 25;
|
||||
}
|
||||
|
||||
case 2009:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 26;
|
||||
case 2501:
|
||||
return 27;
|
||||
case 2502:
|
||||
return 28;
|
||||
case 2503:
|
||||
return 29;
|
||||
}
|
||||
case 2010:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 30;
|
||||
}
|
||||
|
||||
case 2011:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 31;
|
||||
case 2501:
|
||||
return 32;
|
||||
case 2502:
|
||||
return 33;
|
||||
case 2503:
|
||||
return 34;
|
||||
}
|
||||
|
||||
case 2012:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 35;
|
||||
case 2501:
|
||||
return 36;
|
||||
case 2502:
|
||||
return 37;
|
||||
case 2503:
|
||||
return 38;
|
||||
}
|
||||
|
||||
case 2013:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 39;
|
||||
case 2501:
|
||||
return 40;
|
||||
case 2502:
|
||||
return 41;
|
||||
case 2503:
|
||||
return 42;
|
||||
}
|
||||
|
||||
case 2014:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 43;
|
||||
case 2501:
|
||||
return 44;
|
||||
case 2502:
|
||||
return 45;
|
||||
case 2503:
|
||||
return 46;
|
||||
}
|
||||
|
||||
case 2015:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 47;
|
||||
case 2502:
|
||||
return 48;
|
||||
case 2503:
|
||||
return 49;
|
||||
|
||||
}
|
||||
|
||||
case 2016:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 50;
|
||||
case 2502:
|
||||
return 51;
|
||||
case 2503:
|
||||
return 52;
|
||||
|
||||
}
|
||||
|
||||
case 2017:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 53;
|
||||
case 2501:
|
||||
return 54;
|
||||
|
||||
}
|
||||
|
||||
case 2025:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 55;
|
||||
case 2501:
|
||||
return 56;
|
||||
case 2502:
|
||||
return 57;
|
||||
case 2503:
|
||||
return 58;
|
||||
}
|
||||
|
||||
case 2026:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 59;
|
||||
case 2501:
|
||||
return 60;
|
||||
case 2502:
|
||||
return 61;
|
||||
case 2503:
|
||||
return 62;
|
||||
}
|
||||
|
||||
case 2027:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 63;
|
||||
}
|
||||
|
||||
case 2028:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 64;
|
||||
|
||||
case 2502:
|
||||
return 65;
|
||||
case 2503:
|
||||
return 66;
|
||||
}
|
||||
|
||||
case 2029:
|
||||
|
||||
switch(classID){
|
||||
case 2500:
|
||||
return 67;
|
||||
|
||||
case 2502:
|
||||
return 68;
|
||||
case 2503:
|
||||
return 69;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDatabase() {
|
||||
// TODO Create update logic.
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user