Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16b0a36c86 | ||
|
|
313f48d4ce | ||
|
|
db82cbcfae | ||
|
|
eed47a9064 |
@@ -689,9 +689,10 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
|
|||||||
calcDmgMax = chr.calculateMaxBaseDamage(chr.getTotalWatk());
|
calcDmgMax = chr.calculateMaxBaseDamage(chr.getTotalWatk());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
StatEffect effect = null;
|
||||||
if (ret.skill != 0) {
|
if (ret.skill != 0) {
|
||||||
Skill skill = SkillFactory.getSkill(ret.skill);
|
Skill skill = SkillFactory.getSkill(ret.skill);
|
||||||
StatEffect effect = skill.getEffect(ret.skilllevel);
|
effect = skill.getEffect(ret.skilllevel);
|
||||||
|
|
||||||
if (magic) {
|
if (magic) {
|
||||||
// Since the skill is magic based, use the magic formula
|
// Since the skill is magic based, use the magic formula
|
||||||
@@ -930,6 +931,16 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
|
|||||||
damage = -Integer.MAX_VALUE + damage - 1;
|
damage = -Integer.MAX_VALUE + damage - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(effect != null) {
|
||||||
|
int maxattack = Math.max(effect.getBulletCount(), effect.getAttackCount());
|
||||||
|
if (shadowPartner) {
|
||||||
|
maxattack = maxattack * 2;
|
||||||
|
}
|
||||||
|
if (ret.numDamage > maxattack) {
|
||||||
|
AutobanFactory.DAMAGE_HACK.addPoint(chr.getAutobanManager(), "Too many lines: " + ret.numDamage + " Max lines: " + maxattack + " SID: " + ret.skill + " MobID: " + (monster != null ? monster.getId() : "null") + " Map: " + chr.getMap().getMapName() + " (" + chr.getMapId() + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
allDamageNumbers.add(damage);
|
allDamageNumbers.add(damage);
|
||||||
}
|
}
|
||||||
if (ret.skill != Corsair.RAPID_FIRE || ret.skill != Aran.HIDDEN_FULL_DOUBLE || ret.skill != Aran.HIDDEN_FULL_TRIPLE || ret.skill != Aran.HIDDEN_OVER_DOUBLE || ret.skill != Aran.HIDDEN_OVER_TRIPLE) {
|
if (ret.skill != Corsair.RAPID_FIRE || ret.skill != Aran.HIDDEN_FULL_DOUBLE || ret.skill != Aran.HIDDEN_FULL_TRIPLE || ret.skill != Aran.HIDDEN_OVER_DOUBLE || ret.skill != Aran.HIDDEN_OVER_TRIPLE) {
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ public class CashShopSurpriseHandler extends AbstractPacketHandler {
|
|||||||
if (cssResult != null) {
|
if (cssResult != null) {
|
||||||
Item cssItem = cssResult.getLeft(), cssBox = cssResult.getRight();
|
Item cssItem = cssResult.getLeft(), cssBox = cssResult.getRight();
|
||||||
c.sendPacket(PacketCreator.onCashGachaponOpenSuccess(c.getAccID(), cssBox.getSN(), cssBox.getQuantity(), cssItem, cssItem.getItemId(), cssItem.getQuantity(), true));
|
c.sendPacket(PacketCreator.onCashGachaponOpenSuccess(c.getAccID(), cssBox.getSN(), cssBox.getQuantity(), cssItem, cssItem.getItemId(), cssItem.getQuantity(), true));
|
||||||
|
c.sendPacket(PacketCreator.showCashInventory(c));
|
||||||
} else {
|
} else {
|
||||||
c.sendPacket(PacketCreator.onCashItemGachaponOpenFailed());
|
c.sendPacket(PacketCreator.onCashItemGachaponOpenFailed());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import provider.DataProviderFactory;
|
|||||||
import provider.DataTool;
|
import provider.DataTool;
|
||||||
import provider.wz.WZFiles;
|
import provider.wz.WZFiles;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
|
import tools.PacketCreator;
|
||||||
import tools.Pair;
|
import tools.Pair;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
@@ -407,6 +408,17 @@ public class CashShop {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getItemsSize() {
|
||||||
|
int size = 0;
|
||||||
|
lock.lock();
|
||||||
|
try {
|
||||||
|
size = inventory.size();
|
||||||
|
} finally {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
public List<Integer> getWishList() {
|
public List<Integer> getWishList() {
|
||||||
return wishList;
|
return wishList;
|
||||||
}
|
}
|
||||||
@@ -544,14 +556,14 @@ public class CashShop {
|
|||||||
Item css = getCashShopItemByItemid(ItemId.CASH_SHOP_SURPRISE);
|
Item css = getCashShopItemByItemid(ItemId.CASH_SHOP_SURPRISE);
|
||||||
|
|
||||||
if (css != null) {
|
if (css != null) {
|
||||||
|
if (getItemsSize() >= 100) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
CashItem cItem = CashItemFactory.getRandomCashItem();
|
CashItem cItem = CashItemFactory.getRandomCashItem();
|
||||||
|
|
||||||
if (cItem != null) {
|
if (cItem != null) {
|
||||||
if (css.getQuantity() > 1) {
|
if (css.getQuantity() > 1) {
|
||||||
/* if(NOT ENOUGH SPACE) { looks like we're not dealing with cash inventory limit whatsoever, k then
|
|
||||||
return null;
|
|
||||||
} */
|
|
||||||
|
|
||||||
css.setQuantity((short) (css.getQuantity() - 1));
|
css.setQuantity((short) (css.getQuantity() - 1));
|
||||||
} else {
|
} else {
|
||||||
removeFromInventory(css);
|
removeFromInventory(css);
|
||||||
|
|||||||
Reference in New Issue
Block a user