瀏覽代碼

Job Improvement Project - Rebellion (#4428)

* Fixes #4426.
* kRO Changelog: http://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7081
Thanks to @Tokeiburu, @OptimusM, @admkakaroto,@cahya1992, @Tolimatoi, and @Badarosk0!
Aleos 5 年之前
父節點
當前提交
312df0f10c
共有 6 個文件被更改,包括 219 次插入159 次删除
  1. 3 3
      db/re/item_db.txt
  2. 158 83
      db/re/skill_db.yml
  3. 10 10
      db/re/skill_tree.txt
  4. 23 11
      src/map/battle.cpp
  5. 25 51
      src/map/skill.cpp
  6. 0 1
      src/map/status.cpp

+ 3 - 3
db/re/item_db.txt

@@ -5645,9 +5645,9 @@
 7648,Snake_Bookmark,Snake Bookmark,3,20,,10,,,,,,,,,,,,,{},{},{}
 7649,Big_Luk_Bookmark,Big Luk Bookmark,3,20,,10,,,,,,,,,,,,,{},{},{}
 7651,Mystery_Egg,Mystery Egg,3,10,,10,,,,,,,,,,,,,{},{},{}
-7663,Full_Metal_Jacket,Full Metal Jacket,10,200,,2,10,,,,0x41000000,63,2,32768,,1,,3,{},{},{}
-7664,Mine_Projectile,Grenade Launcher,10,450,,3,10,,,,0x41000000,63,2,32768,,1,,5,{},{},{}
-7665,Dragon_Tail_Missile,Dragon Tail Missile,10,1500,,100,10,,,,0x41000000,63,2,32768,,1,,5,{},{},{}
+7663,Full_Metal_Jacket,Full Metal Jacket,3,200,,2,10,,,,,,,,,,,,{},{},{}
+7664,Shooting_Mine,Grenade Launcher,3,450,,3,10,,,,,,,,,,,,{},{},{}
+7665,Dragon_Tail_Missile,Dragon Tail Missile,3,1500,,100,10,,,,,,,,,,,,{},{},{}
 7666,TimeTravel_Scroll,Time Travel Scroll,3,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
 7667,Abandoned_Machine,Abandoned Machine,3,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
 7668,Clean_Bandage,Clean Bandage,3,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}

+ 158 - 83
db/re/skill_db.yml

@@ -28491,7 +28491,7 @@ Body:
     MaxLevel: 5
     Type: Weapon
     TargetType: Attack
-    Range: -9
+    Range: -15
     Hit: Single
     HitCount: 1
     Element: Weapon
@@ -28523,7 +28523,7 @@ Body:
   - Id: 2554
     Name: RL_BANISHING_BUSTER
     Description: Banishing Buster
-    MaxLevel: 5
+    MaxLevel: 10
     Type: Weapon
     TargetType: Attack
     Flags:
@@ -28533,31 +28533,32 @@ Body:
     Hit: Single
     HitCount: 1
     Element: Weapon
-    CastTime:
-      - Level: 1
-        Time: 3000
-      - Level: 2
-        Time: 2500
-      - Level: 3
-        Time: 2000
-      - Level: 4
-        Time: 1500
-      - Level: 5
-        Time: 1000
-    Cooldown: 2000
-    FixedCastTime: 1000
+    CastTime: 1000
+    AfterCastActDelay: 400
+    Cooldown: 1000
+    FixedCastTime: 1600
     Requires:
       SpCost:
         - Level: 1
           Amount: 55
         - Level: 2
-          Amount: 60
+          Amount: 57
         - Level: 3
-          Amount: 65
+          Amount: 59
         - Level: 4
-          Amount: 70
+          Amount: 61
         - Level: 5
-          Amount: 75
+          Amount: 63
+        - Level: 6
+          Amount: 65
+        - Level: 7
+          Amount: 67
+        - Level: 8
+          Amount: 69
+        - Level: 9
+          Amount: 71
+        - Level: 10
+          Amount: 73
       Weapon:
         Shotgun: true
       Ammo:
@@ -28806,7 +28807,7 @@ Body:
     TargetType: Attack
     DamageFlags:
       NoDamage: true
