浏览代码

Fixes Wall of Thorn knockback (#4685)

* Fixes #4645.
* The knockback should be based on self and not the caster of the skill.
Thanks to @devLOOLP!
Aleos 5 年之前
父节点
当前提交
6edcf4a3a1
共有 3 个文件被更改,包括 3 次插入4 次删除
  1. 1 1
      db/pre-re/skill_db.yml
  2. 1 1
      db/re/skill_db.yml
  3. 1 2
      src/map/skill.cpp

+ 1 - 1
db/pre-re/skill_db.yml

@@ -26897,7 +26897,7 @@ Body:
     Hit: Single
     HitCount: 1
     ActiveInstance: 1
-    Knockback: 2
+    Knockback: 1
     CopyFlags:
       Skill:
         Reproduce: true

+ 1 - 1
db/re/skill_db.yml

@@ -27962,7 +27962,7 @@ Body:
     Hit: Single
     HitCount: 1
     ActiveInstance: 1
-    Knockback: 2
+    Knockback: 1
     CopyFlags:
       Skill:
         Reproduce: true

+ 1 - 2
src/map/skill.cpp

@@ -3211,7 +3211,6 @@ void skill_attack_blow(struct block_list *src, struct block_list *dsrc, struct b
 	// Skill specific direction
 	switch (skill_id) {
 		case MG_FIREWALL:
-		case GN_WALLOFTHORN:
 		case EL_FIRE_MANTLE:
 			dir = unit_getdir(target); // Backwards
 			break;
@@ -14803,7 +14802,7 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, t_t
 				break;
 			if (status_bl_has_mode(bl,MD_STATUS_IMMUNE))
 				break; // This skill doesn't affect to Boss monsters. [iRO Wiki]
-			skill_blown(&unit->bl, bl, skill_get_blewcount(sg->skill_id, sg->skill_lv), -1, BLOWN_NONE);
+			skill_blown(&unit->bl, bl, skill_get_blewcount(sg->skill_id, sg->skill_lv), unit_getdir(bl), BLOWN_IGNORE_NO_KNOCKBACK);
 			skill_addtimerskill(ss, tick + 100, bl->id, unit->bl.x, unit->bl.y, sg->skill_id, sg->skill_lv, skill_get_type(sg->skill_id), 4|SD_LEVEL);
 			break;