summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index b47fe14c7..24e207fed 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3061,7 +3061,7 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int
case LK_BERSERK: /* バ?サ?ク */
clif_skill_nodamage(src,bl,skillid,skilllv,1);
skill_status_change_start(bl,SkillStatusChangeTable[skillid],skilllv,0,0,0,skill_get_time(skillid,skilllv),0 );
- sd->status.hp = sd->status.max_hp * 3;
+ //sd->status.hp = sd->status.max_hp * 3;
break;
case MC_CHANGECART:
clif_skill_nodamage(src,bl,skillid,skilllv,1);
@@ -7852,7 +7852,6 @@ int skill_status_change_end(struct block_list* bl, int type, int tid)
case SC_BERSERK: /* バ?サ?ク */
calc_flag = 1;
clif_status_change(bl,SC_INCREASEAGI,0); /* アイコン消去 */
- skill_status_change_end(bl,SC_ENDURE,-1);
break;
case SC_DEVOTION: /* ディボ?ション */
{
@@ -8353,8 +8352,8 @@ int skill_status_change_timer(int tid, unsigned int tick, int id, int data)
break;
case SC_BERSERK: /* バ?サ?ク */
if(sd){ /* HPが100以上なら?? */
- if( (sd->status.hp - sd->status.hp/100) > 100 ){ // 5% every 10 seconds [DracoRPG]
- sd->status.hp -= sd->status.hp*5/100;
+ if( (sd->status.hp - sd->status.max_hp*5/100) > 100 ){ // 5% every 10 seconds [DracoRPG]
+ sd->status.hp -= sd->status.max_hp*5/100; // changed to max hp [celest]
clif_updatestatus(sd,SP_HP);
sc_data[type].timer = add_timer( /* タイマ?再設定 */
10000+tick, skill_status_change_timer,
@@ -9076,13 +9075,14 @@ int skill_status_change_start(struct block_list *bl, int type, int val1, int val
break;
case SC_BERSERK: /* バ?サ?ク */
if(sd){
- sd->status.sp = 0;
+ sd->status.hp = sd->status.max_hp * 3;
+ sd->status.sp = 0;
+ clif_updatestatus(sd,SP_HP);
clif_updatestatus(sd,SP_SP);
- clif_status_change(bl,SC_INCREASEAGI,1); /* アイコン表示 */
- skill_status_change_start(bl,SC_ENDURE,10,0,0,0,tick,0 ); // celest
+ clif_status_change(bl,SC_INCREASEAGI,1); /* アイコン表示 */
}
*opt3 |= 128;
- tick = 1000;
+ tick = 10000;
calc_flag = 1;
break;
case SC_ASSUMPTIO: /* アスムプティオ */