forked from MagicBane/Server
Initial Repository Push
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
||||
// Magicbane Emulator Project © 2013 - 2022
|
||||
// www.magicbane.com
|
||||
|
||||
|
||||
package engine.objects;
|
||||
|
||||
import engine.gameManager.DbManager;
|
||||
import engine.net.ByteBufferWriter;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
public class NPCRune extends AbstractGameObject {
|
||||
|
||||
private final RuneBase runeBase;
|
||||
private final int player;
|
||||
private final ArrayList<SkillReq> skillsGranted;
|
||||
private final ArrayList<RuneBaseEffect> effectsGranted;
|
||||
|
||||
/**
|
||||
* No Table ID Constructor
|
||||
*/
|
||||
public NPCRune(RuneBase runeBase, int characterID) {
|
||||
super();
|
||||
this.runeBase = runeBase;
|
||||
this.player = characterID;
|
||||
if (this.runeBase != null)
|
||||
this.skillsGranted = DbManager.SkillReqQueries.GET_REQS_FOR_RUNE(this.runeBase.getObjectUUID());
|
||||
else
|
||||
this.skillsGranted = new ArrayList<>();
|
||||
this.effectsGranted = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Normal Constructor
|
||||
*/
|
||||
public NPCRune(RuneBase runeBase, int characterID, int newUUID) {
|
||||
super(newUUID);
|
||||
this.runeBase = runeBase;
|
||||
this.player = characterID;
|
||||
if (this.runeBase == null)
|
||||
this.skillsGranted = DbManager.SkillReqQueries.GET_REQS_FOR_RUNE(this.runeBase.getObjectUUID());
|
||||
else
|
||||
this.skillsGranted = new ArrayList<>();
|
||||
this.effectsGranted = new ArrayList<>();
|
||||
}
|
||||
/**
|
||||
* ResultSet Constructor
|
||||
*/
|
||||
public NPCRune(ResultSet rs) throws SQLException {
|
||||
super(rs);
|
||||
|
||||
this.runeBase = RuneBase.getRuneBase(rs.getInt("RuneBaseID"));
|
||||
this.player = rs.getInt("NpcID");
|
||||
if (this.runeBase != null) {
|
||||
this.skillsGranted = DbManager.SkillReqQueries.GET_REQS_FOR_RUNE(this.runeBase.getObjectUUID());
|
||||
this.effectsGranted = DbManager.RuneBaseEffectQueries.GET_EFFECTS_FOR_RUNEBASE(this.runeBase.getObjectUUID());
|
||||
} else {
|
||||
Logger.error("Failed to find RuneBase for NPCRune " + this.getObjectUUID());
|
||||
this.skillsGranted = new ArrayList<>();
|
||||
this.effectsGranted = new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Getters
|
||||
*/
|
||||
public RuneBase getRuneBase() {
|
||||
return this.runeBase;
|
||||
}
|
||||
|
||||
public int getRuneBaseID() {
|
||||
if (this.runeBase != null)
|
||||
return this.runeBase.getObjectUUID();
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getPlayerID() {
|
||||
return this.player;
|
||||
}
|
||||
|
||||
public ArrayList<SkillReq> getSkillsGranted() {
|
||||
return this.skillsGranted;
|
||||
}
|
||||
|
||||
public ArrayList<RuneBaseEffect> getEffectsGranted() {
|
||||
return this.effectsGranted;
|
||||
}
|
||||
|
||||
/*
|
||||
* Serializing
|
||||
*/
|
||||
|
||||
public static void serializeForClientMsg(NPCRune npcRune,ByteBufferWriter writer) {
|
||||
if (npcRune.runeBase != null) {
|
||||
writer.putInt(npcRune.runeBase.getType());
|
||||
writer.putInt(0);
|
||||
writer.putInt(npcRune.runeBase.getObjectUUID());
|
||||
writer.putInt(npcRune.getObjectType().ordinal());
|
||||
writer.putInt(npcRune.getObjectUUID());
|
||||
} else {
|
||||
for (int i = 0; i < 5; i++)
|
||||
writer.putInt(0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDatabase() {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user