Explorar o código

Fixed bugreport:6332 updated NJ_TATAMIGAESHI to its RE behavior.
Fixed bugreport:7101 where MO_EXTREMITYFIST don't consume sp when used against plant type monster.
Fixed bugreport:7116 missing duration for HW_MAGICPOWER.
Fixed bugreport:7117 where WL_WHITEIMPRISON doesn't work properly.

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

rud0lp20 %!s(int64=12) %!d(string=hai) anos
pai
achega
955ba62f74
Modificáronse 5 ficheiros con 17 adicións e 24 borrados
  1. 2 0
      db/re/skill_cast_db.txt
  2. 1 1
      db/re/skill_db.txt
  3. 1 16
      npc/re/scripts_main.conf
  4. 4 2
      src/map/battle.c
  5. 9 5
      src/map/skill.c

+ 2 - 0
db/re/skill_cast_db.txt

@@ -553,6 +553,8 @@
 //===== High Wzard =========================
 //-- HW_MAGICCRASHER
 365,300,300,0,0,0,0,0
+//-- HW_MAGICPOWER 
+366,0,0,0,30000,0,0,0 
 //==========================================
 
 

+ 1 - 1
db/re/skill_db.txt

@@ -570,7 +570,7 @@
 524,9,8,1,-1,0x40,0,5,3,no,0,0,0,weapon,0,	NJ_KUNAI,Throw Kunai
 525,9,8,2,-1,0x2,0,5,-3:-3:-4:-4:-5,no,0,0,0,weapon,0,	NJ_HUUMA,Throw Huuma Shuriken
 526,9,6,1,0,0x50,0,10,1,no,0,0,0,misc,0,		NJ_ZENYNAGE,Throw Zeny
-527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,3,		NJ_TATAMIGAESHI,Improvised Defense
+527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,4,		NJ_TATAMIGAESHI,Improvised Defense
 528,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,	NJ_KASUMIKIRI,Vanishing Slash
 529,7:9:11:13:15,6,2,0,0x1,0,5,1,no,0,0,0,none,0,	NJ_SHADOWJUMP,Shadow Leap
 530,7:9:11:13:15,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,	NJ_KIRIKAGE,Shadow Slash

+ 1 - 16
npc/re/scripts_main.conf

@@ -26,19 +26,4 @@ npc: npc/other/Global_Functions.txt
 npc: npc/other/CashShop_Functions.txt
 
 // ------------------- Common Script Files ----------------------
-import: npc/scripts_athena.conf
-import: npc/scripts_guild.conf
-import: npc/scripts_jobs.conf
-import: npc/scripts_mapflags.conf
-import: npc/scripts_monsters.conf
-import: npc/scripts_warps.conf
-
-// ------------------- Renewal Script Files ---------------------
-import: npc/re/scripts_athena.conf
-import: npc/re/scripts_jobs.conf
-import: npc/re/scripts_monsters.conf
-import: npc/re/scripts_warps.conf
-
-// ------------------- Custom Script Files ----------------------
-// - Your NPCs go in this file!
-import: npc/scripts_custom.conf
+npc: npc/re/m.txt

+ 4 - 2
src/map/battle.c

@@ -2338,7 +2338,6 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 						//You'd need something like 6K SP to reach this max, so should be fine for most purposes.
 						if (ratio > 60000) ratio = 60000; //We leave some room here in case skillratio gets further increased.
 						skillratio = (unsigned short)ratio;
-						status_set_sp(src, 0, 0);
 					}
 					break;
 				case MO_TRIPLEATTACK:
@@ -2487,6 +2486,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 					skillratio += 50 + 150*skill_lv;
 					break;
 				case NJ_TATAMIGAESHI:
+#ifdef RENEWAL
+					ATK_RATE(200);
+#endif
 					skillratio += 10*skill_lv;
 					break;
 				case NJ_KASUMIKIRI:
@@ -2933,7 +2935,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 				case MH_LAVA_SLIDE:
 					skillratio = 70 * skill_lv;
 					break;
-                                case MH_TINDER_BREAKER:
+				case MH_TINDER_BREAKER:
 				case MH_MAGMA_FLOW:
 					skillratio += -100 + 100 * skill_lv;
 					break;

+ 9 - 5
src/map/skill.c

@@ -3701,19 +3701,21 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 			short x, y, i = 2; // Move 2 cells for Issen(from target)
 			struct block_list *mbl = bl;
 			short dir = 0;
+			
+			skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
 
 			if( skill_id == MO_EXTREMITYFIST )
 			{
 				mbl = src;
 				i = 3; // for Asura(from caster)
+				status_set_sp(src, 0, 0);
 				status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
 				status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
 #ifdef RENEWAL
 				sc_start(src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv));
 #endif
 			}
-			skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
-
+			
 			dir = map_calc_dir(src,bl->x,bl->y);
 			if( dir > 0 && dir < 4) x = -i;
 			else if( dir > 4 ) x = i;
@@ -7826,10 +7828,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 				skill_blockpc_start(sd,skill_id,4000);
 
 			if( !(tsc && tsc->data[type]) ){
-				if( i )
-					break;
+				i = sc_start2(bl,type,rate,skill_lv,src->id,(src == bl)?5000:(bl->type == BL_PC)?skill_get_time(skill_id,skill_lv):skill_get_time2(skill_id, skill_lv)); 
+				clif_skill_nodamage(src,bl,skill_id,skill_lv,i); 
+				if( !i )
+					clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
 			}
-		}
+		}else
 		if( sd )
 			clif_skill_fail(sd,skill_id,USESKILL_FAIL_TOTARGET,0);
 		break;