Partial solution on Guild Alliances
Revamped DB tables and enabled some functionalities on Guild Alliances, such as create one, expel/quit one and rank players.
This commit is contained in:
@@ -55,6 +55,7 @@ import net.server.PlayerCoolDownValueHolder;
|
||||
import net.server.PlayerDiseaseValueHolder;
|
||||
import net.server.Server;
|
||||
import net.server.channel.Channel;
|
||||
import net.server.guild.MapleAlliance;
|
||||
import net.server.guild.MapleGuild;
|
||||
import net.server.guild.MapleGuildCharacter;
|
||||
import net.server.world.MapleMessenger;
|
||||
@@ -2205,6 +2206,18 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public MapleAlliance getAlliance() {
|
||||
if(mgc != null) {
|
||||
try {
|
||||
return Server.getInstance().getAlliance(getGuild().getAllianceId());
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getGuildId() {
|
||||
return guildid;
|
||||
@@ -3351,7 +3364,7 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
ret.dojoStage = rs.getInt("lastDojoStage");
|
||||
ret.dataString = rs.getString("dataString");
|
||||
if (ret.guildid > 0) {
|
||||
ret.mgc = new MapleGuildCharacter(ret);
|
||||
ret.mgc = new MapleGuildCharacter(ret); // oh boy, that's quite funny
|
||||
}
|
||||
int buddyCapacity = rs.getInt("buddyCapacity");
|
||||
ret.buddylist = new BuddyList(buddyCapacity);
|
||||
@@ -4147,8 +4160,8 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
}
|
||||
}
|
||||
|
||||
public void resetMGC() {
|
||||
this.mgc = null;
|
||||
public void resetMGC(MapleGuildCharacter mgc) {
|
||||
this.mgc = mgc;
|
||||
}
|
||||
|
||||
public synchronized void saveCooldowns() {
|
||||
@@ -4179,7 +4192,7 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
ps.setInt(2, guildrank);
|
||||
ps.setInt(3, allianceRank);
|
||||
ps.setInt(4, id);
|
||||
ps.execute();
|
||||
ps.executeUpdate();
|
||||
}
|
||||
} catch (SQLException se) {
|
||||
se.printStackTrace();
|
||||
|
||||
@@ -786,6 +786,8 @@ public class MapleClient {
|
||||
final MapleGuild guild = player.getGuild();
|
||||
|
||||
if (channel == -1 || shutdown) {
|
||||
chrg.setCharacter(null);
|
||||
|
||||
removePlayer();
|
||||
player.saveCooldowns();
|
||||
player.saveToDB();
|
||||
@@ -944,7 +946,7 @@ public class MapleClient {
|
||||
}
|
||||
if (rs.getInt("guildid") > 0) {
|
||||
try {
|
||||
Server.getInstance().deleteGuildCharacter(new MapleGuildCharacter(cid, 0, rs.getString("name"), (byte) -1, (byte) -1, 0, rs.getInt("guildrank"), rs.getInt("guildid"), false, rs.getInt("allianceRank")));
|
||||
Server.getInstance().deleteGuildCharacter(new MapleGuildCharacter(player, cid, 0, rs.getString("name"), (byte) -1, (byte) -1, 0, rs.getInt("guildrank"), rs.getInt("guildid"), false, rs.getInt("allianceRank")));
|
||||
} catch (Exception re) {
|
||||
re.printStackTrace();
|
||||
return false;
|
||||
|
||||
@@ -316,7 +316,12 @@ public class Commands {
|
||||
switch (sub[0]) {
|
||||
case "help":
|
||||
case "commands":
|
||||
player.yellowMessage("After you vote, talk to Rooney to get a leaf and redeem it for prizes!");
|
||||
|
||||
|
||||
case "playercommands":
|
||||
player.message("============================================================");
|
||||
player.message("MapleSolaxiaV2 Player Commands");
|
||||
player.message("============================================================");
|
||||
player.message("@dispose: Fixes your character if it is stuck.");
|
||||
player.message("@online: Displays a list of all online players.");
|
||||
player.message("@time: Displays the current server time.");
|
||||
@@ -368,10 +373,6 @@ public class Commands {
|
||||
player.yellowMessage("Solaxia has been online for " + days + " days " + hours + " hours " + minutes + " minutes and " + seconds + " seconds.");
|
||||
break;
|
||||
case "gacha":
|
||||
if (player.gmLevel() == 0) { // Sigh, need it for now...
|
||||
player.yellowMessage("Player Command " + heading + sub[0] + " does not exist, see @help for a list of commands.");
|
||||
return false;
|
||||
}
|
||||
Gachapon gacha = null;
|
||||
String search = joinStringFrom(sub, 1);
|
||||
String gachaName = "";
|
||||
@@ -478,7 +479,11 @@ public class Commands {
|
||||
player.message("You've been disposed.");
|
||||
break;
|
||||
case "rates":
|
||||
c.resetVoteTime();
|
||||
//c.resetVoteTime();
|
||||
player.yellowMessage("BOSSDROP RATE");
|
||||
player.message(">>Total BOSSDROP Rate: " + c.getWorldServer().getBossDropRate() + "x");
|
||||
player.message(">>------------------------------------------------");
|
||||
|
||||
player.yellowMessage("DROP RATE");
|
||||
player.message(">>Base DROP Rate: " + c.getWorldServer().getDropRate() + "x");
|
||||
player.message(">>Your DROP Rate: " + player.getDropRate() / c.getWorldServer().getDropRate() + "x");
|
||||
@@ -671,7 +676,7 @@ public class Commands {
|
||||
|
||||
default:
|
||||
if (player.gmLevel() == 0) {
|
||||
player.yellowMessage("Player Command " + heading + sub[0] + " does not exist, see @help for a list of commands.");
|
||||
player.yellowMessage("Player Command " + heading + sub[0] + " does not exist, see @playercommands for a list of commands.");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -683,7 +688,12 @@ public class Commands {
|
||||
Channel cserv = c.getChannelServer();
|
||||
Server srv = Server.getInstance();
|
||||
|
||||
if (sub[0].equals("sp")) {
|
||||
if (sub[0].equals("commands")) {
|
||||
player.message("============================================================");
|
||||
player.message("MapleSolaxiaV2 GM/Admin Commands Available");
|
||||
player.message("============================================================");
|
||||
}
|
||||
else if (sub[0].equals("sp")) {
|
||||
if (sub.length < 2){
|
||||
player.yellowMessage("Syntax: !sp [<playername>] <newsp>");
|
||||
return true;
|
||||
@@ -1571,7 +1581,6 @@ public class Commands {
|
||||
SkillFactory.getSkill(9101004).getEffect(SkillFactory.getSkill(9101004).getMaxLevel()).applyTo(player);
|
||||
} else if (sub[0].equals("unhide")) {
|
||||
SkillFactory.getSkill(9101004).getEffect(SkillFactory.getSkill(9101004).getMaxLevel()).applyTo(player);
|
||||
|
||||
} else if (sub[0].equals("healmap")) {
|
||||
for (MapleCharacter mch : player.getMap().getCharacters()) {
|
||||
if (mch != null) {
|
||||
@@ -1581,6 +1590,39 @@ public class Commands {
|
||||
mch.updateSingleStat(MapleStat.MP, mch.getMaxMp());
|
||||
}
|
||||
}
|
||||
} else if (sub[0].equals("healperson")) {
|
||||
MapleCharacter victim = cserv.getPlayerStorage().getCharacterByName(sub[1]);
|
||||
victim.setHp(victim.getMaxHp());
|
||||
victim.updateSingleStat(MapleStat.HP, victim.getMaxHp());
|
||||
victim.setMp(victim.getMaxMp());
|
||||
victim.updateSingleStat(MapleStat.MP, victim.getMaxMp());
|
||||
} else if (sub[0].equals("hurt")) {
|
||||
MapleCharacter victim = cserv.getPlayerStorage().getCharacterByName(sub[1]);
|
||||
victim.setHp(1);
|
||||
victim.updateSingleStat(MapleStat.HP, 1);
|
||||
} else if (sub[0].equals("killmap")) {
|
||||
for (MapleCharacter mch : player.getMap().getCharacters()) {
|
||||
mch.setHp(0);
|
||||
mch.updateSingleStat(MapleStat.HP, 0);
|
||||
}
|
||||
} else if (sub[0].equals("mesorate")) {
|
||||
if (sub.length < 2){
|
||||
player.yellowMessage("Syntax: !mesorate <newrate>");
|
||||
return true;
|
||||
}
|
||||
c.getWorldServer().setMesoRate(Integer.parseInt(sub[1]));
|
||||
} else if (sub[0].equals("droprate")) {
|
||||
if (sub.length < 2){
|
||||
player.yellowMessage("Syntax: !droprate <newrate>");
|
||||
return true;
|
||||
}
|
||||
c.getWorldServer().setDropRate(Integer.parseInt(sub[1]));
|
||||
} else if (sub[0].equals("bossdroprate")) {
|
||||
if (sub.length < 2){
|
||||
player.yellowMessage("Syntax: !bossdroprate <newrate>");
|
||||
return true;
|
||||
}
|
||||
c.getWorldServer().setBossDropRate(Integer.parseInt(sub[1]));
|
||||
} else if (sub[0].equalsIgnoreCase("night")) {
|
||||
player.getMap().broadcastNightEffect();
|
||||
player.yellowMessage("Done.");
|
||||
@@ -1806,14 +1848,14 @@ public class Commands {
|
||||
break;
|
||||
case "clearquest":
|
||||
if(sub.length < 1) {
|
||||
player.dropMessage(5, "Plese include a quest ID.");
|
||||
player.dropMessage(5, "Please include a quest ID.");
|
||||
return;
|
||||
}
|
||||
MapleQuest.clearCache(Integer.parseInt(sub[1]));
|
||||
player.dropMessage(5, "Quest Cache for quest " + sub[1] + " cleared.");
|
||||
break;
|
||||
default:
|
||||
player.yellowMessage("Command " + heading + sub[0] + " does not exist.");
|
||||
player.yellowMessage("Command " + heading + sub[0] + " does not exist. See !commands for a list of available commands.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user