diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-11-25 05:22:15 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-11-25 05:22:15 +0000 |
commit | 60431a600d821466849c0a277dec56980477aa03 (patch) | |
tree | b66deb971fefad91c769d82c3b939e34e0cf28a8 | |
parent | e34faf2b5aadc6b7c5d96e865f1aa40fca04bd67 (diff) | |
download | hercules-60431a600d821466849c0a277dec56980477aa03.tar.gz hercules-60431a600d821466849c0a277dec56980477aa03.tar.bz2 hercules-60431a600d821466849c0a277dec56980477aa03.tar.xz hercules-60431a600d821466849c0a277dec56980477aa03.zip |
Updated Weapon Repair, Aura Blade
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@357 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | src/map/battle.c | 18 | ||||
-rw-r--r-- | src/map/skill.c | 23 |
2 files changed, 34 insertions, 7 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 8140e0bb3..22731f01d 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2399,6 +2399,8 @@ static struct Damage battle_calc_mob_weapon_attack( damage += damage*(2*sc_data[SC_TRUESIGHT].val1)/100; if(sc_data[SC_BERSERK].timer!=-1) // バーサーク damage += damage*2; + if(sc_data && sc_data[SC_AURABLADE].timer!=-1) //[DracoRPG] + damage += sc_data[SC_AURABLADE].val1 * 20; } if(skill_num>0){ @@ -2723,8 +2725,8 @@ static struct Damage battle_calc_mob_weapon_attack( if(skill_num != 0 || s_ele != 0 || !battle_config.mob_attack_attr_none) damage=battle_attr_fix(damage, s_ele, battle_get_element(target) ); - if(sc_data && sc_data[SC_AURABLADE].timer!=-1) /* オーラブレード 必中 */ - damage += sc_data[SC_AURABLADE].val1 * 10; + //if(sc_data && sc_data[SC_AURABLADE].timer!=-1) /* オーラブレード 必中 */ + // damage += sc_data[SC_AURABLADE].val1 * 10; if(skill_num==PA_PRESSURE) /* プレッシャー 必中? */ damage = 500+300*skill_lv; @@ -3096,6 +3098,10 @@ static struct Damage battle_calc_pc_weapon_attack( damage += damage*2; damage2 += damage2*2; } + if(sc_data && sc_data[SC_AURABLADE].timer!=-1) { //[DracoRPG] + damage += sc_data[SC_AURABLADE].val1 * 20; + damage2 += sc_data[SC_AURABLADE].val1 * 20; + } } if(skill_num>0){ @@ -3785,10 +3791,10 @@ static struct Damage battle_calc_pc_weapon_attack( damage += sd->spiritball*3; damage2 += sd->spiritball*3; - if(sc_data && sc_data[SC_AURABLADE].timer!=-1){ /* オーラブレード 必中 */ - damage += sc_data[SC_AURABLADE].val1 * 10; - damage2 += sc_data[SC_AURABLADE].val1 * 10; - } + //if(sc_data && sc_data[SC_AURABLADE].timer!=-1){ /* オーラブレード 必中 */ + // damage += sc_data[SC_AURABLADE].val1 * 10; + // damage2 += sc_data[SC_AURABLADE].val1 * 10; + //} if(skill_num==PA_PRESSURE){ /* プレッシャー 必中? */ damage = 500+300*skill_lv; damage2 = 500+300*skill_lv; diff --git a/src/map/skill.c b/src/map/skill.c index 2be4cab6e..bc087fbb3 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3708,9 +3708,30 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int break; case BS_REPAIRWEAPON: /* 武器修理 */ - if(sd) + if(sd) { //Temporary Weapon Repair code [DracoRPG] //動作しないのでとりあえずコメントアウト // clif_item_repair_list(sd); + int i,r=0; + if (pc_search_inventory(sd, 999) <= 0 ) { + clif_skill_fail(sd,sd->skillid,0,0); + map_freeblock_unlock(); + return 1; + } + for(i=0; i<MAX_INVENTORY; i++) { + if(sd->status.inventory[i].attribute == 1){ + sd->status.inventory[i].attribute = 0; + pc_delitem(sd, pc_search_inventory(sd, 999), 1, 0); + clif_equiplist(sd); + clif_produceeffect(sd, 0, sd->status.inventory[i].nameid); + clif_misceffect(&sd->bl, 3); + clif_displaymessage(sd->fd,"Item has been repaired."); + r++; + break; + } + } + if(!r) + clif_skill_fail(sd,sd->skillid,0,0); + } break; case MC_VENDING: /* 露店開設 */ |