Pārlūkot izejas kodu

Rebalance Windhawk 20221221 (#8020)

* No Limits (Ranger)
- No longer be removed by Dispell or Clearance.

* Calamity Gale
- Increases duration from 60 seconds to 180 seconds.
- Reduces cooldown from 300 seconds to 180 seconds.

Note: it was not implemented
- No longer be removed when using No Limits.

* Gale Storm
- Reduces cooldown from 1.5 seconds to 1.2 seconds.
- Increases SP consumption from 100 to 120 based on level 10.
- Increases base damage from 9500%Atk to 10000%Atk based on level 5.
- Reduces area of effect from 11 x 11 cells to 9 x 9 cells based on level 10.

Note: CON weight was already 10
- Increases factor weight of CON in skill formula from 5 to 10.

* Crescive Bolt
- Increases cooldown from 0.15 seconds to 0.35 seconds.
- Increases global cool time from 0.3 seconds to 0.7 seconds.
- Increases base damage from 3400%Atk to 9400%Atk based on level 10.

Additionnally
- Removed leftover Deep Blind Trap / Solid Trap / Swift Trap / Flame Trap status ailments in `skills_db.yml` (from previous rebalance)
- Corrected WH HAWK BOOMERANG and WH_HAWKBOOMERANG formula according to the Korean description of the skill.
- Included WH_NATUREFRIENDLY in the damage formula of WH_HAWKRUSH and WH_HAWKBOOMERANG (x1.5 at level 5) (source: tests on KRO)

Thanks to @datawulf
Atemo 1 gadu atpakaļ
vecāks
revīzija
23766e61c3
3 mainītis faili ar 38 papildinājumiem un 27 dzēšanām
  1. 25 20
      db/re/skill_db.yml
  2. 5 3
      db/re/status.yml
  3. 8 4
      src/map/battle.cpp

+ 25 - 20
db/re/skill_db.yml

@@ -39202,8 +39202,8 @@ Body:
     HitCount: 1
     CastCancel: true
     AfterCastActDelay: 500
-    Duration1: 60000
-    Cooldown: 300000
+    Duration1: 180000
+    Cooldown: 180000
     FixedCastTime: 1000
     Requires:
       SpCost: 300
@@ -39260,38 +39260,38 @@ Body:
       - Level: 7
         Area: 3
       - Level: 8
-        Area: 4
+        Area: 3
       - Level: 9
         Area: 4
       - Level: 10
-        Area: 5
+        Area: 4
     CastCancel: true
     CastTime: 3500
     AfterCastActDelay: 500
-    Cooldown: 1500
+    Cooldown: 1200
     FixedCastTime: 500
     Requires:
       SpCost:
         - Level: 1
-          Amount: 64
+          Amount: 93
         - Level: 2
-          Amount: 68
+          Amount: 96
         - Level: 3
-          Amount: 72
+          Amount: 99
         - Level: 4
-          Amount: 76
+          Amount: 102
         - Level: 5
-          Amount: 80
+          Amount: 105
         - Level: 6
-          Amount: 84
+          Amount: 108
         - Level: 7
-          Amount: 88
+          Amount: 111
         - Level: 8
-          Amount: 92
+          Amount: 114
         - Level: 9
-          Amount: 96
+          Amount: 117
         - Level: 10
-          Amount: 100
+          Amount: 120
       Weapon:
         Bow: true
       Ammo:
@@ -39305,6 +39305,8 @@ Body:
     TargetType: Ground
     DamageFlags:
       IgnoreFlee: true
+    Flags:
+      AllowOnWarg: true
     Range: 1
     Hit: Single
     HitCount: 1
@@ -39368,7 +39370,6 @@ Body:
       Flag:
         NoOverlap: true
         PathCheck: true
-    Status: Handicapstate_Deepblind
   - Id: 5332
     Name: WH_SOLIDTRAP
     Description: Solid Trap
@@ -39377,6 +39378,8 @@ Body:
     TargetType: Ground
     DamageFlags:
       IgnoreFlee: true
+    Flags:
+      AllowOnWarg: true
     Range: 1
     Hit: Single
     HitCount: 1
@@ -39422,7 +39425,6 @@ Body:
       ItemCost:
         - Item: Special_Alloy_Trap
           Amount: 2
-    Status: HandicapState_Crystallization
     Unit:
       Id: Solidtrap
       Range:
@@ -39449,6 +39451,8 @@ Body:
     TargetType: Ground
     DamageFlags:
       IgnoreFlee: true
+    Flags:
+      AllowOnWarg: true
     Range: 1
     Hit: Single
     HitCount: 1
@@ -39494,7 +39498,6 @@ Body:
       ItemCost:
         - Item: Special_Alloy_Trap
           Amount: 2
-    Status: HandicapState_LightningStrike
     Unit:
       Id: Swifttrap
       Range:
@@ -39528,9 +39531,10 @@ Body:
     GiveAp: 1
     CastCancel: true
     CastTime: 800
-    AfterCastActDelay: 300
+    AfterCastActDelay: 700
     Duration1: 10000
     FixedCastTime: 200
+    Cooldown: 350
     Requires:
       SpCost:
         - Level: 1
@@ -39567,6 +39571,8 @@ Body:
     TargetType: Ground
     DamageFlags:
       IgnoreFlee: true
+    Flags:
+      AllowOnWarg: true
     Range: 1
     Hit: Single
     HitCount: 1
@@ -39630,7 +39636,6 @@ Body:
       Flag:
         NoOverlap: true
         PathCheck: true
-    Status: HandicapState_Conflagration
   - Id: 5336
     Name: BO_BIONIC_PHARMACY
     Description: Bionic Pharmacy

+ 5 - 3
db/re/status.yml

@@ -5732,6 +5732,8 @@ Body:
     DurationLookup: RA_UNLIMIT
     Flags:
       DisplayPc: true
+      NoDispell: true
+      NoClearance: true
   - Status: Kings_Grace
     Icon: EFST_KINGS_GRACE
     DurationLookup: LG_KINGS_GRACE
@@ -7633,7 +7635,7 @@ Body:
       RemoveOnDamaged: true
   - Status: Handicapstate_Lightningstrike
     Icon: EFST_HANDICAPSTATE_LIGHTNINGSTRIKE
-    DurationLookup: WH_SWIFTTRAP
+    DurationLookup: EM_LIGHTNING_LAND
     States:
       #NoMove: true
       #NoCast: true
@@ -7646,7 +7648,7 @@ Body:
       RemoveOnDamaged: true
   - Status: Handicapstate_Crystallization
     Icon: EFST_HANDICAPSTATE_CRYSTALLIZATION
-    DurationLookup: WH_SOLIDTRAP
+    DurationLookup: EM_TERRA_DRIVE
     States:
       #NoMove: true
       #NoCast: true
@@ -7660,7 +7662,7 @@ Body:
       RemoveOnDamaged: true
   - Status: Handicapstate_Conflagration
     Icon: EFST_HANDICAPSTATE_CONFLAGRATION
-    DurationLookup: WH_FLAMETRAP
+    DurationLookup: EM_CONFLAGRATION
     Flags:
       BlEffect: true
       DisplayPc: true

+ 8 - 4
src/map/battle.cpp

@@ -5627,22 +5627,26 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 			break;
 		case WH_HAWKRUSH:
 			skillratio += -100 + 500 * skill_lv + 5 * sstatus->con;
+			if (sd)
+				skillratio += skillratio * pc_checkskill(sd, WH_NATUREFRIENDLY) / 10;
 			RE_LVL_DMOD(100);
 			break;
-		case WH_HAWKBOOMERANG:// Affected by trait stats??? CON for sure but the other one unknown. Likely POW. [Rytech]
-			skillratio += -100 + 600 * skill_lv + 10 * sstatus->pow + 10 * sstatus->con;
+		case WH_HAWKBOOMERANG:
+			skillratio += -100 + 600 * skill_lv + 10 * sstatus->con;
+			if (sd)
+				skillratio += skillratio * pc_checkskill(sd, WH_NATUREFRIENDLY) / 10;
 			if (tstatus->race == RC_BRUTE || tstatus->race == RC_FISH)
 				skillratio += skillratio * 50 / 100;
 			RE_LVL_DMOD(100);
 			break;
 		case WH_GALESTORM:
-			skillratio += -100 + 950 * skill_lv + 10 * sstatus->con;
+			skillratio += -100 + 1000 * skill_lv + 10 * sstatus->con;
 			RE_LVL_DMOD(100);
 			if (sc && sc->getSCE(SC_CALAMITYGALE) && (tstatus->race == RC_BRUTE || tstatus->race == RC_FISH))
 				skillratio += skillratio * 50 / 100;
 			break;
 		case WH_CRESCIVE_BOLT:
-			skillratio += -100 + 340 * skill_lv + 5 * sstatus->con;
+			skillratio += -100 + 400 + 900 * skill_lv + 5 * sstatus->con;
 			RE_LVL_DMOD(100);
 			if (sc) {
 				if (sc->getSCE(SC_CRESCIVEBOLT))