MobDamageMobHandler.java
上传用户:gwt600
上传日期:2021-06-03
资源大小:704k
文件大小:1k
源码类别:

游戏

开发平台:

Java

  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package net.sf.odinms.net.channel.handler;
  6. import net.sf.odinms.client.MapleClient;
  7. import net.sf.odinms.net.AbstractMaplePacketHandler;
  8. import net.sf.odinms.server.life.MapleMonster;
  9. import net.sf.odinms.tools.MaplePacketCreator;
  10. import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
  11. /**
  12.  *
  13.  * @author XoticMS
  14.  */
  15. public class MobDamageMobHandler extends AbstractMaplePacketHandler {
  16.     @Override
  17.     public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
  18.         // Balrog attacking tylus - [A3 00] [9D 54 AF 00] [0D 46 23 00] [0E 54 AF 00]
  19.         int attackerOid = slea.readInt();
  20.         int cid = slea.readInt();
  21.         int damagedOid = slea.readInt();
  22.         MapleMonster damaged = c.getPlayer().getMap().getMonsterByOid(damagedOid);
  23.         MapleMonster attacker = c.getPlayer().getMap().getMonsterByOid(attackerOid);
  24.         if (damaged == null || attacker == null) {
  25.             return; // Hax.
  26.         }
  27.         int damage = (int) (Math.random() * (damaged.getMaxHp() / 13 + attacker.getPADamage() * 10)) * 2 + 500;  // TODO. Make a formula for damage LOL T____T
  28.         c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.MobDamageMob(damaged, damage), damaged.getPosition());
  29.     }
  30. }