diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-03-13 15:49:49 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-03-13 15:49:49 +0000 |
commit | aca2d8434c6aba5250c346fa6ad668f43ca763d2 (patch) | |
tree | 4b13c1a546cea4963e2c848505b083e06e506114 /src/map/skill.c | |
parent | 11d86b0d40e6e30b7ac138f17947a34ac841c3ee (diff) | |
download | hercules-aca2d8434c6aba5250c346fa6ad668f43ca763d2.tar.gz hercules-aca2d8434c6aba5250c346fa6ad668f43ca763d2.tar.bz2 hercules-aca2d8434c6aba5250c346fa6ad668f43ca763d2.tar.xz hercules-aca2d8434c6aba5250c346fa6ad668f43ca763d2.zip |
- @pvpoff and @gvgoff will make everyone in the map stop auto-attacking now.
- when @killer is deactivated the issuer will stop attacking.
- when @killable is deactivated, everyone around the user who is attacking the issuer will stop.
- Cleaned up some the code for dispell. It no longer removes food boosts.
- Players will stop attacking when they change their look.
- Applied Alydis's fix to the mvp item logs logging mvp items even if the player couldn't get the item.
- Changed the default of debuff_on_logout to 1 since food items shouldn't dispell on logout.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9997 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 93345b559..bb22057b4 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4625,15 +4625,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in for(i=0;i<SC_MAX;i++){ if (tsc->data[i].timer == -1) continue; - if(i==SC_HALLUCINATION || i==SC_WEIGHT50 || i==SC_WEIGHT90 - || i==SC_STRIPWEAPON || i==SC_STRIPSHIELD || i==SC_STRIPARMOR || i==SC_STRIPHELM - || i==SC_CP_WEAPON || i==SC_CP_SHIELD || i==SC_CP_ARMOR || i==SC_CP_HELM - || i==SC_COMBO || i==SC_DANCING || i==SC_GUILDAURA || i==SC_EDP - || i==SC_AUTOBERSERK || i==SC_CARTBOOST || i==SC_MELTDOWN - || i==SC_SAFETYWALL || i==SC_SMA || i==SC_SPEEDUP0 - || i==SC_NOCHAT - ) + switch (i) { + case SC_WEIGHT50: case SC_WEIGHT90: case SC_HALLUCINATION: + case SC_STRIPWEAPON: case SC_STRIPSHIELD: case SC_STRIPARMOR: + case SC_STRIPHELM: case SC_CP_WEAPON: case SC_CP_SHIELD: + case SC_CP_ARMOR: case SC_CP_HELM: case SC_COMBO: + case SC_STRFOOD: case SC_AGIFOOD: case SC_VITFOOD: + case SC_INTFOOD: case SC_DEXFOOD: case SC_LUKFOOD: + case SC_HITFOOD: case SC_FLEEFOOD: case SC_BATKFOOD: + case SC_WATKFOOD: case SC_MATKFOOD: case SC_DANCING: + case SC_GUILDAURA: case SC_EDP: case SC_AUTOBERSERK: + case SC_CARTBOOST: case SC_MELTDOWN: case SC_SAFETYWALL: + case SC_SMA: case SC_SPEEDUP0: case SC_NOCHAT: + case SC_ANKLE: continue; + } if(i==SC_BERSERK) tsc->data[i].val2=0; //Mark a dispelled berserk to avoid setting hp to 100 by setting hp penalty to 0. status_change_end(bl,i,-1); } @@ -4712,10 +4718,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in else hp = 0; - if (skilllv > 1 && sp) //Recover some of the SP used + if (sp) //Recover some of the SP used sp = sp*(25*(skilllv-1))/100; - else - sp = 0; if(hp || sp) status_heal(src, hp, sp, 2); |