Active Coupon Buff
Added buff icons for active coupons the player has. Fixed a minor issue, introduced on the last commit, that prevented coupons to become active automatically.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#Tue, 30 May 2017 01:30:51 -0300
|
||||
#Tue, 30 May 2017 13:56:57 -0300
|
||||
|
||||
|
||||
C\:\\Nexon\\MapleSolaxia\\MapleSolaxiaV2\\MapleCouponInstaller=
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -2,6 +2,8 @@
|
||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group/>
|
||||
<group>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/MapleCouponInstaller/src/maplecouponinstaller/MapleCouponInstaller.java</file>
|
||||
</group>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
||||
@@ -124,7 +124,7 @@ public class MapleCouponInstaller {
|
||||
}
|
||||
|
||||
private static void processDayTimeString(String time) {
|
||||
String day = time.substring(0, 2);
|
||||
String day = time.substring(0, 3);
|
||||
int d = getDayOfWeek(day);
|
||||
|
||||
activeDay |= (1 << d);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#Tue, 30 May 2017 01:30:16 -0300
|
||||
#Tue, 30 May 2017 23:02:51 -0300
|
||||
|
||||
|
||||
C\:\\Nexon\\MapleSolaxia\\MapleSolaxiaV2\\MobBookUpdate=
|
||||
|
||||
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
#Tue, 30 May 2017 13:12:05 -0300
|
||||
#Tue, 30 May 2017 23:04:14 -0300
|
||||
|
||||
|
||||
C\:\\Nexon\\MapleSolaxia\\MapleSolaxiaV2=
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -12,11 +12,7 @@
|
||||
</editor-bookmarks>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/net/server/Server.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/net/server/CouponWorker.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/client/MapleCharacter.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/client/MapleClient.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/client/inventory/MapleInventory.java</file>
|
||||
</group>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
||||
+40
-40
@@ -16324,46 +16324,46 @@ CREATE TABLE IF NOT EXISTS `nxcoupons` (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=41 ;
|
||||
|
||||
INSERT INTO `nxcoupons` (`id`, `couponid`, `rate`, `activeday`, `starthour`, `endhour`) VALUES
|
||||
(1,5211000,2,1,18,20),
|
||||
(2,5211004,2,1,7,11),
|
||||
(3,5211005,2,1,10,14),
|
||||
(4,5211006,2,1,13,17),
|
||||
(5,5211007,2,1,16,20),
|
||||
(6,5211008,2,1,19,23),
|
||||
(7,5211009,2,1,7,11),
|
||||
(8,5211010,2,1,10,14),
|
||||
(9,5211011,2,1,13,17),
|
||||
(10,5211012,2,1,16,20),
|
||||
(11,5211013,2,1,19,23),
|
||||
(12,5211014,2,1,7,11),
|
||||
(13,5211015,2,1,10,14),
|
||||
(14,5211016,2,1,13,17),
|
||||
(15,5211017,2,1,16,20),
|
||||
(16,5211018,2,1,19,23),
|
||||
(17,5211037,2,1,0,4),
|
||||
(18,5211038,2,1,0,4),
|
||||
(19,5211039,2,1,0,4),
|
||||
(20,5211040,2,1,3,7),
|
||||
(21,5211041,2,1,3,7),
|
||||
(22,5211042,2,1,3,7),
|
||||
(23,5211043,2,1,6,10),
|
||||
(24,5211044,2,1,6,10),
|
||||
(25,5211045,2,1,6,10),
|
||||
(26,5211046,2,1,0,24),
|
||||
(27,5211048,2,1,0,24),
|
||||
(28,5211049,2,1,0,24),
|
||||
(29,5211052,3,1,0,24),
|
||||
(30,5211060,3,1,0,24),
|
||||
(31,5360000,2,1,0,24),
|
||||
(32,5360001,2,1,7,11),
|
||||
(33,5360002,2,1,10,14),
|
||||
(34,5360003,2,1,13,17),
|
||||
(35,5360004,2,1,16,20),
|
||||
(36,5360005,2,1,19,23),
|
||||
(37,5360006,2,1,0,4),
|
||||
(38,5360007,2,1,3,7),
|
||||
(39,5360008,2,1,6,10),
|
||||
(40,5360042,2,1,0,24);
|
||||
(1,5211000,2,254,18,20),
|
||||
(2,5211004,2,124,7,11),
|
||||
(3,5211005,2,124,10,14),
|
||||
(4,5211006,2,124,13,17),
|
||||
(5,5211007,2,124,16,20),
|
||||
(6,5211008,2,124,19,23),
|
||||
(7,5211009,2,130,7,11),
|
||||
(8,5211010,2,130,10,14),
|
||||
(9,5211011,2,130,13,17),
|
||||
(10,5211012,2,130,16,20),
|
||||
(11,5211013,2,130,19,23),
|
||||
(12,5211014,2,254,7,11),
|
||||
(13,5211015,2,254,10,14),
|
||||
(14,5211016,2,254,13,17),
|
||||
(15,5211017,2,254,16,20),
|
||||
(16,5211018,2,254,19,23),
|
||||
(17,5211037,2,124,0,4),
|
||||
(18,5211038,2,130,0,4),
|
||||
(19,5211039,2,254,0,4),
|
||||
(20,5211040,2,124,3,7),
|
||||
(21,5211041,2,130,3,7),
|
||||
(22,5211042,2,254,3,7),
|
||||
(23,5211043,2,124,6,10),
|
||||
(24,5211044,2,130,6,10),
|
||||
(25,5211045,2,254,6,10),
|
||||
(26,5211046,2,254,0,24),
|
||||
(27,5211048,2,254,0,24),
|
||||
(28,5211049,2,254,0,24),
|
||||
(29,5211052,3,255,0,24),
|
||||
(30,5211060,3,255,0,24),
|
||||
(31,5360000,2,254,0,24),
|
||||
(32,5360001,2,254,7,11),
|
||||
(33,5360002,2,254,10,14),
|
||||
(34,5360003,2,254,13,17),
|
||||
(35,5360004,2,254,16,20),
|
||||
(36,5360005,2,254,19,23),
|
||||
(37,5360006,2,254,0,4),
|
||||
(38,5360007,2,254,3,7),
|
||||
(39,5360008,2,254,6,10),
|
||||
(40,5360042,2,254,0,24);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `pets` (
|
||||
|
||||
@@ -1691,7 +1691,7 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
public void cancelAllDebuffs() {
|
||||
diseases.clear();
|
||||
}
|
||||
|
||||
|
||||
public void dispelSkill(int skillid) {
|
||||
LinkedList<MapleBuffStatValueHolder> allBuffs = new LinkedList<>(effects.values());
|
||||
for (MapleBuffStatValueHolder mbsvh : allBuffs) {
|
||||
@@ -3418,6 +3418,16 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
activateCouponsEffects();
|
||||
}
|
||||
|
||||
public void resetPlayerRates() {
|
||||
expRate = 1;
|
||||
mesoRate = 1;
|
||||
dropRate = 1;
|
||||
|
||||
expCoupon = 1;
|
||||
mesoCoupon = 1;
|
||||
dropCoupon = 1;
|
||||
}
|
||||
|
||||
private boolean isExpCoupon(int couponId) {
|
||||
return couponId / 1000 == 5211;
|
||||
}
|
||||
@@ -3436,6 +3446,8 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
}
|
||||
|
||||
private void revertCouponsEffects() {
|
||||
dispelBuffCoupons();
|
||||
|
||||
this.expRate /= this.expCoupon;
|
||||
this.dropRate /= this.dropCoupon;
|
||||
this.mesoRate /= this.mesoCoupon;
|
||||
@@ -3451,20 +3463,34 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
int couponId = coupon.getKey();
|
||||
int couponQty = coupon.getValue();
|
||||
|
||||
commitBuffCoupon(couponId);
|
||||
if(isExpCoupon(couponId)) setExpCouponRate(couponId, couponQty);
|
||||
else setDropCouponRate(couponId, couponQty);
|
||||
}
|
||||
}
|
||||
else {
|
||||
int maxExpRate = 1, maxDropRate = 1;
|
||||
int maxExpRate = 1, maxDropRate = 1, maxExpCouponId = -1, maxDropCouponId = -1;
|
||||
|
||||
for(Entry<Integer,Integer> coupon: activeCoupons.entrySet()) {
|
||||
int couponId = coupon.getKey();
|
||||
|
||||
if(isExpCoupon(couponId)) maxExpRate = Math.max(maxExpRate, getCouponMultiplier(couponId));
|
||||
else maxDropRate = Math.max(maxDropRate, getCouponMultiplier(couponId));
|
||||
if(isExpCoupon(couponId)) {
|
||||
if(maxExpRate < getCouponMultiplier(couponId)) {
|
||||
maxExpCouponId = couponId;
|
||||
maxExpRate = getCouponMultiplier(couponId);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(maxDropRate < getCouponMultiplier(couponId)) {
|
||||
maxDropCouponId = couponId;
|
||||
maxDropRate = getCouponMultiplier(couponId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(maxExpCouponId > -1) commitBuffCoupon(maxExpCouponId);
|
||||
if(maxDropCouponId > -1) commitBuffCoupon(maxDropCouponId);
|
||||
|
||||
this.expCoupon = maxExpRate;
|
||||
this.dropCoupon = maxDropRate;
|
||||
this.mesoCoupon = maxDropRate;
|
||||
@@ -3494,6 +3520,24 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void commitBuffCoupon(int couponid) {
|
||||
if(!isLoggedin() || getCashShop().isOpened()) return;
|
||||
|
||||
MapleStatEffect mse = MapleItemInformationProvider.getInstance().getItemEffect(couponid);
|
||||
mse.applyTo(this);
|
||||
}
|
||||
|
||||
public void dispelBuffCoupons() {
|
||||
LinkedList<MapleBuffStatValueHolder> allBuffs = new LinkedList<>(effects.values());
|
||||
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
|
||||
|
||||
for (MapleBuffStatValueHolder mbsvh : allBuffs) {
|
||||
if (ii.isRateCoupon(mbsvh.effect.getSourceId())) {
|
||||
cancelEffect(mbsvh.effect, false, mbsvh.startTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static MapleCharacter loadCharFromDB(int charid, MapleClient client, boolean channelserver) throws SQLException {
|
||||
try {
|
||||
@@ -3817,13 +3861,6 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
|
||||
ret.maplemount.setTiredness(mounttiredness);
|
||||
ret.maplemount.setActive(false);
|
||||
|
||||
if(ServerConstants.USE_ADD_RATES_BY_LEVEL == true) {
|
||||
ret.setPlayerRates();
|
||||
}
|
||||
|
||||
ret.setWorldRates();
|
||||
ret.setCouponRates();
|
||||
|
||||
return ret;
|
||||
} catch (SQLException | RuntimeException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
+255
-255
@@ -98,22 +98,22 @@ public class SkillFactory {
|
||||
}
|
||||
|
||||
public static void loadAllSkills() {
|
||||
final MapleDataDirectoryEntry root = datasource.getRoot();
|
||||
int skillid;
|
||||
for (MapleDataFileEntry topDir : root.getFiles()) { // Loop thru jobs
|
||||
if (topDir.getName().length() <= 8) {
|
||||
for (MapleData data : datasource.getData(topDir.getName())) { // Loop thru each jobs
|
||||
if (data.getName().equals("skill")) {
|
||||
for (MapleData data2 : data) { // Loop thru each jobs
|
||||
if (data2 != null) {
|
||||
skillid = Integer.parseInt(data2.getName());
|
||||
skills.put(skillid, loadFromData(skillid, data2));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
final MapleDataDirectoryEntry root = datasource.getRoot();
|
||||
int skillid;
|
||||
for (MapleDataFileEntry topDir : root.getFiles()) { // Loop thru jobs
|
||||
if (topDir.getName().length() <= 8) {
|
||||
for (MapleData data : datasource.getData(topDir.getName())) { // Loop thru each jobs
|
||||
if (data.getName().equals("skill")) {
|
||||
for (MapleData data2 : data) { // Loop thru each jobs
|
||||
if (data2 != null) {
|
||||
skillid = Integer.parseInt(data2.getName());
|
||||
skills.put(skillid, loadFromData(skillid, data2));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static Skill loadFromData(int id, MapleData data) {
|
||||
@@ -135,251 +135,251 @@ public class SkillFactory {
|
||||
MapleData action_ = data.getChildByPath("action");
|
||||
boolean action = false;
|
||||
if (action_ == null) {
|
||||
if (data.getChildByPath("prepare/action") != null) {
|
||||
action = true;
|
||||
} else {
|
||||
switch (id) {
|
||||
case Gunslinger.INVISIBLE_SHOT:
|
||||
case Corsair.HYPNOTIZE:
|
||||
action = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (data.getChildByPath("prepare/action") != null) {
|
||||
action = true;
|
||||
} else {
|
||||
switch (id) {
|
||||
case Gunslinger.INVISIBLE_SHOT:
|
||||
case Corsair.HYPNOTIZE:
|
||||
action = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
action = true;
|
||||
}
|
||||
ret.action = action;
|
||||
MapleData hit = data.getChildByPath("hit");
|
||||
MapleData ball = data.getChildByPath("ball");
|
||||
isBuff = effect != null && hit == null && ball == null;
|
||||
isBuff |= action_ != null && MapleDataTool.getString("0", action_, "").equals("alert2");
|
||||
switch (id) {
|
||||
case Hero.RUSH:
|
||||
case Paladin.RUSH:
|
||||
case DarkKnight.RUSH:
|
||||
case DragonKnight.SACRIFICE:
|
||||
case FPMage.EXPLOSION:
|
||||
case FPMage.POISON_MIST:
|
||||
case Cleric.HEAL:
|
||||
case Ranger.MORTAL_BLOW:
|
||||
case Sniper.MORTAL_BLOW:
|
||||
case Assassin.DRAIN:
|
||||
case Hermit.SHADOW_WEB:
|
||||
case Bandit.STEAL:
|
||||
case Shadower.SMOKE_SCREEN:
|
||||
case SuperGM.HEAL_PLUS_DISPEL:
|
||||
case Hero.MONSTER_MAGNET:
|
||||
case Paladin.MONSTER_MAGNET:
|
||||
case DarkKnight.MONSTER_MAGNET:
|
||||
case Evan.ICE_BREATH:
|
||||
case Evan.FIRE_BREATH:
|
||||
case Gunslinger.RECOIL_SHOT:
|
||||
case Marauder.ENERGY_DRAIN:
|
||||
case BlazeWizard.FLAME_GEAR:
|
||||
case NightWalker.SHADOW_WEB:
|
||||
case NightWalker.POISON_BOMB:
|
||||
case NightWalker.VAMPIRE:
|
||||
case ChiefBandit.CHAKRA:
|
||||
case Evan.RECOVERY_AURA:
|
||||
isBuff = false;
|
||||
break;
|
||||
case Beginner.RECOVERY:
|
||||
case Beginner.NIMBLE_FEET:
|
||||
case Beginner.MONSTER_RIDER:
|
||||
case Beginner.ECHO_OF_HERO:
|
||||
case Swordsman.IRON_BODY:
|
||||
case Fighter.AXE_BOOSTER:
|
||||
case Fighter.POWER_GUARD:
|
||||
case Fighter.RAGE:
|
||||
case Fighter.SWORD_BOOSTER:
|
||||
case Crusader.ARMOR_CRASH:
|
||||
case Crusader.COMBO:
|
||||
case Hero.ENRAGE:
|
||||
case Hero.HEROS_WILL:
|
||||
case Hero.MAPLE_WARRIOR:
|
||||
case Hero.STANCE:
|
||||
case Page.BW_BOOSTER:
|
||||
case Page.POWER_GUARD:
|
||||
case Page.SWORD_BOOSTER:
|
||||
case Page.THREATEN:
|
||||
case WhiteKnight.BW_FIRE_CHARGE:
|
||||
case WhiteKnight.BW_ICE_CHARGE:
|
||||
case WhiteKnight.BW_LIT_CHARGE:
|
||||
case WhiteKnight.MAGIC_CRASH:
|
||||
case WhiteKnight.SWORD_FIRE_CHARGE:
|
||||
case WhiteKnight.SWORD_ICE_CHARGE:
|
||||
case WhiteKnight.SWORD_LIT_CHARGE:
|
||||
case Paladin.BW_HOLY_CHARGE:
|
||||
case Paladin.HEROS_WILL:
|
||||
case Paladin.MAPLE_WARRIOR:
|
||||
case Paladin.STANCE:
|
||||
case Paladin.SWORD_HOLY_CHARGE:
|
||||
case Spearman.HYPER_BODY:
|
||||
case Spearman.IRON_WILL:
|
||||
case Spearman.POLEARM_BOOSTER:
|
||||
case Spearman.SPEAR_BOOSTER:
|
||||
case DragonKnight.DRAGON_BLOOD:
|
||||
case DragonKnight.POWER_CRASH:
|
||||
case DarkKnight.AURA_OF_BEHOLDER:
|
||||
case DarkKnight.BEHOLDER:
|
||||
case DarkKnight.HEROS_WILL:
|
||||
case DarkKnight.HEX_OF_BEHOLDER:
|
||||
case DarkKnight.MAPLE_WARRIOR:
|
||||
case DarkKnight.STANCE:
|
||||
case Magician.MAGIC_GUARD:
|
||||
case Magician.MAGIC_ARMOR:
|
||||
case FPWizard.MEDITATION:
|
||||
case FPWizard.SLOW:
|
||||
case FPMage.SEAL:
|
||||
case FPMage.SPELL_BOOSTER:
|
||||
case FPArchMage.HEROS_WILL:
|
||||
case FPArchMage.INFINITY:
|
||||
case FPArchMage.MANA_REFLECTION:
|
||||
case FPArchMage.MAPLE_WARRIOR:
|
||||
case ILWizard.MEDITATION:
|
||||
case ILMage.SEAL:
|
||||
case ILWizard.SLOW:
|
||||
case ILMage.SPELL_BOOSTER:
|
||||
case ILArchMage.HEROS_WILL:
|
||||
case ILArchMage.INFINITY:
|
||||
case ILArchMage.MANA_REFLECTION:
|
||||
case ILArchMage.MAPLE_WARRIOR:
|
||||
case Cleric.INVINCIBLE:
|
||||
case Cleric.BLESS:
|
||||
case Priest.DISPEL:
|
||||
case Priest.DOOM:
|
||||
case Priest.HOLY_SYMBOL:
|
||||
case Priest.MYSTIC_DOOR:
|
||||
case Bishop.HEROS_WILL:
|
||||
case Bishop.HOLY_SHIELD:
|
||||
case Bishop.INFINITY:
|
||||
case Bishop.MANA_REFLECTION:
|
||||
case Bishop.MAPLE_WARRIOR:
|
||||
case Archer.FOCUS:
|
||||
case Hunter.BOW_BOOSTER:
|
||||
case Hunter.SOUL_ARROW:
|
||||
case Ranger.PUPPET:
|
||||
case Bowmaster.CONCENTRATE:
|
||||
case Bowmaster.HEROS_WILL:
|
||||
case Bowmaster.MAPLE_WARRIOR:
|
||||
case Bowmaster.SHARP_EYES:
|
||||
case Crossbowman.CROSSBOW_BOOSTER:
|
||||
case Crossbowman.SOUL_ARROW:
|
||||
case Sniper.PUPPET:
|
||||
case Marksman.BLIND:
|
||||
case Marksman.HEROS_WILL:
|
||||
case Marksman.MAPLE_WARRIOR:
|
||||
case Marksman.SHARP_EYES:
|
||||
case Rogue.DARK_SIGHT:
|
||||
case Assassin.CLAW_BOOSTER:
|
||||
case Assassin.HASTE:
|
||||
case Hermit.MESO_UP:
|
||||
case Hermit.SHADOW_PARTNER:
|
||||
case NightLord.HEROS_WILL:
|
||||
case NightLord.MAPLE_WARRIOR:
|
||||
case NightLord.NINJA_AMBUSH:
|
||||
case NightLord.SHADOW_STARS:
|
||||
case Bandit.DAGGER_BOOSTER:
|
||||
case Bandit.HASTE:
|
||||
case ChiefBandit.MESO_GUARD:
|
||||
case ChiefBandit.PICKPOCKET:
|
||||
case Shadower.HEROS_WILL:
|
||||
case Shadower.MAPLE_WARRIOR:
|
||||
case Shadower.NINJA_AMBUSH:
|
||||
case Pirate.DASH:
|
||||
case Marauder.TRANSFORMATION:
|
||||
case Buccaneer.SUPER_TRANSFORMATION:
|
||||
case Corsair.BATTLE_SHIP:
|
||||
case GM.HIDE:
|
||||
case SuperGM.HASTE:
|
||||
case SuperGM.HOLY_SYMBOL:
|
||||
case SuperGM.BLESS:
|
||||
case SuperGM.HIDE:
|
||||
case SuperGM.HYPER_BODY:
|
||||
case Noblesse.BLESSING_OF_THE_FAIRY:
|
||||
case Noblesse.ECHO_OF_HERO:
|
||||
case Noblesse.MONSTER_RIDER:
|
||||
case Noblesse.NIMBLE_FEET:
|
||||
case Noblesse.RECOVERY:
|
||||
case DawnWarrior.COMBO:
|
||||
case DawnWarrior.FINAL_ATTACK:
|
||||
case DawnWarrior.IRON_BODY:
|
||||
case DawnWarrior.RAGE:
|
||||
case DawnWarrior.SOUL:
|
||||
case DawnWarrior.SOUL_CHARGE:
|
||||
case DawnWarrior.SWORD_BOOSTER:
|
||||
case BlazeWizard.ELEMENTAL_RESET:
|
||||
case BlazeWizard.FLAME:
|
||||
case BlazeWizard.IFRIT:
|
||||
case BlazeWizard.MAGIC_ARMOR:
|
||||
case BlazeWizard.MAGIC_GUARD:
|
||||
case BlazeWizard.MEDITATION:
|
||||
case BlazeWizard.SEAL:
|
||||
case BlazeWizard.SLOW:
|
||||
case BlazeWizard.SPELL_BOOSTER:
|
||||
case WindArcher.BOW_BOOSTER:
|
||||
case WindArcher.EAGLE_EYE:
|
||||
case WindArcher.FINAL_ATTACK:
|
||||
case WindArcher.FOCUS:
|
||||
case WindArcher.PUPPET:
|
||||
case WindArcher.SOUL_ARROW:
|
||||
case WindArcher.STORM:
|
||||
case WindArcher.WIND_WALK:
|
||||
case NightWalker.CLAW_BOOSTER:
|
||||
case NightWalker.DARKNESS:
|
||||
case NightWalker.DARK_SIGHT:
|
||||
case NightWalker.HASTE:
|
||||
case NightWalker.SHADOW_PARTNER:
|
||||
case ThunderBreaker.DASH:
|
||||
case ThunderBreaker.ENERGY_CHARGE:
|
||||
case ThunderBreaker.ENERGY_DRAIN:
|
||||
case ThunderBreaker.KNUCKLER_BOOSTER:
|
||||
case ThunderBreaker.LIGHTNING:
|
||||
case ThunderBreaker.SPARK:
|
||||
case ThunderBreaker.LIGHTNING_CHARGE:
|
||||
case ThunderBreaker.SPEED_INFUSION:
|
||||
case ThunderBreaker.TRANSFORMATION:
|
||||
case Legend.BLESSING_OF_THE_FAIRY:
|
||||
case Legend.AGILE_BODY:
|
||||
case Legend.ECHO_OF_HERO:
|
||||
case Legend.RECOVERY:
|
||||
case Legend.MONSTER_RIDER:
|
||||
case Aran.MAPLE_WARRIOR:
|
||||
case Aran.HEROS_WILL:
|
||||
case Aran.POLEARM_BOOSTER:
|
||||
case Aran.COMBO_DRAIN:
|
||||
case Aran.SNOW_CHARGE:
|
||||
case Aran.BODY_PRESSURE:
|
||||
case Aran.SMART_KNOCKBACK:
|
||||
case Aran.COMBO_BARRIER:
|
||||
case Aran.COMBO_ABILITY:
|
||||
case Evan.BLESSING_OF_THE_FAIRY:
|
||||
case Evan.RECOVERY:
|
||||
case Evan.NIMBLE_FEET:
|
||||
case Evan.HEROS_WILL:
|
||||
case Evan.ECHO_OF_HERO:
|
||||
case Evan.MAGIC_BOOSTER:
|
||||
case Evan.MAGIC_GUARD:
|
||||
case Evan.ELEMENTAL_RESET:
|
||||
case Evan.MAPLE_WARRIOR:
|
||||
case Evan.MAGIC_RESISTANCE:
|
||||
case Evan.MAGIC_SHIELD:
|
||||
case Evan.SLOW:
|
||||
isBuff = true;
|
||||
break;
|
||||
MapleData hit = data.getChildByPath("hit");
|
||||
MapleData ball = data.getChildByPath("ball");
|
||||
isBuff = effect != null && hit == null && ball == null;
|
||||
isBuff |= action_ != null && MapleDataTool.getString("0", action_, "").equals("alert2");
|
||||
switch (id) {
|
||||
case Hero.RUSH:
|
||||
case Paladin.RUSH:
|
||||
case DarkKnight.RUSH:
|
||||
case DragonKnight.SACRIFICE:
|
||||
case FPMage.EXPLOSION:
|
||||
case FPMage.POISON_MIST:
|
||||
case Cleric.HEAL:
|
||||
case Ranger.MORTAL_BLOW:
|
||||
case Sniper.MORTAL_BLOW:
|
||||
case Assassin.DRAIN:
|
||||
case Hermit.SHADOW_WEB:
|
||||
case Bandit.STEAL:
|
||||
case Shadower.SMOKE_SCREEN:
|
||||
case SuperGM.HEAL_PLUS_DISPEL:
|
||||
case Hero.MONSTER_MAGNET:
|
||||
case Paladin.MONSTER_MAGNET:
|
||||
case DarkKnight.MONSTER_MAGNET:
|
||||
case Evan.ICE_BREATH:
|
||||
case Evan.FIRE_BREATH:
|
||||
case Gunslinger.RECOIL_SHOT:
|
||||
case Marauder.ENERGY_DRAIN:
|
||||
case BlazeWizard.FLAME_GEAR:
|
||||
case NightWalker.SHADOW_WEB:
|
||||
case NightWalker.POISON_BOMB:
|
||||
case NightWalker.VAMPIRE:
|
||||
case ChiefBandit.CHAKRA:
|
||||
case Evan.RECOVERY_AURA:
|
||||
isBuff = false;
|
||||
break;
|
||||
case Beginner.RECOVERY:
|
||||
case Beginner.NIMBLE_FEET:
|
||||
case Beginner.MONSTER_RIDER:
|
||||
case Beginner.ECHO_OF_HERO:
|
||||
case Swordsman.IRON_BODY:
|
||||
case Fighter.AXE_BOOSTER:
|
||||
case Fighter.POWER_GUARD:
|
||||
case Fighter.RAGE:
|
||||
case Fighter.SWORD_BOOSTER:
|
||||
case Crusader.ARMOR_CRASH:
|
||||
case Crusader.COMBO:
|
||||
case Hero.ENRAGE:
|
||||
case Hero.HEROS_WILL:
|
||||
case Hero.MAPLE_WARRIOR:
|
||||
case Hero.STANCE:
|
||||
case Page.BW_BOOSTER:
|
||||
case Page.POWER_GUARD:
|
||||
case Page.SWORD_BOOSTER:
|
||||
case Page.THREATEN:
|
||||
case WhiteKnight.BW_FIRE_CHARGE:
|
||||
case WhiteKnight.BW_ICE_CHARGE:
|
||||
case WhiteKnight.BW_LIT_CHARGE:
|
||||
case WhiteKnight.MAGIC_CRASH:
|
||||
case WhiteKnight.SWORD_FIRE_CHARGE:
|
||||
case WhiteKnight.SWORD_ICE_CHARGE:
|
||||
case WhiteKnight.SWORD_LIT_CHARGE:
|
||||
case Paladin.BW_HOLY_CHARGE:
|
||||
case Paladin.HEROS_WILL:
|
||||
case Paladin.MAPLE_WARRIOR:
|
||||
case Paladin.STANCE:
|
||||
case Paladin.SWORD_HOLY_CHARGE:
|
||||
case Spearman.HYPER_BODY:
|
||||
case Spearman.IRON_WILL:
|
||||
case Spearman.POLEARM_BOOSTER:
|
||||
case Spearman.SPEAR_BOOSTER:
|
||||
case DragonKnight.DRAGON_BLOOD:
|
||||
case DragonKnight.POWER_CRASH:
|
||||
case DarkKnight.AURA_OF_BEHOLDER:
|
||||
case DarkKnight.BEHOLDER:
|
||||
case DarkKnight.HEROS_WILL:
|
||||
case DarkKnight.HEX_OF_BEHOLDER:
|
||||
case DarkKnight.MAPLE_WARRIOR:
|
||||
case DarkKnight.STANCE:
|
||||
case Magician.MAGIC_GUARD:
|
||||
case Magician.MAGIC_ARMOR:
|
||||
case FPWizard.MEDITATION:
|
||||
case FPWizard.SLOW:
|
||||
case FPMage.SEAL:
|
||||
case FPMage.SPELL_BOOSTER:
|
||||
case FPArchMage.HEROS_WILL:
|
||||
case FPArchMage.INFINITY:
|
||||
case FPArchMage.MANA_REFLECTION:
|
||||
case FPArchMage.MAPLE_WARRIOR:
|
||||
case ILWizard.MEDITATION:
|
||||
case ILMage.SEAL:
|
||||
case ILWizard.SLOW:
|
||||
case ILMage.SPELL_BOOSTER:
|
||||
case ILArchMage.HEROS_WILL:
|
||||
case ILArchMage.INFINITY:
|
||||
case ILArchMage.MANA_REFLECTION:
|
||||
case ILArchMage.MAPLE_WARRIOR:
|
||||
case Cleric.INVINCIBLE:
|
||||
case Cleric.BLESS:
|
||||
case Priest.DISPEL:
|
||||
case Priest.DOOM:
|
||||
case Priest.HOLY_SYMBOL:
|
||||
case Priest.MYSTIC_DOOR:
|
||||
case Bishop.HEROS_WILL:
|
||||
case Bishop.HOLY_SHIELD:
|
||||
case Bishop.INFINITY:
|
||||
case Bishop.MANA_REFLECTION:
|
||||
case Bishop.MAPLE_WARRIOR:
|
||||
case Archer.FOCUS:
|
||||
case Hunter.BOW_BOOSTER:
|
||||
case Hunter.SOUL_ARROW:
|
||||
case Ranger.PUPPET:
|
||||
case Bowmaster.CONCENTRATE:
|
||||
case Bowmaster.HEROS_WILL:
|
||||
case Bowmaster.MAPLE_WARRIOR:
|
||||
case Bowmaster.SHARP_EYES:
|
||||
case Crossbowman.CROSSBOW_BOOSTER:
|
||||
case Crossbowman.SOUL_ARROW:
|
||||
case Sniper.PUPPET:
|
||||
case Marksman.BLIND:
|
||||
case Marksman.HEROS_WILL:
|
||||
case Marksman.MAPLE_WARRIOR:
|
||||
case Marksman.SHARP_EYES:
|
||||
case Rogue.DARK_SIGHT:
|
||||
case Assassin.CLAW_BOOSTER:
|
||||
case Assassin.HASTE:
|
||||
case Hermit.MESO_UP:
|
||||
case Hermit.SHADOW_PARTNER:
|
||||
case NightLord.HEROS_WILL:
|
||||
case NightLord.MAPLE_WARRIOR:
|
||||
case NightLord.NINJA_AMBUSH:
|
||||
case NightLord.SHADOW_STARS:
|
||||
case Bandit.DAGGER_BOOSTER:
|
||||
case Bandit.HASTE:
|
||||
case ChiefBandit.MESO_GUARD:
|
||||
case ChiefBandit.PICKPOCKET:
|
||||
case Shadower.HEROS_WILL:
|
||||
case Shadower.MAPLE_WARRIOR:
|
||||
case Shadower.NINJA_AMBUSH:
|
||||
case Pirate.DASH:
|
||||
case Marauder.TRANSFORMATION:
|
||||
case Buccaneer.SUPER_TRANSFORMATION:
|
||||
case Corsair.BATTLE_SHIP:
|
||||
case GM.HIDE:
|
||||
case SuperGM.HASTE:
|
||||
case SuperGM.HOLY_SYMBOL:
|
||||
case SuperGM.BLESS:
|
||||
case SuperGM.HIDE:
|
||||
case SuperGM.HYPER_BODY:
|
||||
case Noblesse.BLESSING_OF_THE_FAIRY:
|
||||
case Noblesse.ECHO_OF_HERO:
|
||||
case Noblesse.MONSTER_RIDER:
|
||||
case Noblesse.NIMBLE_FEET:
|
||||
case Noblesse.RECOVERY:
|
||||
case DawnWarrior.COMBO:
|
||||
case DawnWarrior.FINAL_ATTACK:
|
||||
case DawnWarrior.IRON_BODY:
|
||||
case DawnWarrior.RAGE:
|
||||
case DawnWarrior.SOUL:
|
||||
case DawnWarrior.SOUL_CHARGE:
|
||||
case DawnWarrior.SWORD_BOOSTER:
|
||||
case BlazeWizard.ELEMENTAL_RESET:
|
||||
case BlazeWizard.FLAME:
|
||||
case BlazeWizard.IFRIT:
|
||||
case BlazeWizard.MAGIC_ARMOR:
|
||||
case BlazeWizard.MAGIC_GUARD:
|
||||
case BlazeWizard.MEDITATION:
|
||||
case BlazeWizard.SEAL:
|
||||
case BlazeWizard.SLOW:
|
||||
case BlazeWizard.SPELL_BOOSTER:
|
||||
case WindArcher.BOW_BOOSTER:
|
||||
case WindArcher.EAGLE_EYE:
|
||||
case WindArcher.FINAL_ATTACK:
|
||||
case WindArcher.FOCUS:
|
||||
case WindArcher.PUPPET:
|
||||
case WindArcher.SOUL_ARROW:
|
||||
case WindArcher.STORM:
|
||||
case WindArcher.WIND_WALK:
|
||||
case NightWalker.CLAW_BOOSTER:
|
||||
case NightWalker.DARKNESS:
|
||||
case NightWalker.DARK_SIGHT:
|
||||
case NightWalker.HASTE:
|
||||
case NightWalker.SHADOW_PARTNER:
|
||||
case ThunderBreaker.DASH:
|
||||
case ThunderBreaker.ENERGY_CHARGE:
|
||||
case ThunderBreaker.ENERGY_DRAIN:
|
||||
case ThunderBreaker.KNUCKLER_BOOSTER:
|
||||
case ThunderBreaker.LIGHTNING:
|
||||
case ThunderBreaker.SPARK:
|
||||
case ThunderBreaker.LIGHTNING_CHARGE:
|
||||
case ThunderBreaker.SPEED_INFUSION:
|
||||
case ThunderBreaker.TRANSFORMATION:
|
||||
case Legend.BLESSING_OF_THE_FAIRY:
|
||||
case Legend.AGILE_BODY:
|
||||
case Legend.ECHO_OF_HERO:
|
||||
case Legend.RECOVERY:
|
||||
case Legend.MONSTER_RIDER:
|
||||
case Aran.MAPLE_WARRIOR:
|
||||
case Aran.HEROS_WILL:
|
||||
case Aran.POLEARM_BOOSTER:
|
||||
case Aran.COMBO_DRAIN:
|
||||
case Aran.SNOW_CHARGE:
|
||||
case Aran.BODY_PRESSURE:
|
||||
case Aran.SMART_KNOCKBACK:
|
||||
case Aran.COMBO_BARRIER:
|
||||
case Aran.COMBO_ABILITY:
|
||||
case Evan.BLESSING_OF_THE_FAIRY:
|
||||
case Evan.RECOVERY:
|
||||
case Evan.NIMBLE_FEET:
|
||||
case Evan.HEROS_WILL:
|
||||
case Evan.ECHO_OF_HERO:
|
||||
case Evan.MAGIC_BOOSTER:
|
||||
case Evan.MAGIC_GUARD:
|
||||
case Evan.ELEMENTAL_RESET:
|
||||
case Evan.MAPLE_WARRIOR:
|
||||
case Evan.MAGIC_RESISTANCE:
|
||||
case Evan.MAGIC_SHIELD:
|
||||
case Evan.SLOW:
|
||||
isBuff = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (MapleData level : data.getChildByPath("level")) {
|
||||
ret.effects.add(MapleStatEffect.loadSkillEffectFromData(level, id, isBuff));
|
||||
}
|
||||
ret.animationTime = 0;
|
||||
if (effect != null) {
|
||||
for (MapleData effectEntry : effect) {
|
||||
ret.animationTime += MapleDataTool.getIntConvert("delay", effectEntry, 0);
|
||||
|
||||
for (MapleData level : data.getChildByPath("level")) {
|
||||
ret.effects.add(MapleStatEffect.loadSkillEffectFromData(level, id, isBuff));
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
ret.animationTime = 0;
|
||||
if (effect != null) {
|
||||
for (MapleData effectEntry : effect) {
|
||||
ret.animationTime += MapleDataTool.getIntConvert("delay", effectEntry, 0);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static String getSkillName(int skillid) {
|
||||
|
||||
@@ -199,7 +199,6 @@ public class MapleInventory implements Iterable<Item> {
|
||||
inventory.put(slot, item);
|
||||
|
||||
if(MapleItemInformationProvider.getInstance().isRateCoupon(item.getItemId())) {
|
||||
System.out.println("reformulating");
|
||||
owner.revertCouponRates();
|
||||
owner.setCouponRates();
|
||||
}
|
||||
@@ -209,7 +208,6 @@ public class MapleInventory implements Iterable<Item> {
|
||||
Item item = inventory.remove(slot);
|
||||
|
||||
if(item != null && MapleItemInformationProvider.getInstance().isRateCoupon(item.getItemId())) {
|
||||
System.out.println("reformulating");
|
||||
owner.revertCouponRates();
|
||||
owner.setCouponRates();
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ import client.inventory.MapleInventoryType;
|
||||
import client.inventory.MaplePet;
|
||||
import client.inventory.PetDataFactory;
|
||||
import constants.GameConstants;
|
||||
import constants.ServerConstants;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import server.TimerManager;
|
||||
|
||||
@@ -278,5 +279,12 @@ public final class PlayerLoggedinHandler extends AbstractMaplePacketHandler {
|
||||
|
||||
mc.setHpDecreaseTask(hpDecreaseTask);
|
||||
}
|
||||
|
||||
player.dispelBuffCoupons();
|
||||
player.resetPlayerRates();
|
||||
|
||||
if(ServerConstants.USE_ADD_RATES_BY_LEVEL == true) player.setPlayerRates();
|
||||
player.setWorldRates();
|
||||
player.setCouponRates();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,29 +275,29 @@ public class MapleInventoryManipulator {
|
||||
}
|
||||
|
||||
public static void removeById(MapleClient c, MapleInventoryType type, int itemId, int quantity, boolean fromDrop, boolean consume) {
|
||||
int removeQuantity = quantity;
|
||||
MapleInventory inv = c.getPlayer().getInventory(type);
|
||||
int removeQuantity = quantity;
|
||||
MapleInventory inv = c.getPlayer().getInventory(type);
|
||||
int slotLimit = type == MapleInventoryType.EQUIPPED ? 128 : inv.getSlotLimit();
|
||||
|
||||
for (short i = 0; i <= slotLimit; i++) {
|
||||
Item item = inv.getItem((short) (type == MapleInventoryType.EQUIPPED ? -i : i));
|
||||
if (item != null) {
|
||||
if (item.getItemId() == itemId || item.getCashId() == itemId) {
|
||||
if (removeQuantity <= item.getQuantity()) {
|
||||
removeFromSlot(c, type, item.getPosition(), (short) removeQuantity, fromDrop, consume);
|
||||
removeQuantity = 0;
|
||||
break;
|
||||
} else {
|
||||
removeQuantity -= item.getQuantity();
|
||||
removeFromSlot(c, type, item.getPosition(), item.getQuantity(), fromDrop, consume);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (short i = 0; i <= slotLimit; i++) {
|
||||
Item item = inv.getItem((short) (type == MapleInventoryType.EQUIPPED ? -i : i));
|
||||
if (item != null) {
|
||||
if (item.getItemId() == itemId || item.getCashId() == itemId) {
|
||||
if (removeQuantity <= item.getQuantity()) {
|
||||
removeFromSlot(c, type, item.getPosition(), (short) removeQuantity, fromDrop, consume);
|
||||
removeQuantity = 0;
|
||||
break;
|
||||
} else {
|
||||
removeQuantity -= item.getQuantity();
|
||||
removeFromSlot(c, type, item.getPosition(), item.getQuantity(), fromDrop, consume);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (removeQuantity > 0) {
|
||||
throw new RuntimeException("[HACK] Not enough items available of Item:" + itemId + ", Quantity (After Quantity/Over Current Quantity): " + (quantity - removeQuantity) + "/" + quantity);
|
||||
}
|
||||
}
|
||||
if (removeQuantity > 0) {
|
||||
throw new RuntimeException("[HACK] Not enough items available of Item:" + itemId + ", Quantity (After Quantity/Over Current Quantity): " + (quantity - removeQuantity) + "/" + quantity);
|
||||
}
|
||||
}
|
||||
|
||||
public static void move(MapleClient c, MapleInventoryType type, short src, short dst) {
|
||||
if (src < 0 || dst < 0) {
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
<string name="6" value="SUN:18-20"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211004">
|
||||
<imgdir name="info">
|
||||
@@ -41,6 +45,10 @@
|
||||
<string name="4" value="FRI:07-11"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211005">
|
||||
<imgdir name="info">
|
||||
@@ -61,6 +69,10 @@
|
||||
<string name="4" value="FRI:10-14"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211006">
|
||||
<imgdir name="info">
|
||||
@@ -81,6 +93,10 @@
|
||||
<string name="4" value="FRI:13-17"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211007">
|
||||
<imgdir name="info">
|
||||
@@ -101,6 +117,10 @@
|
||||
<string name="4" value="FRI:16-20"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211008">
|
||||
<imgdir name="info">
|
||||
@@ -121,6 +141,10 @@
|
||||
<string name="4" value="FRI:19-23"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211009">
|
||||
<imgdir name="info">
|
||||
@@ -138,6 +162,10 @@
|
||||
<string name="1" value="SUN:07-11"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211010">
|
||||
<imgdir name="info">
|
||||
@@ -155,6 +183,10 @@
|
||||
<string name="1" value="SUN:10-14"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211011">
|
||||
<imgdir name="info">
|
||||
@@ -172,6 +204,10 @@
|
||||
<string name="1" value="SUN:13-17"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211012">
|
||||
<imgdir name="info">
|
||||
@@ -189,6 +225,10 @@
|
||||
<string name="1" value="SUN:16-20"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211013">
|
||||
<imgdir name="info">
|
||||
@@ -206,6 +246,10 @@
|
||||
<string name="1" value="SUN:19-23"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211014">
|
||||
<imgdir name="info">
|
||||
@@ -228,6 +272,10 @@
|
||||
<string name="6" value="SUN:07-11"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211015">
|
||||
<imgdir name="info">
|
||||
@@ -250,6 +298,10 @@
|
||||
<string name="6" value="SUN:10-14"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211016">
|
||||
<imgdir name="info">
|
||||
@@ -272,6 +324,10 @@
|
||||
<string name="6" value="SUN:13-17"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211017">
|
||||
<imgdir name="info">
|
||||
@@ -294,6 +350,10 @@
|
||||
<string name="6" value="SUN:16-20"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211018">
|
||||
<imgdir name="info">
|
||||
@@ -316,6 +376,10 @@
|
||||
<string name="6" value="SUN:19-23"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211037">
|
||||
<imgdir name="info">
|
||||
@@ -336,6 +400,10 @@
|
||||
<string name="4" value="FRI:00-04"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211038">
|
||||
<imgdir name="info">
|
||||
@@ -353,6 +421,10 @@
|
||||
<string name="1" value="SUN:00-04"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211039">
|
||||
<imgdir name="info">
|
||||
@@ -375,6 +447,10 @@
|
||||
<string name="6" value="SUN:00-04"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211040">
|
||||
<imgdir name="info">
|
||||
@@ -395,6 +471,10 @@
|
||||
<string name="4" value="FRI:03-07"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211041">
|
||||
<imgdir name="info">
|
||||
@@ -412,6 +492,10 @@
|
||||
<string name="1" value="SUN:03-07"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211042">
|
||||
<imgdir name="info">
|
||||
@@ -434,6 +518,10 @@
|
||||
<string name="6" value="SUN:03-07"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211043">
|
||||
<imgdir name="info">
|
||||
@@ -454,6 +542,10 @@
|
||||
<string name="4" value="FRI:06-10"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211044">
|
||||
<imgdir name="info">
|
||||
@@ -471,6 +563,10 @@
|
||||
<string name="1" value="SUN:06-10"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211045">
|
||||
<imgdir name="info">
|
||||
@@ -493,6 +589,10 @@
|
||||
<string name="6" value="SUN:06-10"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211046">
|
||||
<imgdir name="info">
|
||||
@@ -515,6 +615,10 @@
|
||||
<string name="6" value="SUN:00-24"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211048">
|
||||
<imgdir name="info">
|
||||
@@ -537,6 +641,10 @@
|
||||
<string name="6" value="SUN:00-24"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211049">
|
||||
<imgdir name="info">
|
||||
@@ -559,6 +667,10 @@
|
||||
<string name="6" value="SUN:00-24"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211052">
|
||||
<imgdir name="info">
|
||||
@@ -582,6 +694,10 @@
|
||||
<string name="7" value="HOL:00-24"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05211060">
|
||||
<imgdir name="info">
|
||||
@@ -605,5 +721,9 @@
|
||||
<string name="7" value="HOL:00-24"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
<string name="6" value="SUN:00-24"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360001">
|
||||
<imgdir name="info">
|
||||
@@ -43,6 +47,10 @@
|
||||
<string name="6" value="SUN:07-11"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360002">
|
||||
<imgdir name="info">
|
||||
@@ -65,6 +73,10 @@
|
||||
<string name="6" value="SUN:10-14"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360003">
|
||||
<imgdir name="info">
|
||||
@@ -87,6 +99,10 @@
|
||||
<string name="6" value="SUN:13-17"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360004">
|
||||
<imgdir name="info">
|
||||
@@ -109,6 +125,10 @@
|
||||
<string name="6" value="SUN:16-20"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360005">
|
||||
<imgdir name="info">
|
||||
@@ -131,6 +151,10 @@
|
||||
<string name="6" value="SUN:19-23"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360006">
|
||||
<imgdir name="info">
|
||||
@@ -153,6 +177,10 @@
|
||||
<string name="6" value="SUN:00-04"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360007">
|
||||
<imgdir name="info">
|
||||
@@ -175,6 +203,10 @@
|
||||
<string name="6" value="SUN:03-07"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360008">
|
||||
<imgdir name="info">
|
||||
@@ -197,6 +229,10 @@
|
||||
<string name="6" value="SUN:06-10"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="05360042">
|
||||
<imgdir name="info">
|
||||
@@ -219,5 +255,9 @@
|
||||
<string name="6" value="SUN:00-24"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="spec">
|
||||
<int name="pad" value="5"/>
|
||||
<int name="time" value="2100000"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
|
||||
Reference in New Issue
Block a user