Просмотр исходного кода

Unequip should no longer remove any buff from seven wind. (bugreport:1155)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12503 54d463be-8e91-2dee-dedb-b68131a5f0ec
Kevin 17 лет назад
Родитель
Сommit
29c5006148
5 измененных файлов с 7 добавлено и 3 удалено
  1. 1 0
      Changelog-Trunk.txt
  2. 1 1
      src/map/pc.c
  3. 3 0
      src/map/skill.c
  4. 1 2
      src/map/status.c
  5. 1 0
      src/map/status.h

+ 1 - 0
Changelog-Trunk.txt

@@ -4,6 +4,7 @@ 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.
 
 2008/04/05
+	* Unequip should no longer remove any buff from seven wind. (r12503) [Kevin]
 	* Union and Increase AGI now stack. (r12502) [Kevin]
 	* Union now consumes sp when not soul linked. (r12499) [Kevin]
 	* Running into a wall/npc/pc/mob no longer enables spurt. (r12498) [Kevin]

+ 1 - 1
src/map/pc.c

@@ -6591,7 +6591,7 @@ int pc_unequipitem(struct map_session_data *sd,int n,int flag)
 	clif_unequipitemack(sd,n,sd->status.inventory[n].equip,1);
 
 	if((sd->status.inventory[n].equip & EQP_ARMS) && 
-		sd->weapontype1 == 0 && sd->weapontype2 == 0)
+		sd->weapontype1 == 0 && sd->weapontype2 == 0 && (!sd->sc.data[SC_SEVENWIND] || sd->sc.data[SC_ASPERSIO])) //Check for seven wind (but not level seven!)
 		skill_enchant_elemental_end(&sd->bl,-1);
 
 	if(sd->status.inventory[n].equip & EQP_ARMOR) {

+ 3 - 0
src/map/skill.c

@@ -3249,6 +3249,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 		}
 		clif_skill_nodamage(src,bl,skillid,skilllv,
 			sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv)));
+
+		sc_start(bl,SC_SEVENWIND,100,skilllv,skill_get_time(skillid,skilllv));
+			
 		break;
 
 	case PR_KYRIE:

+ 1 - 2
src/map/status.c

@@ -319,8 +319,7 @@ void initChangeTables(void)
 	set_sc( TK_READYCOUNTER      , SC_READYCOUNTER    , SI_READYCOUNTER    , SCB_NONE );
 	set_sc( TK_DODGE             , SC_DODGE           , SI_DODGE           , SCB_NONE );
 	set_sc( TK_SPTIME            , SC_TKREST          , SI_TKREST          , SCB_NONE );
-	set_sc( TK_SEVENWIND         , SC_GHOSTWEAPON     , SI_GHOSTWEAPON     , SCB_ATK_ELE );
-	set_sc( TK_SEVENWIND         , SC_SHADOWWEAPON    , SI_SHADOWWEAPON    , SCB_ATK_ELE );
+	add_sc( TK_SEVENWIND         , SC_SEVENWIND );
 	set_sc( SG_SUN_WARM          , SC_WARM            , SI_WARM            , SCB_NONE );
 	add_sc( SG_MOON_WARM         , SC_WARM            );
 	add_sc( SG_STAR_WARM         , SC_WARM            );

+ 1 - 0
src/map/status.h

@@ -291,6 +291,7 @@ typedef enum sc_type {
 	SC_ARMOR_RESIST,
 	SC_SPCOST_RATE,
 	SC_COMMONSC_RESIST,
+	SC_SEVENWIND,
 	SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
 } sc_type;