summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-11-25 05:22:15 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-11-25 05:22:15 +0000
commit60431a600d821466849c0a277dec56980477aa03 (patch)
treeb66deb971fefad91c769d82c3b939e34e0cf28a8
parente34faf2b5aadc6b7c5d96e865f1aa40fca04bd67 (diff)
downloadhercules-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.c18
-rw-r--r--src/map/skill.c23
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: /* 露店開設 */