diff options
-rw-r--r-- | src/map/pc.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 68fed3fb9..40ae26ae3 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1423,6 +1423,11 @@ int pc_calcstatus(struct map_session_data* sd,int first) if( (skill=pc_checkskill(sd,AC_OWL))>0 ) // �ӂ��낤�̖�
sd->paramb[4] += skill;
+ if((skill=pc_checkskill(sd,BS_HILTBINDING))>0) { // Hilt binding gives +1 str +4 atk
+ sd->paramb[4] ++;
+ sd->base_atk += 4;
+ }
+
// �X�e�[�^�X�ω��ɂ���{�p�����[�^�
if(sd->sc_count){
if(sd->sc_data[SC_CONCENTRATE].timer!=-1 && sd->sc_data[SC_QUAGMIRE].timer == -1){ // �W���͌���
@@ -1576,7 +1581,10 @@ int pc_calcstatus(struct map_session_data* sd,int first) sd->subele[6] += skill*5;
}
if((skill=pc_checkskill(sd,BS_SKINTEMPER))>0)
- sd->subele[3] += skill*4;
+ {
+ sd->subele[0] += skill;
+ sd->subele[3] += skill*5;
+ }
bl=sd->status.base_level;
@@ -1741,8 +1749,8 @@ int pc_calcstatus(struct map_session_data* sd,int first) }
if(sd->sc_data[SC_MAGICPOWER].timer!=-1){ //���@�͑���
- sd->matk1 = sd->matk1*(100+2*sd->sc_data[SC_MAGICPOWER].val1)/100;
- sd->matk2 = sd->matk2*(100+2*sd->sc_data[SC_MAGICPOWER].val1)/100;
+ sd->matk1 = sd->matk1*(100+5*sd->sc_data[SC_MAGICPOWER].val1)/100;
+ sd->matk2 = sd->matk2*(100+5*sd->sc_data[SC_MAGICPOWER].val1)/100;
}
if(sd->sc_data[SC_ATKPOT].timer!=-1)
sd->watk += sd->sc_data[SC_ATKPOT].val1;
@@ -4891,6 +4899,9 @@ int pc_damage(struct block_list *src,struct map_session_data *sd,int damage) // �� ���Ă����瑫���~�߂�
if(sd->sc_data[SC_ENDURE].timer == -1 && !sd->special_state.infinite_endure)
pc_stop_walking(sd,3);
+ else if(sd->sc_data[SC_ENDURE].timer != -1 && src->type==BL_MOB) // [Celest]
+ if((--sd->sc_data[SC_ENDURE].val2) <= 0)
+ skill_status_change_end(&sd->bl, SC_ENDURE, -1);
// ���t/�_���X�̒��f
if(damage > sd->status.max_hp>>2)
skill_stop_dancing(&sd->bl,0);
|