Prechádzať zdrojové kódy

Frenzy, Super Novice Level Up Buff, Assassin Soul Link (#8198)

- Fixed Frenzy HP drain interval being 15 instead 10 seconds in renewal (follow-up to 1a004f0)
- The buffs granted when a Super Novice levels up now all last 120 seconds (fixes #8189)
- Assassin Soul Link now doubles stun chance outside GVG/BG (fixes #8195)
Playtester 1 rok pred
rodič
commit
7d9a23d03f
3 zmenil súbory, kde vykonal 7 pridanie a 4 odobranie
  1. 2 2
      db/re/skill_db.yml
  2. 1 1
      src/map/pc.cpp
  3. 4 1
      src/map/skill.cpp

+ 2 - 2
db/re/skill_db.yml

@@ -9940,7 +9940,7 @@ Body:
     Hit: Single
     HitCount: 1
     Duration1: 300000
-    Duration2: 15000
+    Duration2: 10000
     Requires:
       SpCost: 200
     Status: Berserk
@@ -45857,7 +45857,7 @@ Body:
     Hit: Single
     HitCount: 1
     Duration1: 300000
-    Duration2: 15000
+    Duration2: 10000
     Requires:
       SpCost: 200
     Status: Berserk

+ 1 - 1
src/map/pc.cpp

@@ -8107,7 +8107,7 @@ int pc_checkbaselevelup(map_session_data *sd) {
 	if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE) {
 		for (const auto &status : status_db) {
 			if (status.second->flag[SCF_SUPERNOVICEANGEL])
-				sc_start(&sd->bl, &sd->bl, status.second->type, 100, 1, skill_get_time(status.second->skill_id, 1));
+				sc_start(&sd->bl, &sd->bl, status.second->type, 100, 1, 120000); //All buffs with super novice flag for 2 minutes
 		}
 		if (sd->state.snovice_dead_flag)
 			sd->state.snovice_dead_flag = 0; //Reenable steelbody resurrection on dead.

+ 4 - 1
src/map/skill.cpp

@@ -1435,7 +1435,10 @@ int skill_additional_effect( struct block_list* src, struct block_list *bl, uint
 
 	case AS_SONICBLOW:
 	case HN_MEGA_SONIC_BLOW:
-		sc_start(src,bl,SC_STUN,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));
+		if (!map_flag_gvg2(bl->m) && !map_getmapflag(bl->m, MF_BATTLEGROUND) && sc->getSCE(SC_SPIRIT)->val2 == SL_ASSASIN)
+			sc_start(src, bl, SC_STUN, (4 * skill_lv + 20), skill_lv, skill_get_time2(skill_id, skill_lv)); //Link gives double stun chance outside GVG/BG
+		else
+			sc_start(src, bl, SC_STUN, (2 * skill_lv + 10), skill_lv, skill_get_time2(skill_id, skill_lv));
 		break;
 
 	case AS_GRIMTOOTH: