Преглед на файлове

- Fixed Auto Spell not working
- Fixed problems with skill level check
- Added text job names support for @job
- Added some new monster skills

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@527 54d463be-8e91-2dee-dedb-b68131a5f0ec

celest преди 20 години
родител
ревизия
c7db60f7e6
променени са 8 файла, в които са добавени 158 реда и са изтрити 35 реда
  1. 8 0
      Changelog.txt
  2. 1 1
      db/item_db.txt
  3. 4 7
      db/skill_cast_db.txt
  4. 17 1
      db/skill_db.txt
  5. 1 1
      db/skill_tree.txt
  6. 84 2
      src/map/atcommand.c
  7. 40 23
      src/map/skill.c
  8. 3 0
      src/map/skill.h

+ 8 - 0
Changelog.txt

@@ -1,6 +1,14 @@
 Date	Added
 12/9
 	* Adjusted some messages in @marry [MouseJstr]
+        * Skill Updates [celest]
+          - Fixed Auto Spell not working
+          - Fixed skill level check causing Baphomet card not to work at all (possibly
+            other problems too)
+          - Added some new monster skills based on jA mod 1077
+        * Changed @job to accept text job names - For example: @job wizard, @job high
+          priestess, @job super baby [celest]
+
 12/8
 	* Fixed @rings [MouseJstr]
         * Added @marry, @divorce, and @rings [MouseJstr]

+ 1 - 1
db/item_db.txt

@@ -1128,7 +1128,7 @@
 4126,Minorous_Card,Minorous Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddSize,2,15; bonus bBaseAtk,5; }
 4127,Nightmare_Card,Nightmare Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bResEff,Eff_Sleep,10000; bonus bAgi,1; }
 4128,Golden_Bug_Card,Golden Bug Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bNoMagicDamage,0; bonus bUseSPrate,100; }
-4129,Baphomet__Card,Baphomet  Card,6,20,,10,,,,,,,4,,,,{},{ bonus bHit,-10; bonus bSplashRange,10; }
+4129,Baphomet__Card,Baphomet Jr Card,6,20,,10,,,,,,,4,,,,{},{bonus bAgi,3; bonus bCritical,1; }}
 4130,Scorpion_King_Card,Scorpion King Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,9,20; }
 4131,Moonlight_Flower_Card,Moonlight Flower Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bSpeedRate,25; }
 4132,Mistress_Card,Mistress Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bNoGemStone,0; bonus bUseSPrate,25; }

+ 4 - 7
db/skill_cast_db.txt

@@ -25,7 +25,7 @@
 28,0,1000,0,0	//AL_HEAL#ヒール#
 29,1000,1000,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0	//AL_INCAGI#速度増加#
 30,1000,1000,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0	//AL_DECAGI#速度減少#
-31,0,2000,0,0	//AL_HOLYWATER#アクアベネディクタ#
+31,1000,500,0,0	//AL_HOLYWATER#アクアベネディクタ#
 32,500,2000,0,0	//AL_CRUCIS#シグナムクルシス#
 33,500,3500,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0	//AL_ANGELUS#エンジェラス#
 34,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0 //AL_BLESSING#ブレッシング#
@@ -174,8 +174,7 @@
 276,0,1500,400:600:800:1000:1200,0	//SA_MAGICROD#マジックロッド#
 277,700,0,0,0	//SA_SPELLBREAKER#スペルブレイカー#
 
-//279,3000,0,120000:150000:180000:210000:240000:270000:300000:360000:390000,0	//SA_AUTOSPELL#オートスペル#
-279,3000,0,0,0 //SA_AUTOSPELL#オートスペル#
+279,3000,0,120000:150000:180000:210000:240000:270000:300000:360000:390000,0	//SA_AUTOSPELL#オートスペル#
 280,3000,0,1200000,0	//SA_FLAMELAUNCHER#フレイムランチャー#
 281,3000,0,1200000,0	//SA_FROSTWEAPON#フロストウェポン#
 282,3000,0,1200000,0	//SA_LIGHTNINGLOADER#ライトニングローダー#
