📄 l1ultimatebattle.java
字号:
*
* @param pc
* 新たに参加するプレイヤー
*/
public void addMember(L1PcInstance pc) {
if (!_members.contains(pc)) {
_members.add(pc);
}
}
/**
* プレイヤーを参加メンバーリストから削除する。
*
* @param pc
* 削除するプレイヤー
*/
public void removeMember(L1PcInstance pc) {
_members.remove(pc);
}
/**
* 参加メンバーリストをクリアする。
*/
public void clearMembers() {
_members.clear();
}
/**
* プレイヤーが、参加メンバーかを返す。
*
* @param pc
* 調べるプレイヤー
* @return 参加メンバーであればtrue、そうでなければfalse。
*/
public boolean isMember(L1PcInstance pc) {
return _members.contains(pc);
}
/**
* 参加メンバーの配列を作成し、返す。
*
* @return 参加メンバーの配列
*/
public L1PcInstance[] getMembersArray() {
return _members.toArray(new L1PcInstance[_members.size()]);
}
/**
* 参加メンバー数を返す。
*
* @return 参加メンバー数
*/
public int getMembersCount() {
return _members.size();
}
/**
* UB中かを設定する。
*
* @param i
* true/false
*/
private void setNowUb(boolean i) {
_isNowUb = i;
}
/**
* UB中かを返す。
*
* @return UB中であればtrue、そうでなければfalse。
*/
public boolean isNowUb() {
return _isNowUb;
}
public int getUbId() {
return _ubId;
}
public void setUbId(int id) {
_ubId = id;
}
public short getMapId() {
return _mapId;
}
public void setMapId(short mapId) {
this._mapId = mapId;
}
public int getMinLevel() {
return _minLevel;
}
public void setMinLevel(int level) {
_minLevel = level;
}
public int getMaxLevel() {
return _maxLevel;
}
public void setMaxLevel(int level) {
_maxLevel = level;
}
public int getMaxPlayer() {
return _maxPlayer;
}
public void setMaxPlayer(int count) {
_maxPlayer = count;
}
public void setEnterRoyal(boolean enterRoyal) {
this._enterRoyal = enterRoyal;
}
public void setEnterKnight(boolean enterKnight) {
this._enterKnight = enterKnight;
}
public void setEnterMage(boolean enterMage) {
this._enterMage = enterMage;
}
public void setEnterElf(boolean enterElf) {
this._enterElf = enterElf;
}
public void setEnterDarkelf(boolean enterDarkelf) {
this._enterDarkelf = enterDarkelf;
}
public void setEnterDragonKnight(boolean enterDragonKnight) {
this._enterDragonKnight = enterDragonKnight;
}
public void setEnterIllusionist(boolean enterIllusionist) {
this._enterIllusionist = enterIllusionist;
}
public void setEnterMale(boolean enterMale) {
this._enterMale = enterMale;
}
public void setEnterFemale(boolean enterFemale) {
this._enterFemale = enterFemale;
}
public boolean canUsePot() {
return _usePot;
}
public void setUsePot(boolean usePot) {
this._usePot = usePot;
}
public int getHpr() {
return _hpr;
}
public void setHpr(int hpr) {
this._hpr = hpr;
}
public int getMpr() {
return _mpr;
}
public void setMpr(int mpr) {
this._mpr = mpr;
}
public int getLocX1() {
return _locX1;
}
public void setLocX1(int locX1) {
this._locX1 = locX1;
}
public int getLocY1() {
return _locY1;
}
public void setLocY1(int locY1) {
this._locY1 = locY1;
}
public int getLocX2() {
return _locX2;
}
public void setName(String name) {
this._ubName = name;
}
public String getName() {
return this._ubName;
}
public void setLocX2(int locX2) {
this._locX2 = locX2;
}
public int getLocY2() {
return _locY2;
}
public void setLocY2(int locY2) {
this._locY2 = locY2;
}
// setされたlocx1~locy2から中心点を求める。
public void resetLoc() {
_locX = (_locX2 + _locX1) / 2;
_locY = (_locY2 + _locY1) / 2;
_location = new L1Location(_locX, _locY, _mapId);
}
public L1Location getLocation() {
return _location;
}
public void addManager(int npcId) {
_managers.add(npcId);
}
public boolean containsManager(int npcId) {
return _managers.contains(npcId);
}
public void addUbTime(int time) {
_ubTimes.add(time);
}
public String getNextUbTime() {
return intToTimeFormat(nextUbTime());
}
private int nextUbTime() {
SimpleDateFormat sdf = new SimpleDateFormat("HHmm");
int nowTime = Integer.valueOf(sdf.format(getRealTime().getTime()));
SortedSet<Integer> tailSet = _ubTimes.tailSet(nowTime);
if (tailSet.isEmpty()) {
tailSet = _ubTimes;
}
return tailSet.first();
}
private static String intToTimeFormat(int n) {
return n / 100 + ":" + n % 100 / 10 + "" + n % 10;
}
private static Calendar getRealTime() {
TimeZone _tz = TimeZone.getTimeZone(Config.TIME_ZONE);
Calendar cal = Calendar.getInstance(_tz);
return cal;
}
public boolean checkUbTime() {
SimpleDateFormat sdf = new SimpleDateFormat("HHmm");
Calendar realTime = getRealTime();
realTime.add(Calendar.MINUTE, BEFORE_MINUTE);
int nowTime = Integer.valueOf(sdf.format(realTime.getTime()));
return _ubTimes.contains(nowTime);
}
private void setActive(boolean f) {
_active = f;
}
/**
* @return UB入場可能~競技終了まではtrue,それ以外はfalseを返す。
*/
public boolean isActive() {
return _active;
}
/**
* UBに参加可能か、レベル、クラスをチェックする。
*
* @param pc
* UBに参加できるかチェックするPC
* @return 参加出来る場合はtrue,出来ない場合はfalse
*/
public boolean canPcEnter(L1PcInstance pc) {
_log.log(Level.FINE, "pcname=" + pc.getName() + " ubid=" + _ubId
+ " minlvl=" + _minLevel + " maxlvl=" + _maxLevel);
// 参加可能なレベルか
if (!IntRange.includes(pc.getLevel(), _minLevel, _maxLevel)) {
return false;
}
// 参加可能なクラスか
if (!((pc.isCrown() && _enterRoyal) || (pc.isKnight() && _enterKnight)
|| (pc.isWizard() && _enterMage) || (pc.isElf() && _enterElf)
|| (pc.isDarkelf() && _enterDarkelf)
|| (pc.isDragonKnight() && _enterDragonKnight)
|| (pc.isIllusionist() && _enterIllusionist))) {
return false;
}
return true;
}
private String[] _ubInfo;
public String[] makeUbInfoStrings() {
if (_ubInfo != null) {
return _ubInfo;
}
String nextUbTime = getNextUbTime();
// クラス
StringBuilder classesBuff = new StringBuilder();
if (_enterDarkelf) {
classesBuff.append("黑妖 ");
}
if (_enterMage) {
classesBuff.append("法師 ");
}
if (_enterElf) {
classesBuff.append("妖精 ");
}
if (_enterKnight) {
classesBuff.append("騎士 ");
}
if (_enterRoyal) {
classesBuff.append("王族 ");
}
if (_enterDragonKnight) {
classesBuff.append("龍騎士 ");
}
if (_enterIllusionist) {
classesBuff.append("幻術師");
}
String classes = classesBuff.toString().trim();
// 性別
StringBuilder sexBuff = new StringBuilder();
if (_enterMale) {
sexBuff.append("男 ");
}
if (_enterFemale) {
sexBuff.append("女 ");
}
String sex = sexBuff.toString().trim();
String loLevel = String.valueOf(_minLevel);
String hiLevel = String.valueOf(_maxLevel);
String teleport = _location.getMap().isEscapable() ? "可以" : "不可以";
String res = _location.getMap().isUseResurrection() ? "可以" : "不可以";
String pot = "可以";
String hpr = String.valueOf(_hpr);
String mpr = String.valueOf(_mpr);
String summon = _location.getMap().isTakePets() ? "可以" : "不可以";
String summon2 = _location.getMap().isRecallPets() ? "可以" : "不可以";
_ubInfo = new String[] { nextUbTime, classes, sex, loLevel, hiLevel,
teleport, res, pot, hpr, mpr, summon, summon2 };
return _ubInfo;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -