diff options
author | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-06-04 22:46:14 +0000 |
---|---|---|
committer | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-06-04 22:46:14 +0000 |
commit | 2f526028369f0fb0148ced3d9d6d6b970307421d (patch) | |
tree | 15a9ebe54f7f0d8e66f7f677e7626d983272e2d7 /src/map/skill.c | |
parent | e1ae8412aea23d699a31116f4c677e8053ad03e3 (diff) | |
download | hercules-2f526028369f0fb0148ced3d9d6d6b970307421d.tar.gz hercules-2f526028369f0fb0148ced3d9d6d6b970307421d.tar.bz2 hercules-2f526028369f0fb0148ced3d9d6d6b970307421d.tar.xz hercules-2f526028369f0fb0148ced3d9d6d6b970307421d.zip |
* Updates to ST_PRESERVE and a few other minor details!
- Recasting Preserve no longer toggles the skill off while active.
- Preserve is no longer saved on log-out or mapserver changes.
* Added SC_CRITICALWOUND and SC_SLOWCAST to negative statuses not saved with battle_config.debuff_on_logout&1
* Implemented the skills NPC_HELLPOWER and NPC_WIDEHELLDIGNITY, as per my personal experiences with the skill on iRO.
* Increased MAX_MOBSKILLS to 50, as Satan Morroc has over 40 active skills now.
* Added skill information for NPC_HELLPOWER and NPC_WIDEHELLDIGNITY, and enabled skills in mob_skill_db.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13843 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index bcd25556d..fd9c4b674 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -786,6 +786,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int case NPC_POISON: case NPC_SILENCEATTACK: case NPC_STUNATTACK: + case NPC_HELLPOWER: sc_start(bl,status_skill2sc(skillid),50+10*skilllv,skilllv,skill_get_time2(skillid,skilllv)); break; case NPC_ACIDBREATH: @@ -2555,6 +2556,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int case HFLI_SBR44: //[orn] case NPC_BLEEDING: case NPC_CRITICALWOUND: + case NPC_HELLPOWER: skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); break; @@ -3252,6 +3254,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in break; { int per = 0, sper = 0; + if (status_get_sc(bl)->data[SC_HELLPOWER]) + break; + if (map[bl->m].flag.pvp && dstsd && dstsd->pvp_point < 0) break; @@ -3635,6 +3640,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case NJ_NEN: case NPC_DEFENDER: case NPC_MAGICMIRROR: + case ST_PRESERVE: clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); break; @@ -4064,7 +4070,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case TK_READYCOUNTER: case TK_DODGE: case CR_SHRINK: - case ST_PRESERVE: case SG_FUSION: case GS_GATLINGFEVER: if( tsce ) @@ -5607,6 +5612,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case NPC_WIDESTONE: case NPC_WIDESTUN: case NPC_SLOWCAST: + case NPC_WIDEHELLDIGNITY: if (flag&1) sc_start(bl,type,100,skilllv,skill_get_time2(skillid,skilllv)); else { |