summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
authorFate <fate-tmw@googlemail.com>2009-09-27 15:32:58 +0000
committerFate <fate-tmw@googlemail.com>2009-09-27 15:32:58 +0000
commitbf27f14214997e97aad2a80b24885b8f9af30e0a (patch)
tree54181661f30141f3b0218d9383a5de9327524a91 /src/map/pc.c
parent02ce702acb0fadcaf76470a94194f1d20e4c8bc0 (diff)
downloadtmwa-bf27f14214997e97aad2a80b24885b8f9af30e0a.tar.gz
tmwa-bf27f14214997e97aad2a80b24885b8f9af30e0a.tar.bz2
tmwa-bf27f14214997e97aad2a80b24885b8f9af30e0a.tar.xz
tmwa-bf27f14214997e97aad2a80b24885b8f9af30e0a.zip
Added "Mallard's Eye" skill (45) for ranged weapon users: increase
to-hit, increase range, decrease the malus effect of distance. Also added an up to 31.25% damage bonus for hitting enemies that are farther away (only affects ranged weapons). Fixed a bug that would forget to recompute stats after changing skill focus.
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index 5976137..e2f8eec 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -1431,9 +1431,6 @@ int pc_calcstatus(struct map_session_data* sd,int first)
if( (skill=pc_checkskill(sd,MC_INCCARRY))>0 ) // skill can be used with an item now, thanks to orn [Valaris]
sd->max_weight += skill*1000;
- if( (skill=pc_checkskill(sd,AC_OWL))>0 ) // �ӂ��낤�̖�
- sd->paramb[4] += skill;
-
// �X�e�[�^�X�ω��ɂ������{�p�����[�^�␳
if(sd->sc_count){
if(sd->sc_data[SC_CONCENTRATE].timer!=-1 && sd->sc_data[SC_QUAGMIRE].timer == -1){ // �W���͌���
@@ -1568,10 +1565,15 @@ int pc_calcstatus(struct map_session_data* sd,int first)
if( (skill=pc_checkskill(sd,AC_VULTURE))>0){ // ���V�̖�
sd->hit += skill;
- if(sd->status.weapon == 11)
+ if (sd->status.weapon == 11)
sd->attackrange += skill;
}
+ if (sd->attackrange > 2) { // [fate] ranged weapon?
+ sd->attackrange += MIN(skill_power(sd, AC_OWL) / 60, 3);
+ sd->hit += skill_power(sd, AC_OWL) / 10; // 20 for 200
+ }
+
if( (skill=pc_checkskill(sd,BS_WEAPONRESEARCH))>0) // ���팤���̖���������
sd->hit += skill*2;
if(sd->status.option&2 && (skill = pc_checkskill(sd,RG_TUNNELDRIVE))>0 ) // �g���l���h���C�u // �g���l���h���C�u