浏览代码

Fixed Leech End damage underflow (fixes #1419)
* Resolves an underflow issue resulting in INT_MAX damage.

aleos89 8 年之前
父节点
当前提交
82250c24dd
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/map/status.c

+ 1 - 1
src/map/status.c

@@ -12137,7 +12137,7 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
 
 
 	case SC_LEECHESEND:
 	case SC_LEECHESEND:
 		if (sce->val4 >= 0) {
 		if (sce->val4 >= 0) {
-			int64 damage = status->vit * (sce->val1 - 3) + status->max_hp / 100; // {Target VIT x (New Poison Research Skill Level - 3)} + (Target HP/100)
+			int64 damage = status->vit * (sce->val1 - 3) + (int)status->max_hp / 100; // {Target VIT x (New Poison Research Skill Level - 3)} + (Target HP/100)
 			map_freeblock_lock();
 			map_freeblock_lock();
 			dounlock = true;
 			dounlock = true;
 			status_fix_damage(bl, bl, damage, clif_damage(bl, bl, tick, status->amotion, status->dmotion + 500, damage, 1, DMG_NORMAL, 0, false));
 			status_fix_damage(bl, bl, damage, clif_damage(bl, bl, tick, status->amotion, status->dmotion + 500, damage, 1, DMG_NORMAL, 0, false));