Przeglądaj źródła

Added new skill inf: INF2_NOLP, for bugreport:4347.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15132 54d463be-8e91-2dee-dedb-b68131a5f0ec
shennetsind 13 lat temu
rodzic
commit
37a52df4a1
3 zmienionych plików z 5 dodań i 3 usunięć
  1. 3 2
      db/skill_db.txt
  2. 1 1
      src/map/skill.c
  3. 1 0
      src/map/skill.h

+ 3 - 2
db/skill_db.txt

@@ -36,6 +36,7 @@
 //    0x0400- usable only on party-members (and enemies if skill is offensive)
 //    0x0800- usable only on guild-mates (and enemies if skill is offensive)
 //    0x1000- disable usage on enemies (for non-offensive skills).
+//    0x2000- skill ignores land protector (e.g. arrow shower)
 // 13 maxcount: max amount of skill instances to place on the ground when
 //    player_land_skill_limit/monster_land_skill_limit is enabled. For skills
 //    that attack using a path, this is the path length to be used.
@@ -89,7 +90,7 @@
 44,0,0,0,0,0,0,10,0,no,0,0,0,none,0,		AC_VULTURE,Vulture's Eye
 45,0,6,4,0,0x3,3,10,1,no,0,0,0,weapon,0,		AC_CONCENTRATION,Improve Concentration
 46,-9,8,1,-1,0,0,10,2,no,0,0,0,weapon,0,		AC_DOUBLE,Double Strafe
-47,-9,6,2,-1,0x2,2,10,1,no,0,0,0,weapon,2,	AC_SHOWER,Arrow Shower
+47,-9,6,2,-1,0x2,2,10,1,no,0,0x2000,0,weapon,2,	AC_SHOWER,Arrow Shower
 48,-1,8,0,-1,0,0,10,2,no,0,0,0,weapon,0,		TF_DOUBLE,Double Attack
 49,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,		TF_MISS,Improve Dodge
 50,1,6,1,0,1,0,10,1,no,0,0,0,weapon,0,		TF_STEAL,Steal
@@ -1095,7 +1096,7 @@
 8205,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,	MS_REFLECTSHIELD,Shield_Reflect
 8206,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,	MS_BERSERK,Frenzy
 8207,-9,8,1,-1,0,0,10,2,no,0,0,0,weapon,0,	MA_DOUBLE,Double_Strafe
-8208,-9,6,2,-1,0x2,2,10,1,no,0,0,0,weapon,2,	MA_SHOWER,Arrow_Shower
+8208,-9,6,2,-1,0x2,2,10,1,no,0,0x2000,0,weapon,2,	MA_SHOWER,Arrow_Shower
 8209,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,6:7:8:9:10,	MA_SKIDTRAP,Skid_Trap
 8210,3,6,2,2,0x40,0,5,1,no,0,0x80,0,misc,0,	MA_LANDMINE,Land_Mine
 8211,3,6,2,0,0x3,2,5,1,no,0,0x80,0,misc,0,	MA_SANDMAN,Sandman

+ 1 - 1
src/map/skill.c

@@ -12342,7 +12342,7 @@ int skill_unit_timer_sub_onplace (struct block_list* bl, va_list ap)
 
 	nullpo_ret(group);
 
-	if( group->skill_id != AC_SHOWER && !(skill_get_inf2(group->skill_id)&(INF2_SONG_DANCE|INF2_TRAP)) && map_getcell(bl->m, bl->x, bl->y, CELL_CHKLANDPROTECTOR) )
+	if( !(skill_get_inf2(group->skill_id)&(INF2_SONG_DANCE|INF2_TRAP|INF2_NOLP)) && map_getcell(bl->m, bl->x, bl->y, CELL_CHKLANDPROTECTOR) )
 		return 0; //AoE skills are ineffective. [Skotlex]
 
 	if( battle_check_target(&unit->bl,bl,group->target_flag) <= 0 )

+ 1 - 0
src/map/skill.h

@@ -64,6 +64,7 @@ enum e_skill_inf2
 	INF2_PARTY_ONLY     = 0x0400,
 	INF2_GUILD_ONLY     = 0x0800,
 	INF2_NO_ENEMY       = 0x1000,
+	INF2_NOLP           = 0x2000,  // Spells that can ignore Land Protector
 };
 
 //Walk intervals at which chase-skills are attempted to be triggered.