summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorKevin <Kevin@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-06 04:19:22 +0000
committerKevin <Kevin@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-06 04:19:22 +0000
commita9e29df778514bd1dca21b6a65595410733a0da1 (patch)
tree8a0620b9c754445ae26db7e7d136c42b5ab36ba8 /src/map
parentae10f5471926661984cd90392023af97c3d69fee (diff)
downloadhercules-a9e29df778514bd1dca21b6a65595410733a0da1.tar.gz
hercules-a9e29df778514bd1dca21b6a65595410733a0da1.tar.bz2
hercules-a9e29df778514bd1dca21b6a65595410733a0da1.tar.xz
hercules-a9e29df778514bd1dca21b6a65595410733a0da1.zip
Unequip should no longer remove any buff from seven wind. (bugreport:1155)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12503 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r--src/map/pc.c2
-rw-r--r--src/map/skill.c3
-rw-r--r--src/map/status.c3
-rw-r--r--src/map/status.h1
4 files changed, 6 insertions, 3 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index 7a2d47f2b..3d7572326 100644
--- a/src/map/pc.c
+++ b/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) {
diff --git a/src/map/skill.c b/src/map/skill.c
index 2b2ebc8a4..d4b25573c 100644
--- a/src/map/skill.c
+++ b/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:
diff --git a/src/map/status.c b/src/map/status.c
index d9c72c123..c8c154946 100644
--- a/src/map/status.c
+++ b/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 );
diff --git a/src/map/status.h b/src/map/status.h
index 5011eada5..0f2e47778 100644
--- a/src/map/status.h
+++ b/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;