@@ -225,15 +224,13 @@
 358,0,0,180000,0	//LK_TENSIONRELAX#テンションリラックス#
 359,0,0,300000,0	//LK_BERSERK
 360,0,0,300000,0	//LK_FURY
-
 361,1000:1500:2000:2500:3000,1100:1200:1300:1400:1500,20000:30000:40000:50000:60000,0	//HP_ASSUMPTIO#アスムプティオ#
 362,5000:6000:7000:8000:9000,2000:3000:4000:5000:6000,20000:25000:30000:35000:40000,20000:25000:30000:35000:40000	//HP_BASILICA#バジリカ#
 
 365,300,300,0,0	//HW_MAGICCRASHER
-366,700,0,360000,0	//HW_MAGICPOWER#魔法力増幅#
-
+366,700,0,30000,0	//HW_MAGICPOWER#魔法力増幅#
 367,2000:2500:3000:3500:4000,2000:3000:4000:5000:6000,0,0	//PA_PRESSURE
-369,0,0,360000,0	//PA_GOSPEL#ゴスペル#
+369,0,0,100000,0	//PA_GOSPEL#ゴスペル#
 370,0,300,0,0 //CH_PALMSTRIKE 
 371,0,0,0,2000:4000:6000:8000:10000	//CH_TIGERFIST#伏虎拳#
 372,0,800:800:800:800:800:1000:1000:1000:1000:1000,0,0	//CH_CHAINCRUSH#連柱崩撃#

+ 17 - 1
db/skill_db.txt

@@ -387,7 +387,23 @@
 335,8,6,4,0,1,1,1,yes,0,0,0,magic,0	//WE_FEMALE#あなたに尽くします#
 336,8,6,4,0,1,1,1,yes,0,0,1,magic,0	//WE_CALLPARTNER#あなたに逢いたい#
 
-//338,0,0,0,0,0,0,0,no,0,0,0,none,0	//NPC_DARKCROSS#??ククロス#
+//338					//NPC_DARKCROSS#ダーククロス#
+339,0,6,4,7,0,10,1,no,33,256,0,magic,0		//NPC_DARKGRANDCROSS#闇グランドクロス#
+340,8,8,1,7,0,10,1:1:2:2:3:3:4:4:5:5,yes,0,0,0,magic,0	//NPC_DARKSOULSTRIKE#闇ソウルストライク#
+341,8,8,1,7,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,2:3:3:4:4:5:5:6:6:7//NPC_DARKJUPITEL#闇ユピテル#
+//342束縛
+//343武器壊し
+//344鎧壊し
+//345兜壊し
+//346盾壊し
+//347不死属性攻撃
+//348攻撃系エフェクト(後退?)
+//349赤爆裂
+//350速度増加エフェクト
+//351攻撃系スキルエフェクト
+//352攻撃系スキルエフェクト
+//353攻撃系スキルエフェクト
+//354攻撃系スキルエフェクト
 
 355,0,6,4,0,1,5,1,no,0,0,0,weapon,0	//LK_AURABLADE#オ?ラブレ?ド#
 356,0,6,4,0,1,10,1,no,0,0,0,weapon,0	//LK_PARRYING#パリイング#

+ 1 - 1
db/skill_tree.txt

@@ -895,7 +895,7 @@
 4013,376,10,48,5,134,7,0,0,0,0,0,0//ASC_KATAR		#基本スキル#
 //4013,377,10,49,5,135,5,0,0,0,0,0,0//ASC_HALLUCINATION		#基本スキル#
 4013,378,10,407,1,0,0,0,0,0,0,0,0//ASC_ENCHANTPOISON		#基本スキル#
-4013,379,10,48,5,135,3,138,6,140,5,0,0//ASC_BREAKER		#基本スキル#
+4013,379,10,48,5,135,3,138,6,52,5,0,0//ASC_BREAKER		#基本スキル#
 4013,406,10,132,3,134,5,136,5,379,1,0,0//ASC_METEORASSUALT
 4013,407,1,52,10,53,1,138,5,0,0,0,0//ASC_CDP
 // Peco Lord Knight

+ 84 - 2
src/map/atcommand.c

@@ -1948,8 +1948,90 @@ int atcommand_jobchange(
 	nullpo_retr(-1, sd);
 
 	if (!message || !*message || sscanf(message, "%d %d", &job, &upper) < 1) {
-		clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job ID>).");
-		return -1;
+
+		int i, found = 0;
+		const struct { char name[16]; int id; } jobs[] = {
+			{ "novice",		0 },
+			{ "swordsman",	1 },
+			{ "mage",		2 },
+			{ "archer",		3 },
+			{ "acolyte",	4 },
+			{ "merchant",	5 },
+			{ "thief",		6 },
+			{ "knight",		7 },
+			{ "priest",		8 },
+			{ "priestess",	8 },
+			{ "wizard",		9 },
+			{ "blacksmith",	10 },
+			{ "hunter",		11 },
+			{ "assassin",	12 },
+			{ "crusader",	14 },
+			{ "monk",		15 },
+			{ "sage",		16 },
+			{ "rogue",		17 },
+			{ "alchemist",	18 },
+			{ "bard",		19 },
+			{ "dancer",		20 },
+			{ "super novice",	23 },
+			{ "supernovice",	23 },
+			{ "high novice",	4001 },
+			{ "swordsman high",	4002 },
+			{ "mage high",		4003 },
+			{ "archer high",	4004 },
+			{ "acolyte high",	4005 },
+			{ "merchant high",	4006 },
+			{ "thief high",		4007 },
+			{ "lord knight",	4008 },
+			{ "high priest",	4009 },
+			{ "high priestess",	4009 },
+			{ "high wizard",	4010 },
+			{ "whitesmith",		4011 },
+			{ "sniper",		4012 },
+			{ "assassin cross",	4013 },
+			{ "paladin",	4015 },
+			{ "champion",	4016 },
+			{ "professor",	4017 },
+			{ "stalker",	4018 },
+			{ "creator",	4019 },
+			{ "clown",		4020 },
+			{ "gypsy",		4021 },
+			{ "baby novice",	4023 },
+			{ "baby swordsman",	4024 },
+			{ "baby mage",		4025 },
+			{ "baby archer",	4026 },
+			{ "baby acolyte",	4027 },
+			{ "baby merchant",	4028 },
+			{ "baby thief",		4029 },
+			{ "baby knight",	4030 },
+			{ "baby priest",	4031 },
+			{ "baby priestess",	4031 },
+			{ "baby wizard",	4032 },
+			{ "baby blacksmith",4033 },
+			{ "baby hunter",	4034 },
+			{ "baby assassin",	4035 },
+			{ "baby crusader",	4037 },
+			{ "baby monk",		4038 },
+			{ "baby sage",		4039 },
+			{ "baby rogue",		4040 },
+			{ "baby alchemist",	4041 },
+			{ "baby bard",		4042 },
+			{ "baby dancer",	4043 },
+			{ "super baby",		4045 },
+		};
+
+		for (i=0; i < (int)(sizeof(jobs) / sizeof(jobs[0])); i++) {
+			if (strncmpi(message, jobs[i].name, 16) == 0) {
+				job = jobs[i].id;
+				upper = 0;
+				found = 1;
+				break;
+			}
+		}
+
+		if (!found) {
+			clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job ID>).");
+			return -1;
+		}
 	}
 
 	if (job == 37 ||job == 45)

+ 40 - 23
src/map/skill.c

@@ -1,4 +1,4 @@
-// $Id: skill.c,v 1.8 2004/12/7 9:42:00 PM Celestia Exp $
+// $Id: skill.c,v 1.8 2004/12/9 8:14:18 PM Celestia Exp $
 /* スキル?係 */
 
 #include <stdio.h>
@@ -920,6 +920,7 @@ int skill_get_unit_id(int id,int flag)
 	case WZ_FROSTNOVA:		return 0x86;			/* フロストノヴァ */
 	case WZ_STORMGUST:		return 0x86;				/* スト?ムガスト(とりあえずLoVと同じで?理) */
 	case CR_GRANDCROSS:		return 0x86;				/* グランドクロス */
+	case NPC_DARKGRANDCROSS:	return 0x86;			/*闇グランドクロス*/
 	case WZ_FIREPILLAR:		return (flag==0)?0x87:0x88;	/* ファイア?ピラ? */
 	case HT_TALKIEBOX:		return 0x99;	/* ト?キ?ボックス */
 	case WZ_ICEWALL:		return 0x8d;				/* アイスウォ?ル */
@@ -1186,6 +1187,7 @@ int skill_additional_effect( struct block_list* src, struct block_list *bl,int s
 		break;
 
 	case CR_GRANDCROSS:		/* グランドクロス */
+	case NPC_DARKGRANDCROSS:	/*闇グランドクロス*/
 		{
 			int race = battle_get_race(bl);
 			if( (battle_check_undead(race,battle_get_elem_type(bl)) || race == 6) && rand()%100 < 100000*sc_def_int/100)	//?制付?だが完全耐性には無?
@@ -1520,7 +1522,7 @@ int skill_attack( int attack_type, struct block_list* src, struct block_list *ds
 	struct status_change *sc_data;
 	int type,lv,damage;
 
-	if(skilllv <= 0) return 0;
+	if(skillid > 0 && skilllv <= 0) return 0;
 
 	rdamage = 0;
 	nullpo_retr(0, src);
@@ -1606,7 +1608,7 @@ int skill_attack( int attack_type, struct block_list* src, struct block_list *ds
 	if(damage <= 0 || damage < dmg.div_) //吹き飛ばし判定?※
 		dmg.blewcount = 0;
 
-	if(skillid == CR_GRANDCROSS) {//グランドクロス
+	if(skillid == CR_GRANDCROSS||skillid == NPC_DARKGRANDCROSS) {//グランドクロス
 		if(battle_config.gx_disptype) dsrc = src;	// 敵ダメ?ジ白文字表示
 		if( src == bl) type = 4;	// 反動はダメ?ジモ?ションなし
 	}
@@ -1983,7 +1985,8 @@ int skill_check_unit_range2(int m,int x,int y,int range)
 /* ?象の?をカウントする。(skill_area_temp[0]を初期化しておくこと) */
 int skill_area_sub_count(struct block_list *src,struct block_list *target,int skillid,int skilllv,unsigned int tick,int flag)
 {
-	if(skilllv <= 0) return 0;
+	//if(skilllv <= 0) return 0;
+	if(skillid > 0 && skilllv <= 0) return 0;	// celest
 	if(skill_area_temp[0] < 0xffff)
 		skill_area_temp[0]++;
 	return 0;
@@ -2252,7 +2255,7 @@ int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int s
 	struct status_change *sc_data = battle_get_sc_data(src);
 	int i;
 
-	if(skilllv <= 0) return 0;
+	if(skillid > 0 && skilllv <= 0) return 0;
 
 	nullpo_retr(1, src);
 	nullpo_retr(1, bl);
@@ -2262,7 +2265,7 @@ int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int s
 	if(sd && pc_isdead(sd))
 		return 1;
 
-	if((skillid == WZ_SIGHTRASHER || skillid == CR_GRANDCROSS) && src != bl)
+	if((skillid == WZ_SIGHTRASHER || skillid == CR_GRANDCROSS || skillid == NPC_DARKGRANDCROSS) && src != bl)
 		bl = src;
 	if(bl->prev == NULL)
 		return 1;
@@ -2577,14 +2580,16 @@ int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int s
 
 	/* 魔法系スキル */
 	case MG_SOULSTRIKE:			/* ソウルストライク */
-	case MG_COLDBOLT:			/* コ?ルドボルト */
-	case MG_FIREBOLT:			/* ファイア?ボルト */
+	case NPC_DARKSOULSTRIKE:		/*闇ソウルストライク*/
+	case MG_COLDBOLT:			/* コールドボルト */
+	case MG_FIREBOLT:			/* ファイアーボルト */
 	case MG_LIGHTNINGBOLT:		/* ライトニングボルト */
-	case WZ_EARTHSPIKE:			/* ア?ススパイク */
-	case AL_HEAL:				/* ヒ?ル */
-	case AL_HOLYLIGHT:			/* ホ?リ?ライト */
-	case MG_FROSTDIVER:			/* フロストダイバ? */
-	case WZ_JUPITEL:			/* ユピテルサンダ? */
+	case WZ_EARTHSPIKE:			/* アーススパイク */
+	case AL_HEAL:				/* ヒール */
+	case AL_HOLYLIGHT:			/* ホーリーライト */
+	case MG_FROSTDIVER:			/* フロストダイバー */
+	case WZ_JUPITEL:			/* ユピテルサンダー */
+	case NPC_DARKJUPITEL:			/*闇ユピテル*/
 	case NPC_MAGICALATTACK:		/* MOB:魔法打?攻? */
 	case PR_ASPERSIO:			/* アスペルシオ */
 //	case HW_NAPALMVULCAN:		/* ナパームバルカン */
@@ -2705,6 +2710,7 @@ int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int s
 		break;
 
 	case CR_GRANDCROSS:			/* グランドクロス */
+	case NPC_DARKGRANDCROSS:		/*闇グランドクロス*/
 		/* スキルユニット配置 */
 		skill_castend_pos2(src,bl->x,bl->y,skillid,skilllv,tick,0);
 		if(sd)
@@ -2832,7 +2838,8 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int
 				,1157,1159,1190,1272,1312,1373,1492};
 	int poringclass[]={1002};
 
-	if(skilllv <= 0) return 0;
+	//if(skilllv <= 0) return 0;
+	if(skillid > 0 && skilllv <= 0) return 0;	// celest
 
 	nullpo_retr(1, src);
 	nullpo_retr(1, bl);
@@ -4327,9 +4334,8 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int
 
 	case NPC_SUMMONSLAVE:		/* 手下召喚 */
 	case NPC_SUMMONMONSTER:		/* MOB召喚 */
-		if(md && !md->master_id){
+		if(md)
 			mob_summonslave(md,mob_db[md->class].skill[md->skillidx].val,skilllv,(skillid==NPC_SUMMONSLAVE)?1:0);
-		}
 		break;
 
 	case NPC_TRANSFORMATION:
@@ -4850,7 +4856,8 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil
 	struct map_session_data *sd=NULL;
 	int i,tmpx = 0,tmpy = 0, x1 = 0, y1 = 0;
 
-	if(skilllv <= 0) return 0;
+	//if(skilllv <= 0) return 0;
+	if(skillid > 0 && skilllv <= 0) return 0;	// celest
 
 	nullpo_retr(0, src);
 
@@ -4893,8 +4900,12 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil
 	case HT_DETECTING:				/* ディテクティング */
 		{
 			const int range=7;
+			if(src->x!=x)
+				x+=(src->x-x>0)?-range:range;
+			if(src->y!=y)
+				y+=(src->y-y>0)?-range:range;
 			map_foreachinarea( skill_status_change_timer_sub,
-				src->m, src->x-range, src->y-range, src->x+range,src->y+range,0,
+				src->m, x-range, y-range, x+range,y+range,0,
 				src,SC_SIGHT,tick);
 		}
 		break;
@@ -4914,6 +4925,7 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil
 	case PR_SANCTUARY:			/* サンクチュアリ */
 	case PR_MAGNUS:				/* マグヌスエクソシズム */
 	case CR_GRANDCROSS:			/* グランドクロス */
+	case NPC_DARKGRANDCROSS:		/*闇グランドクロス*/
 	case HT_SKIDTRAP:			/* スキッドトラップ */
 	case HT_LANDMINE:			/* ランドマイン */
 	case HT_ANKLESNARE:			/* アンクルスネア */
@@ -5331,6 +5343,7 @@ struct skill_unit_group *skill_unitsetting( struct block_list *src, int skillid,
 		break;
 
 	case CR_GRANDCROSS:			/* グランドクロス */
+	case NPC_DARKGRANDCROSS:		/*闇グランドクロス*/
 		count=29;
 		limit=1000;
 		interval=300;
@@ -5641,6 +5654,7 @@ struct skill_unit_group *skill_unitsetting( struct block_list *src, int skillid,
 			break;
 
 		case CR_GRANDCROSS:		/* グランドクロス */
+		case NPC_DARKGRANDCROSS:		/*闇グランドクロス*/
 			{
 				static const int dx[]={
 					0, 0, -1,0,1, -2,-1,0,1,2, -4,-3,-2,-1,0,1,2,3,4, -2,-1,0,1,2, -1,0,1, 0, 0, };
@@ -6786,7 +6800,8 @@ static int skill_check_condition_use_sub(struct block_list *bl,va_list ap)
 	ss_class = pc_calc_base_job(ssd->status.class);
 	skillid=ssd->skillid;
 	skilllv=ssd->skilllv;
-	if(skilllv <= 0) return 0;
+	//if(skilllv <= 0) return 0;
+	if(skillid > 0 && skilllv <= 0) return 0;	// celest
 	switch(skillid){
 	case PR_BENEDICTIO:				/* 聖?降福 */
 		if(sd != ssd && (s_class.job == 4 || s_class.job == 8 || s_class.job == 15) &&
@@ -8284,7 +8299,8 @@ int skill_attack_area(struct block_list *bl,va_list ap)
 		return 0;
 	skillid=va_arg(ap,int);
 	skilllv=va_arg(ap,int);
-	if(skilllv <= 0) return 0;
+	//if(skilllv <= 0) return 0;
+	if(skillid > 0 && skilllv <= 0) return 0;	// celest
 	tick=va_arg(ap,unsigned int);
 	flag=va_arg(ap,int);
 	type=va_arg(ap,int);
@@ -8818,6 +8834,7 @@ int skill_status_change_timer(int tid, unsigned int tick, int id, int data)
 	if(sc_data[type].timer != tid) {
 		if(battle_config.error_log)
 			printf("skill_status_change_timer %d != %d\n",tid,sc_data[type].timer);
+		return 0;
 	}
 
 	switch(type){	/* 特殊な?理になる場合 */
@@ -9096,7 +9113,7 @@ int skill_status_change_timer(int tid, unsigned int tick, int id, int data)
 	case SC_MEMORIZE:	/* メモライズ */
 	case SC_BROKNWEAPON:
 	case SC_BROKNARMOR:
-		if(sc_data[type].timer==tid)
+//		if(sc_data[type].timer==tid)
 			sc_data[type].timer=add_timer( 1000*600+tick,skill_status_change_timer, bl->id, data );
 		return 0;
 
@@ -9373,7 +9390,7 @@ int skill_status_change_start(struct block_list *bl, int type, int val1, int val
 			type != SC_SPEEDPOTION0 && type != SC_SPEEDPOTION1 && type != SC_SPEEDPOTION2
 						 && type != SC_ATKPOT && type != SC_MATKPOT) // added atk and matk potions [Valaris]
 			return 0;
-		if(type >=SC_STAN && type <= SC_BLIND)
+		if ((type >=SC_STAN && type <= SC_BLIND) || type == SC_DPOISON)
 			return 0;/* ?ぎ足しができない?態異常である時は?態異常を行わない */
 		if(type == SC_GRAFFITI){	//異常中にもう一度?態異常になった時に解除してから再度かかる
 			skill_status_change_end(bl,type,-1);
@@ -9941,11 +9958,11 @@ int skill_status_change_start(struct block_list *bl, int type, int val1, int val
 		case SC_BERSERK:
 			calc_flag=1;
 			break;
+*/
 		case SC_ASSUMPTIO:
 			if(sc_data[SC_KYRIE].timer!=-1 )
 				skill_status_change_end(bl,SC_KYRIE,-1);
 				break;
-*/
 		case SC_WINDWALK:		/* ウインドウォ?ク */
 			calc_flag = 1;
 			val2 = (val1 / 2); //Flee上昇率

+ 3 - 0
src/map/skill.h

@@ -738,6 +738,9 @@ enum {
 	NPC_SELFDESTRUCTION2 = 331,
 	ITM_TOMAHAWK = 337,
 	NPC_DARKCROSS = 338,
+	NPC_DARKGRANDCROSS,
+	NPC_DARKSOULSTRIKE,
+	NPC_DARKJUPITEL,
 
 	LK_AURABLADE = 355,
 	LK_PARRYING,