-    Range: -9
+    Range: -11
     Hit: Single
     HitCount: 1
     ActiveInstance: 3
@@ -28825,12 +28826,11 @@ Body:
   - Id: 2561
     Name: RL_FIREDANCE
     Description: Fire Dance
-    MaxLevel: 5
+    MaxLevel: 10
     Type: Weapon
     TargetType: Self
     DamageFlags:
       Splash: true
-    Range: 5
     Hit: Single
     HitCount: 1
     Element: Weapon
@@ -28840,27 +28840,47 @@ Body:
     Requires:
       SpCost:
         - Level: 1
-          Amount: 12
+          Amount: 13
         - Level: 2
-          Amount: 14
-        - Level: 3
           Amount: 16
+        - Level: 3
+          Amount: 19
         - Level: 4
-          Amount: 18
+          Amount: 22
         - Level: 5
-          Amount: 20
+          Amount: 25
+        - Level: 6
+          Amount: 28
+        - Level: 7
+          Amount: 31
+        - Level: 8
+          Amount: 34
+        - Level: 9
+          Amount: 37
+        - Level: 10
+          Amount: 40
       Weapon:
         Revolver: true
       Ammo:
         Bullet: true
-      AmmoAmount: 5
+      AmmoAmount: 10
   - Id: 2562
     Name: RL_H_MINE
     Description: Howling Mine
     MaxLevel: 5
     Type: Weapon
     TargetType: Attack
-    Range: -9
+    Range:
+      - Level: 1
+        Size: -7
+      - Level: 2
+        Size: -8
+      - Level: 3
+        Size: -9
+      - Level: 4
+        Size: -10
+      - Level: 5
+        Size: -11
     Hit: Single
     HitCount: 1
     Element: Weapon
@@ -28896,7 +28916,7 @@ Body:
       Weapon:
         Grenade: true
       ItemCost:
-        - Item: Mine_Projectile
+        - Item: Shooting_Mine
           Amount: 1
   - Id: 2563
     Name: RL_P_ALTER
@@ -28960,12 +28980,11 @@ Body:
   - Id: 2565
     Name: RL_R_TRIP
     Description: Round Trip
-    MaxLevel: 5
+    MaxLevel: 10
     Type: Weapon
     TargetType: Self
     DamageFlags:
       Splash: true
-    Range: 5
     Hit: Single
     HitCount: 1
     Element: Weapon
@@ -28975,37 +28994,67 @@ Body:
       - Level: 2
         Area: 3
       - Level: 3
-        Area: 4
+        Area: 3
       - Level: 4
-        Area: 5
+        Area: 4
       - Level: 5
+        Area: 4
+      - Level: 6
+        Area: 4
+      - Level: 7
+        Area: 5
+      - Level: 8
+        Area: 5
+      - Level: 9
+        Area: 5
+      - Level: 10
         Area: 6
     Knockback: 3
     AfterCastActDelay: 1000
     Cooldown:
       - Level: 1
-        Time: 3000
+        Time: 2800
       - Level: 2
-        Time: 2500
+        Time: 2600
       - Level: 3
-        Time: 2000
+        Time: 2400
       - Level: 4
-        Time: 1500
+        Time: 2200
       - Level: 5
+        Time: 2000
+      - Level: 6
+        Time: 1800
+      - Level: 7
+        Time: 1600
+      - Level: 8
+        Time: 1400
+      - Level: 9
+        Time: 1200
+      - Level: 10
         Time: 1000
     FixedCastTime: -1
     Requires:
       SpCost:
         - Level: 1
-          Amount: 40
+          Amount: 43
         - Level: 2
-          Amount: 45
+          Amount: 46
         - Level: 3
-          Amount: 50
+          Amount: 49
         - Level: 4
-          Amount: 55
+          Amount: 52
         - Level: 5
-          Amount: 60
+          Amount: 55
+        - Level: 6
+          Amount: 58
+        - Level: 7
+          Amount: 61
+        - Level: 8
+          Amount: 64
+        - Level: 9
+          Amount: 67
+        - Level: 10
+          Amount: 70
       Weapon:
         Gatling: true
       Ammo:
@@ -29014,16 +29063,16 @@ Body:
   - Id: 2566
     Name: RL_D_TAIL
     Description: Dragon Tail
-    MaxLevel: 5
+    MaxLevel: 10
     Type: Weapon
-    TargetType: Self
+    TargetType: Attack
     DamageFlags:
       IgnoreElement: true
       IgnoreDefense: true
-    Range: 5
+    Range: 11
     Hit: Single
     HitCount: 1
-    SplashArea: -1
+    SplashArea: 1
     CastTime:
       - Level: 1
         Time: 1200
@@ -29035,26 +29084,43 @@ Body:
         Time: 1800
       - Level: 5
         Time: 2000
-    AfterCastActDelay: 2000
-    Cooldown: 5000
+      - Level: 6
+        Time: 2200
+      - Level: 7
+        Time: 2400
+      - Level: 8
+        Time: 2600
+      - Level: 9
+        Time: 2800
+      - Level: 10
+        Time: 3000
+    AfterCastActDelay: 1000
+    Cooldown: 3500
     FixedCastTime: -1
     Requires:
       SpCost:
         - Level: 1
-          Amount: 60
+          Amount: 55
         - Level: 2
-          Amount: 70
+          Amount: 60
         - Level: 3
-          Amount: 80
+          Amount: 65
         - Level: 4
-          Amount: 90
+          Amount: 70
         - Level: 5
+          Amount: 75
+        - Level: 6
+          Amount: 80
+        - Level: 7
+          Amount: 85
+        - Level: 8
+          Amount: 90
+        - Level: 9
+          Amount: 95
+        - Level: 10
           Amount: 100
       Weapon:
         Grenade: true
-      Ammo:
-        Grenade: true
-      AmmoAmount: 1
       ItemCost:
         - Item: Dragon_Tail_Missile
           Amount: 1
@@ -29066,7 +29132,7 @@ Body:
     TargetType: Ground
     DamageFlags:
       Splash: true
-    Range: 2
+    Range: 3
     Hit: Single
     HitCount: 1
     Element: Weapon
@@ -29124,7 +29190,7 @@ Body:
     MaxLevel: 5
     Type: Weapon
     TargetType: Attack
-    Range: -9
+    Range: -15
     Hit: Single
     HitCount: 1
     Element: Weapon
@@ -29202,50 +29268,59 @@ Body:
   - Id: 2571
     Name: RL_HAMMER_OF_GOD
     Description: Hammer of God
-    MaxLevel: 5
+    MaxLevel: 10
     Type: Weapon
     TargetType: Attack
     DamageFlags:
       Splash: true
-    Range:
-      - Level: 1
-        Size: 7
-      - Level: 2
-        Size: 8
-      - Level: 3
-        Size: 9
-      - Level: 4
-        Size: 10
-      - Level: 5
-        Size: 11
+    Range: 11
     Hit: Single
     HitCount: 1
-    SplashArea: 2
-    AfterCastActDelay: 2000
-    Duration2:
+    SplashArea:
       - Level: 1
-        Time: 3000
+        Area: 2
       - Level: 2
-        Time: 3000
+        Area: 2
       - Level: 3
-        Time: 4000
+        Area: 2
       - Level: 4
-        Time: 4000
+        Area: 2
       - Level: 5
-        Time: 5000
-    Cooldown: 30000
+        Area: 2
+      - Level: 6
+        Area: 3
+      - Level: 7
+        Area: 3
+      - Level: 8
+        Area: 3
+      - Level: 9
+        Area: 3
+      - Level: 10
+        Area: 3
+    AfterCastActDelay: 500
+    Cooldown: 20000
     FixedCastTime: -1
     Requires:
       SpCost:
         - Level: 1
-          Amount: 35
+          Amount: 37
         - Level: 2
-          Amount: 40
+          Amount: 39
         - Level: 3
-          Amount: 45
+          Amount: 41
         - Level: 4
-          Amount: 50
+          Amount: 43
         - Level: 5
