浏览代码

Rebalance Night Watch 2022-12-21 (#8161)

* The Vigilante at Night
- Increases SP consumption from 65 to 88 based on level 5.
- Reduces area of effect of gatling gun from 13 x 13 cells to 11 x 11 cells based on level 5.

* Only One Bullet
- Increases cooldown from 0.3 seconds to 0.35 seconds.
- Increases base damage from 7550%/8300%Atk to 16200%/18200%Atk based on level 5.

* Spiral Shooting
- Increases base damage from 8500%/9700%Atk to 9700%/15400%Atk per hit based on level 5.

* Magazine for One
- Increases base damage from 1950%/2400%Atk to 2750%/4300%Atk per hit based on level 5.

* Wild Fire
- Increases base damage from 13250%/12500%Atk to 17500%/16500%Atk based on level 5.

* Basic Grenade
- Increases base damage from 5750%Atk to 12000%Atk based on level 5.

* Hasty Fire in the Hole
- Increases base damage from 6750%Atk to 9000%Atk per hit based on level 5.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Atemo 1 年之前
父节点
当前提交
0865e160cb
共有 3 个文件被更改,包括 17 次插入17 次删除
  1. 6 6
      db/re/skill_db.yml
  2. 10 10
      src/map/battle.cpp
  3. 1 1
      src/map/skill.cpp

+ 6 - 6
db/re/skill_db.yml

@@ -41447,15 +41447,15 @@ Body:
     Requires:
       SpCost:
         - Level: 1
-          Amount: 49
+          Amount: 72
         - Level: 2
-          Amount: 53
+          Amount: 76
         - Level: 3
-          Amount: 57
+          Amount: 80
         - Level: 4
-          Amount: 61
+          Amount: 84
         - Level: 5
-          Amount: 65
+          Amount: 88
       Weapon:
         Gatling: true
         Shotgun: true
@@ -41476,7 +41476,7 @@ Body:
     Element: Weapon
     GiveAp: 1
     AfterCastActDelay: 500
-    Cooldown: 300
+    Cooldown: 350
     CastCancel: true
     FixedCastTime: 1000
     Requires:

+ 10 - 10
src/map/battle.cpp

@@ -5938,13 +5938,13 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 			RE_LVL_DMOD(100);
 			break;
 		case NW_HASTY_FIRE_IN_THE_HOLE:
-			skillratio += -100 + 1500 + 1050 * skill_lv;
+			skillratio += -100 + 1500 + 1500 * skill_lv;
 			skillratio += pc_checkskill( sd, NW_GRENADE_MASTERY ) * 20;
 			skillratio += 5 * sstatus->con;
 			RE_LVL_DMOD(100);
 			break;
 		case NW_BASIC_GRENADE:
-			skillratio += -100 + 1000 + 950 * skill_lv;
+			skillratio += -100 + 1500 + 2100 * skill_lv;
 			skillratio += pc_checkskill( sd, NW_GRENADE_MASTERY ) * 50;
 			skillratio += 5 * sstatus->con;
 			RE_LVL_DMOD(100);
@@ -5956,39 +5956,39 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 			RE_LVL_DMOD(100);
 			break;
 		case NW_WILD_FIRE:
-			skillratio += -100 + 1000 + 2300 * skill_lv;
+			skillratio += -100 + 1500 + 3000 * skill_lv;
 			skillratio += 5 * sstatus->con;
 			if (sc && sc->getSCE(SC_INTENSIVE_AIM_COUNT))
 				skillratio += sc->getSCE(SC_INTENSIVE_AIM_COUNT)->val1 * 500 * skill_lv;
 			if (sd && sd->weapontype1 == W_SHOTGUN)
-				skillratio += 150 * skill_lv;
+				skillratio += 200 * skill_lv;
 			RE_LVL_DMOD(100);
 			break;
 		case NW_MAGAZINE_FOR_ONE:
-			skillratio += -100 + 100 + 450 * ( skill_lv - 1 );
+			skillratio += -100 + 250 + 500 * skill_lv;
 			skillratio += 5 * sstatus->con;
 			if (sc && sc->getSCE(SC_INTENSIVE_AIM_COUNT))
 				skillratio += sc->getSCE(SC_INTENSIVE_AIM_COUNT)->val1 * 100 * skill_lv;
 			if (sd && sd->weapontype1 == W_REVOLVER)
-				skillratio += 50 + 100 * (skill_lv-1);
+				skillratio += 50 + 300 * skill_lv;
 			RE_LVL_DMOD(100);
 			break;
 		case NW_SPIRAL_SHOOTING:
-			skillratio += -100 + 1000 + 1500 * skill_lv;
+			skillratio += -100 + 1200 + 1700 * skill_lv;
 			skillratio += 5 * sstatus->con;
 			if (sc && sc->getSCE(SC_INTENSIVE_AIM_COUNT))
 				skillratio += sc->getSCE(SC_INTENSIVE_AIM_COUNT)->val1 * 150 * skill_lv;
 			if (sd && sd->weapontype1 == W_RIFLE) 
-				skillratio += 200 + 200 * skill_lv;
+				skillratio += 200 + 1100 * skill_lv;
 			RE_LVL_DMOD(100);
 			break;
 		case NW_ONLY_ONE_BULLET:
-			skillratio += -100 + 800 + 1350 * skill_lv;
+			skillratio += -100 + 1200 + 3000 * skill_lv;
 			skillratio += 5 * sstatus->con;
 			if (sc && sc->getSCE(SC_INTENSIVE_AIM_COUNT))
 				skillratio += sc->getSCE(SC_INTENSIVE_AIM_COUNT)->val1 * 350 * skill_lv;
 			if (sd && sd->weapontype1 == W_REVOLVER) {
-				skillratio += 150 * skill_lv;
+				skillratio += 400 * skill_lv;
 			}
 			RE_LVL_DMOD(100);
 			break;

+ 1 - 1
src/map/skill.cpp

@@ -12919,7 +12919,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 		skill_area_temp[2] = 0;
 
 		if (sd && sd->weapontype1 == W_GATLING) {
-			i += 3;
+			i = 5; // 11x11
 			clif_skill_nodamage(src, bl, NW_THE_VIGILANTE_AT_NIGHT_GUN_GATLING, skill_lv, 1);
 		} else
 			clif_skill_nodamage(src, bl, NW_THE_VIGILANTE_AT_NIGHT_GUN_SHOTGUN, skill_lv, 1);