From 0865e160cb5b3668a8579dd082d546473e173cbb Mon Sep 17 00:00:00 2001 From: Atemo Date: Mon, 11 Mar 2024 17:25:05 +0100 Subject: [PATCH] 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 --- db/re/skill_db.yml | 12 ++++++------ src/map/battle.cpp | 20 ++++++++++---------- src/map/skill.cpp | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/db/re/skill_db.yml b/db/re/skill_db.yml index e3bf3005b5..3f3c2a454e 100644 --- a/db/re/skill_db.yml +++ b/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: diff --git a/src/map/battle.cpp b/src/map/battle.cpp index e723511f5d..069bfa3cc3 100644 --- a/src/map/battle.cpp +++ b/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; diff --git a/src/map/skill.cpp b/src/map/skill.cpp index 293616f267..34c8eb5220 100755 --- a/src/map/skill.cpp +++ b/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);