+          Amount: 45
+        - Level: 6
+          Amount: 47
+        - Level: 7
+          Amount: 49
+        - Level: 8
+          Amount: 51
+        - Level: 9
+          Amount: 53
+        - Level: 10
           Amount: 55
       Weapon:
         Rifle: true

+ 10 - 10
db/re/skill_tree.txt

@@ -5692,24 +5692,24 @@
 4215,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
 4215,2552,1,500,5,0,0,0,0,0,0,0,0 //RL_RICHS_COIN#Rich's Coin#
 4215,2553,5,514,1,0,0,0,0,0,0,0,0 //RL_MASS_SPIRAL#Mass Spiral#
-4215,2554,5,2557,1,0,0,0,0,0,0,0,0 //RL_BANISHING_BUSTER#Banishing Buster#
+4215,2554,10,2557,1,0,0,0,0,0,0,0,0 //RL_BANISHING_BUSTER#Banishing Buster#
 4215,2555,5,2556,1,0,0,0,0,0,0,0,0 //RL_B_TRAP#Bind Trap#
 4215,2556,1,500,1,0,0,0,0,0,0,0,0 //RL_FLICKER#Flicker#
 4215,2557,5,513,1,518,1,0,0,0,0,0,0 //RL_S_STORM#Shatter Storm#
 4215,2558,10,500,1,511,10,0,0,0,0,0,0 //RL_E_CHAIN#Eternal Chain#
 4215,2559,1,511,1,0,0,0,0,0,0,0,0 //RL_QD_SHOT#Quick Draw Shot#
 4215,2560,1,500,1,0,0,0,0,0,0,0,0 //RL_C_MARKER#Crimson Marker#
-4215,2561,5,516,1,0,0,0,0,0,0,0,0 //RL_FIREDANCE#Fire Dance#
+4215,2561,10,516,1,0,0,0,0,0,0,0,0 //RL_FIREDANCE#Fire Dance#
 4215,2562,5,521,1,0,0,0,0,0,0,0,0 //RL_H_MINE#Howling Mine#
 4215,2563,5,2552,1,0,0,0,0,0,0,0,0 //RL_P_ALTER#Platinum Alter#
 4215,2564,1,516,10,0,0,0,0,0,0,0,0 //RL_FALLEN_ANGEL#Fallen Angel#
-4215,2565,5,2567,1,0,0,0,0,0,0,0,0 //RL_R_TRIP#Round Trip#
-4215,2566,5,2560,1,2562,3,0,0,0,0,0,0 //RL_D_TAIL#Dragon Tail#
+4215,2565,10,2567,1,0,0,0,0,0,0,0,0 //RL_R_TRIP#Round Trip#
+4215,2566,10,2560,1,2562,3,0,0,0,0,0,0 //RL_D_TAIL#Dragon Tail#
 4215,2567,5,517,1,0,0,0,0,0,0,0,0 //RL_FIRE_RAIN#Fire Rain#
 4215,2568,5,2552,1,0,0,0,0,0,0,0,0 //RL_HEAT_BARREL#Heat Barrel#
 4215,2569,5,2553,1,0,0,0,0,0,0,0,0 //RL_AM_BLAST#Anti-Material Blast#
 4215,2570,5,2554,3,0,0,0,0,0,0,0,0 //RL_SLUGSHOT#Slug Shot#
-4215,2571,5,2552,1,2569,3,0,0,0,0,0,0 //RL_HAMMER_OF_GOD#Hammer of God#
+4215,2571,10,2552,1,2569,3,0,0,0,0,0,0 //RL_HAMMER_OF_GOD#Hammer of God#
 //Summoner
 4218,5018,1,0,0,0,0,0,0,0,0,0,0 //SU_BASIC_SKILL##
 4218,5019,1,5018,1,0,0,0,0,0,0,0,0 //SU_BITE##
@@ -6094,24 +6094,24 @@
 4229,409,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLPARENT#Call Parent#
 4229,2552,1,500,5,0,0,0,0,0,0,0,0 //RL_RICHS_COIN#Rich's Coin#
 4229,2553,5,514,1,0,0,0,0,0,0,0,0 //RL_MASS_SPIRAL#Mass Spiral#
