Просмотр исходного кода

- Moved Full Buster blind penalty to skill_counter_additional_effect
- Added a dummy blind duration of 10 secs to FullBuster.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8082 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex 19 лет назад
Родитель
Сommit
f131a8bda7
4 измененных файлов с 11 добавлено и 10 удалено
  1. 1 0
      db/Changelog.txt
  2. 1 1
      db/skill_cast_db.txt
  3. 3 3
      src/map/skill.c
  4. 6 6
      src/map/status.c

+ 1 - 0
db/Changelog.txt

@@ -20,6 +20,7 @@
 
 =========================
 08/02
+	* Added a dummy blind duration of 10 secs to FullBuster. [Skotlex]
 	* Updated the mob skills so that the marine sphere casts self-destruction
 	  with 3 second cast after it starts walking. [Skotlex]
 	* Updated Create Arrow to X.4 [Playtester]

+ 1 - 1
db/skill_cast_db.txt

@@ -872,7 +872,7 @@
 //-- GS_DUST
 518,1000,1000,0,0,0
 //-- GS_FULLBUSTER
-519,1000,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,0
+519,1000,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,10000
 //-- GS_SPREADATTACK
 520,0,1000,0,0,0
 //-- GS_GROUNDDRIFT

+ 3 - 3
src/map/skill.c

@@ -1362,9 +1362,6 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 	case GS_PIERCINGSHOT:
 		sc_start(bl,SC_BLEEDING,(skilllv*3),skilllv,skill_get_time2(skillid,skilllv));
 		break;
-	case GS_FULLBUSTER:
-		sc_start(src,SC_BLIND,(2*skilllv),skilllv,skill_get_time2(skillid,1));
-		break;
 	case NJ_HYOUSYOURAKU:
 		sc_start(bl,SC_FREEZE,(10+10*skilllv),skilllv,skill_get_time2(skillid,skilllv));
 		break;
@@ -1503,6 +1500,9 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
 	case MO_EXTREMITYFIST:
 		sc_start(src,SkillStatusChangeTable(skillid),100,skilllv,skill_get_time2(skillid,skilllv));
 		break;
+	case GS_FULLBUSTER:
+		sc_start(src,SC_BLIND,(2*skilllv),skilllv,skill_get_time2(skillid,skilllv));
+		break;
 	}
 
 	if(sd && skillid && attack_type&BF_MAGIC && status_isdead(bl) &&

+ 6 - 6
src/map/status.c

@@ -1846,17 +1846,17 @@ int status_calc_pc(struct map_session_data* sd,int first)
 
 	// Bonuses from cards and equipment as well as base stat, remember to avoid overflows.
 	i = status->str + sd->status.str + sd->param_bonus[0] + sd->param_equip[0];
-	status->str = i<0?0:(i>USHRT_MAX?USHRT_MAX:i);
+	status->str = cap_value(i,0,USHRT_MAX);
 	i = status->agi + sd->status.agi + sd->param_bonus[1] + sd->param_equip[1];
-	status->agi = i<0?0:(i>USHRT_MAX?USHRT_MAX:i);
+	status->agi = cap_value(i,0,USHRT_MAX);
 	i = status->vit + sd->status.vit + sd->param_bonus[2] + sd->param_equip[2];
-	status->vit = i<0?0:(i>USHRT_MAX?USHRT_MAX:i);
+	status->vit = cap_value(i,0,USHRT_MAX);
 	i = status->int_+ sd->status.int_+ sd->param_bonus[3] + sd->param_equip[3];
-	status->int_ = i<0?0:(i>USHRT_MAX?USHRT_MAX:i);
+	status->int_ = cap_value(i,0,USHRT_MAX);
 	i = status->dex + sd->status.dex + sd->param_bonus[4] + sd->param_equip[4];
-	status->dex = i<0?0:(i>USHRT_MAX?USHRT_MAX:i);
+	status->dex = cap_value(i,0,USHRT_MAX);
 	i = status->luk + sd->status.luk + sd->param_bonus[5] + sd->param_equip[5];
-	status->luk = i<0?0:(i>USHRT_MAX?USHRT_MAX:i);
+	status->luk = cap_value(i,0,USHRT_MAX);
 	
 // ------ BASE ATTACK CALCULATION ------