summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--db/skill_unit_db.txt1
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/skill.c25
4 files changed, 14 insertions, 17 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 3da653e26..b37c7c254 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/07/12
+ * Recoded NJ_BAKUENRYU to behave as I understand it best from the
+ skill-description (since Haplo told me this skill doesn't really has video
+ information or anything...) [Skotlex]
* Fixed NJ_TATAMIGAESHI to use ground-tiles rather than "for each in path"
calls. The skill should be working correctly now, except for the fact that
the correct "unit id" is missing (this is what would give the ground tile
diff --git a/db/skill_unit_db.txt b/db/skill_unit_db.txt
index 1df96b18f..444090d57 100644
--- a/db/skill_unit_db.txt
+++ b/db/skill_unit_db.txt
@@ -89,7 +89,6 @@
488,0xb9, , 3, 0, -1,all, 0x200 //CG_HERMODE
527,0xba, , -1, 0,2000,enemy, 0x000 //NJ_TATAMIGAESHI
535,0xbd, , 2, 0,2000,enemy, 0x000 //NJ_KAENSIN
-536,0x86, , 2, 0, 300,enemy, 0x000 //NJ_BAKUENRYU
541,0x86,,0,2:2:3:3:4,1000,enemy,0x000 //NJ_RAIGEKISAI
538,0xbb,,1:1:1:2:2:2:3:3:3:4,0,-1,all,0x010 //NJ_SUITON
516,0xbc, , 0, 3, 100,enemy, 0x000 //GS_DESPERADO
diff --git a/src/map/battle.c b/src/map/battle.c
index 38143997d..dacfbe015 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2268,7 +2268,7 @@ struct Damage battle_calc_magic_attack(
skillratio -= 10;
break;
case NJ_BAKUENRYU:
- skillratio += 50 + 150*skill_lv;
+ skillratio += 50*(skill_lv-1);
break;
case NJ_HYOUSYOURAKU:
skillratio += 50*skill_lv;
diff --git a/src/map/skill.c b/src/map/skill.c
index 3de50dc0f..dc6194691 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2684,15 +2684,15 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,skillid == KN_CHARGEATK?1:flag);
break;
- /* 武器系範囲攻撃スキル */
- case AS_GRIMTOOTH: /* グリムトゥース */
- case MC_CARTREVOLUTION: /* カートレヴォリューション */
- case NPC_SPLASHATTACK: /* スプラッシュアタック */
+ //Splash attack skills.
+ case AS_GRIMTOOTH:
+ case MC_CARTREVOLUTION:
+ case NPC_SPLASHATTACK:
case AC_SHOWER: //Targetted skill implementation.
+ case NJ_BAKUENRYU:
if(flag&1){
- /* 個別にダメージを与える */
if(bl->id!=skill_area_temp[1]){
- skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,
+ skill_attack(skill_get_type(skillid),src,src,bl,skillid,skilllv,tick,
0x0500);
}
} else {
@@ -2702,7 +2702,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
src,skillid,skilllv,tick, flag|BCT_ENEMY|1,
skill_castend_damage_id);
//Skill-attack at the end in case it has knockback. [Skotlex]
- skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,0);
+ skill_attack(skill_get_type(skillid),src,src,bl,skillid,skilllv,tick,0);
}
break;
@@ -3171,11 +3171,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
break;
case NPC_SMOKING: //Since it is a self skill, this one ends here rather than in damage_id. [Skotlex]
return skill_castend_damage_id (src, bl, skillid, skilllv, tick, flag);
- //These are actually ground placed.
- case NJ_BAKUENRYU: //Doesn't works on the default because it is enemy-targetted.
- return skill_castend_pos2(src,bl->x,bl->y,skillid,skilllv,tick,0);
default:
- if (src == bl && skill_get_unit_id(skillid,0)) //Skill is actually ground placed.
+ //Skill is actually ground placed.
+ if (src == bl && skill_get_unit_id(skillid,0))
return skill_castend_pos2(src,bl->x,bl->y,skillid,skilllv,tick,0);
}
@@ -5818,7 +5816,6 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
case DC_SERVICEFORYOU:
case GS_DESPERADO:
case NJ_SUITON:
- case NJ_BAKUENRYU:
case NJ_KAENSIN:
case NJ_HYOUSYOURAKU:
case NJ_RAIGEKISAI:
@@ -6415,9 +6412,7 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid,
val1 = skilllv;
val2 = (skilllv+1)/2 + 4;
break;
- case NJ_BAKUENRYU:
- val1 = 3;
- break;
+
case GS_GROUNDDRIFT:
{ //Take on the base element, not the elemental one.
struct status_data *bstatus = status_get_base_status(src);