-4229,2554,5,2557,1,0,0,0,0,0,0,0,0 //RL_BANISHING_BUSTER#Banishing Buster#
+4229,2554,10,2557,1,0,0,0,0,0,0,0,0 //RL_BANISHING_BUSTER#Banishing Buster#
 4229,2555,5,0,0,0,0,0,0,0,0,0,0 //RL_B_TRAP#Bind Trap#
 4229,2556,1,501,1,0,0,0,0,0,0,0,0 //RL_FLICKER#Flicker#
 4229,2557,5,513,1,518,1,0,0,0,0,0,0 //RL_S_STORM#Shatter Storm#
 4229,2558,10,511,10,0,0,0,0,0,0,0,0 //RL_E_CHAIN#Eternal Chain#
 4229,2559,1,2558,1,0,0,0,0,0,0,0,0 //RL_QD_SHOT#Quick Draw Shot#
 4229,2560,1,506,1,0,0,0,0,0,0,0,0 //RL_C_MARKER#Crimson Marker#
-4229,2561,5,2564,1,0,0,0,0,0,0,0,0 //RL_FIREDANCE#Fire Dance#
+4229,2561,10,2564,1,0,0,0,0,0,0,0,0 //RL_FIREDANCE#Fire Dance#
 4229,2562,5,520,1,0,0,0,0,0,0,0,0 //RL_H_MINE#Howling Mine#
 4229,2563,5,0,0,0,0,0,0,0,0,0,0 //RL_P_ALTER#Platinum Alter#
 4229,2564,5,516,10,0,0,0,0,0,0,0,0 //RL_FALLEN_ANGEL#Fallen Angel#
-4229,2565,5,2567,1,0,0,0,0,0,0,0,0 //RL_R_TRIP#Round Trip#
-4229,2566,5,2560,1,2562,3,0,0,0,0,0,0 //RL_D_TAIL#Dragon Tail#
+4229,2565,10,2567,1,0,0,0,0,0,0,0,0 //RL_R_TRIP#Round Trip#
+4229,2566,10,2560,1,2562,3,0,0,0,0,0,0 //RL_D_TAIL#Dragon Tail#
 4229,2567,5,517,1,0,0,0,0,0,0,0,0 //RL_FIRE_RAIN#Fire Rain#
 4229,2568,5,2561,2,0,0,0,0,0,0,0,0 //RL_HEAT_BARREL#Heat Barrel#
 4229,2569,5,2553,1,0,0,0,0,0,0,0,0 //RL_AM_BLAST#Anti-Material Blast#
 4229,2570,5,2554,3,0,0,0,0,0,0,0,0 //RL_SLUGSHOT#Slug Shot#
-4229,2571,5,2569,3,0,0,0,0,0,0,0,0 //RL_HAMMER_OF_GOD#Hammer of God#
+4229,2571,10,2569,3,0,0,0,0,0,0,0,0 //RL_HAMMER_OF_GOD#Hammer of God#
 4229,5065,1,0,0,0,0,0,0,0,0,0,0 //WE_CHEERUP#Cheer Up#
 //Baby Star Gladiator (Union)
 4238,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#

+ 23 - 11
src/map/battle.cpp

@@ -4517,11 +4517,13 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 			skillratio += -100 + 200 * skill_lv;
 			break;
 		case RL_FIREDANCE:
-			skillratio += -100 + 200 * skill_lv;
-			skillratio += (sd ? pc_checkskill(sd, GS_DESPERADO) * 50 : 0);
+			skillratio += 100 + 100 * skill_lv;
+			skillratio += (sd ? pc_checkskill(sd, GS_DESPERADO) * 20 : 0);
+			RE_LVL_DMOD(100);
 			break;
 		case RL_BANISHING_BUSTER:
-			skillratio += -100 + 2000 + 300 * skill_lv;
+			skillratio += -100 + 1000 + 200 * skill_lv;
+			RE_LVL_DMOD(100);
 			break;
 		case RL_S_STORM:
 			skillratio += -100 + 1700 + 200 * skill_lv;
