瀏覽代碼

Follow up to 96c768f.
* Fixed Rampage Blaster damage formula. (bugreport:8646)
* Fixed Circling Nature HP regeneration formula. (bugreport:8670)
* Fixed Flash Combo spirit sphere requirement. (bugreport:8715)
* Fixed Overbrand skill attack. (bugreport:8627)

aleos89 11 年之前
父節點
當前提交
4534bd4b1d
共有 4 個文件被更改,包括 5 次插入7 次删除
  1. 1 1
      db/re/skill_require_db.txt
  2. 3 4
      src/map/battle.c
  3. 0 1
      src/map/skill.c
  4. 1 1
      src/map/status.c

+ 1 - 1
db/re/skill_require_db.txt

@@ -964,7 +964,7 @@
 5006,0,0,60:70:80:90:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NC_MAGMA_ERUPTION#Magma Eruption#
 5007,0,0,200:230:260:290:320,0,0,0,13:14,0,0,none,0,0,6144,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//WM_FRIGG_SONG#Frigg's Song#
 5008,0,0,120,0,0,0,99,0,0,elementalspirit,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SO_ELEMENTAL_SHIELD#Elemental Shield#
-5009,0,0,75:65:55:45:35,0,0,0,99,0,0,none,5:5:4:4:3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_FLASHCOMBO#Flash Combo#
+5009,0,0,75:65:55:45:35,0,0,0,99,0,0,none,0,5:5:4:4:3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SR_FLASHCOMBO#Flash Combo#
 5010,0,0,30:26:22:18:14,0,0,0,99,0,0,none,0,0,7940,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//SC_ESCAPE#Emergency Escape#
 5011,0,0,30:60:90:120:150,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//AB_OFFERTORIUM#Offertorium#
 5012,0,0,100:150:200:250:300,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//WL_TELEKINESIS_INTENSE#Intense Telekinesis#

+ 3 - 4
src/map/battle.c

@@ -3480,13 +3480,12 @@ static int battle_calc_attack_skill_ratio(struct Damage wd, struct block_list *s
 			}
 			break;
 		case SR_RAMPAGEBLASTER:
+			skillratio = 20 * skill_lv * ((sd) ? sd->spiritball_old : 5);
 			if( sc && sc->data[SC_EXPLOSIONSPIRITS] ) {
-				skillratio = 20 * skill_lv + ((sd) ? sd->spiritball_old : 5) + 20 * sc->data[SC_EXPLOSIONSPIRITS]->val1;
+				skillratio += sc->data[SC_EXPLOSIONSPIRITS]->val1 * 20;
 				RE_LVL_DMOD(120);
-			} else {
-				skillratio = 20 * ((sd) ? sd->spiritball_old : 5) * skill_lv;
+			} else
 				RE_LVL_DMOD(150);
-			}
 			break;
 		case SR_KNUCKLEARROW:
 			if( wd.miscflag&4 ){  // ATK [(Skill Level x 150) + (1000 x Target current weight / Maximum weight) + (Target Base Level x 5) x (Caster Base Level / 150)] %

+ 0 - 1
src/map/skill.c

@@ -2850,7 +2850,6 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
 	case LG_OVERBRAND:
 	case LG_OVERBRAND_BRANDISH:
 		dmg.amotion = status_get_amotion(src) * 2;
-		break;
 	case LG_OVERBRAND_PLUSATK:
 		dmg.dmotion = clif_skill_damage(dsrc,bl,tick,status_get_amotion(src),dmg.dmotion,damage,dmg.div_,skill_id,-1,5);
 		break;

+ 1 - 1
src/map/status.c

@@ -9147,7 +9147,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
 			tick_time = 2000; // [GodLesZ] tick time
 			break;
 		case SC_SIRCLEOFNATURE:
-			val2 = 40 + val1; // HP recovery
+			val2 = 40 * val1; // HP recovery
 			val3 = 4 * val1;	// SP consume
 			val4 = tick / 1000;
 			tick_time = 1000; // [GodLesZ] tick time