소스 검색

- 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...)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7644 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 19 년 전
부모
커밋
5f5693bfa3
4개의 변경된 파일14개의 추가작업 그리고 17개의 파일을 삭제
  1. 3 0
      Changelog-Trunk.txt
  2. 0 1
      db/skill_unit_db.txt
  3. 1 1
      src/map/battle.c
  4. 10 15
      src/map/skill.c

+ 3 - 0
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

+ 0 - 1
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

+ 1 - 1
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;

+ 10 - 15
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);