@@ -4534,10 +4536,14 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 			skillratio *= 2 + tstatus->size;
 			break;
 		case RL_D_TAIL:
-			skillratio += -100 + 4000 + 1000 * skill_lv;
+			skillratio += -100 + 500 + 200 * skill_lv;
+			if (sd && (wd->miscflag & 8))
+				skillratio *= 2;
+			RE_LVL_DMOD(100);
 			break;
 		case RL_R_TRIP:
-			skillratio += -100 + 1000 + 300 * skill_lv;
+			skillratio += -100 + 350 * skill_lv;
+			RE_LVL_DMOD(100);
 			break;
 		case RL_R_TRIP_PLUSATK:
 			skillratio += -100 + 300 + 300 * skill_lv;
@@ -4549,13 +4555,14 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 				skillratio += -100 + 200 + 200 * skill_lv;
 			break;
 		case RL_HAMMER_OF_GOD:
-			skillratio += -100 + 2800 + 1400 * skill_lv;
+			skillratio += -100 + 100 * skill_lv;
 			if (sd) {
-				if (tsc && tsc->data[SC_C_MARKER])
-					skillratio += 100 * sd->spiritball_old;
-				else if (sd->spiritball_old)
-					skillratio += 10 * sd->spiritball_old;
+				if (wd->miscflag & 8)
+					skillratio += 400 * sd->spiritball_old;
+				else
+					skillratio += 150 * sd->spiritball_old;
 			}
+			RE_LVL_DMOD(100);
 			break;
 		case RL_FIRE_RAIN:
 		case RL_AM_BLAST:
@@ -7490,7 +7497,12 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
 						}
 						break;
 					case W_GRENADE:
-						if (sd->inventory_data[index]->look != A_GRENADE) {
+						if (sd->inventory_data[index]->look !=
+#ifdef RENEWAL
+							A_BULLET) {
+#else
+							A_GRENADE) {
+#endif
 							clif_skill_fail(sd,0,USESKILL_FAIL_NEED_MORE_BULLET,0);
 							return ATK_NONE;
 						}

+ 25 - 51
src/map/skill.cpp

@@ -1947,7 +1947,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
 			if (status_isimmune(bl))
 				break;
 
-			if ((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER) || rnd()%100 >= 50 + 10 * skill_lv) {
+			if ((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER) || rnd()%100 >= 50 + 5 * skill_lv) {
 				if (sd)
 					clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
 				break;
@@ -2060,9 +2060,6 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
 	case RL_AM_BLAST:
 		sc_start(src,bl,SC_ANTI_M_BLAST,20 + 10 * skill_lv,skill_lv,skill_get_time2(skill_id,skill_lv));
 		break;
-	case RL_HAMMER_OF_GOD:
-		sc_start(src,bl,SC_STUN,100,skill_lv,skill_get_time2(skill_id,skill_lv));
-		break;
 	case SU_SCRATCH:
 		sc_start2(src, bl, SC_BLEEDING, skill_lv * 10 + 70, skill_lv, src->id, skill_get_time(skill_id, skill_lv));
 		break;
@@ -4157,16 +4154,6 @@ int skill_area_sub_count (struct block_list *src, struct block_list *target, uin
 						return 1;
 				}
 			}
-		case RL_D_TAIL:
-			if (src->type != BL_PC)
-				return 0;
-			{
-				struct status_change *tsc = status_get_sc(target);
-				// Only counts marked target with SC_C_MARKER
-				if (!tsc || !tsc->data[SC_C_MARKER])
-					return 0;
-			}
-			break;
 	}
 	return 1;
 }
@@ -5154,7 +5141,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 	case RL_FIREDANCE:
 	case RL_S_STORM:
 	case RL_R_TRIP:
-	case RL_HAMMER_OF_GOD:
 	case MH_XENO_SLASHER:
 	case NC_ARMSCANNON:
 	case SU_SCRATCH:
@@ -6222,11 +6208,31 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 		break;
 
 	case RL_QD_SHOT:
+		if (skill_area_temp[1] == bl->id)
+			break;
+		if (flag&1 && tsc && tsc->data[SC_C_MARKER])
+			skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag|SD_ANIMATION);
+		break;
 	case RL_D_TAIL:
-		if (!sd || (tsc && tsc->data[SC_C_MARKER])) {
-			if (skill_id == RL_QD_SHOT && skill_area_temp[1] == bl->id )
-				break;
+	case RL_HAMMER_OF_GOD:
+		if (flag&1)
 			skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag|SD_ANIMATION);
+		else {
+			if (sd && tsc && tsc->data[SC_C_MARKER]) {
+				int i;
+
+				ARR_FIND(0, MAX_SKILL_CRIMSON_MARKER, i, sd->c_marker[i] == bl->id);
+
+				if (i < MAX_SKILL_CRIMSON_MARKER)
+					flag |= 8;
+			}
+
+			if (skill_id == RL_HAMMER_OF_GOD)
+				clif_skill_poseffect(src, skill_id, 1, bl->x, bl->y, gettick());
+			else
+				clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+
+			map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
 		}
 		break;
 
@@ -11401,9 +11407,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 			clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
 		}
 		break;
-	case RL_D_TAIL:
-		map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
-		break;
 	case RL_QD_SHOT:
 		if (sd) {
 			skill_area_temp[1] = bl->id;
@@ -11709,20 +11712,6 @@ static int8 skill_castend_id_check(struct block_list *src, struct block_list *ta
 					return USESKILL_FAIL_MAX;
 			}
 			break;
-		case RL_D_TAIL:
-			if (src) {
-				int count = 0;
-
-				if (battle_config.skill_wall_check)
-					count = map_foreachinshootrange(skill_area_sub, src, skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, gettick(), BCT_ENEMY, skill_area_sub_count);
-				else
-					count = map_foreachinrange(skill_area_sub, src, skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, gettick(), BCT_ENEMY, skill_area_sub_count);
-
-				if (!count) {
-					return USESKILL_FAIL_LEVEL;
-				}
-			}
-			break;
 	}
 
 	if (inf&INF_ATTACK_SKILL ||
@@ -11881,22 +11870,6 @@ TIMER_FUNC(skill_castend_id){
 				ud->skilly = target->y;
 				ud->skilltimer = tid;
 				return skill_castend_pos(tid,tick,id,data);
-			case RL_HAMMER_OF_GOD:
-				if ((sc = status_get_sc(target)) && sc->data[SC_C_MARKER]) {
-					ud->skillx = target->x;
-					ud->skilly = target->y;
-				} else {
-					int splash = skill_get_splash(ud->skill_id, ud->skill_lv); // !TODO: What's the random AoE size?
-
-					ud->skillx = target->x + splash;
-					ud->skilly = target->y + splash;
-					if (!map_random_dir(target, &ud->skillx, &ud->skilly)) {
-						ud->skillx = target->x;
-						ud->skilly = target->y;
-					}
-				}
-				ud->skilltimer = tid;
-				return skill_castend_pos(tid,tick,id,data);
 		}
 
 		// Failing
@@ -16658,6 +16631,7 @@ bool skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
 #ifdef RENEWAL
 		switch(skill_id) { // 2016-10-26 kRO update made these skills require an extra ammo to cast
 			case WM_SEVERE_RAINSTORM:
+			case RL_FIREDANCE:
 			case RL_R_TRIP:
 			case RL_FIRE_RAIN:
 				extra_ammo = 1;

+ 0 - 1
src/map/status.cpp

@@ -1017,7 +1017,6 @@ void initChangeTables(void)
 
 	/* Rebellion */
 	add_sc( RL_MASS_SPIRAL		, SC_BLEEDING );
-	add_sc( RL_HAMMER_OF_GOD	, SC_STUN );
 	set_sc( RL_H_MINE		, SC_H_MINE		, EFST_H_MINE		, SCB_NONE);
 	set_sc( RL_B_TRAP		, SC_B_TRAP		, EFST_B_TRAP		, SCB_SPEED );
 	set_sc( RL_E_CHAIN		, SC_E_CHAIN	, EFST_E_CHAIN	, SCB_NONE );