diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-09-07 17:40:46 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-09-07 17:40:46 +0000 |
commit | 8cf58f2846e8a701fe61a149c5bf532732572780 (patch) | |
tree | 6492a544f57cffc01af8cd22a0e96dfbc1fe020a /src/map/status.c | |
parent | 79f357bf323dbd91529bafe78160149851902377 (diff) | |
download | hercules-8cf58f2846e8a701fe61a149c5bf532732572780.tar.gz hercules-8cf58f2846e8a701fe61a149c5bf532732572780.tar.bz2 hercules-8cf58f2846e8a701fe61a149c5bf532732572780.tar.xz hercules-8cf58f2846e8a701fe61a149c5bf532732572780.zip |
- Removed the Warmth "stacking" code.
- Added back the effect of /doridori to skill-SP regen
- Implemented a rough version of Angel of the Sun/Moon/Stars, it has a low chance of triggering on doridori-boosted SP-regen events.
- Added sg_angel_skill_ratio to specify rate at which the Angel skill triggers.
- Added unit_cancel_combo which takes care of ending a combo time and resuming normal attack 'inmediately'
- Cleaned up some the SG_HATE code, you can't change hate targets anymore.
- Increased duration of Miracle of the Sun/Moon/Stars to one hour.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8664 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/map/status.c b/src/map/status.c index 352d0da62..e561b7d91 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4701,13 +4701,6 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val if (sc->data[type].val2 > val2)
return 0;
break;
- case SC_WARM:
- { //Fetch the Group, half the attack interval. [Skotlex]
- struct skill_unit_group *group = (struct skill_unit_group *)sc->data[type].val4;
- if (group)
- group->interval/=2;
- return 1;
- }
case SC_STUN:
case SC_SLEEP:
case SC_POISON:
@@ -7012,8 +7005,24 @@ static int status_natural_heal(DBKey key,void * data,va_list app) sregen->tick.sp += natural_heal_diff_tick * sregen->rate.sp;
while(sregen->tick.sp >= (unsigned int)battle_config.natural_heal_skill_interval)
{
+ val = sregen->sp;
+ if (sd && sd->doridori_counter) {
+ val*=2;
+ sd->doridori_counter--;
+ if (
+ (sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR &&
+ rand()%10000 < battle_config.sg_angel_skill_ratio
+ ) { //Angel of the Sun/Moon/Star
+ malloc_set(sd->hate_mob, 0, sizeof(sd->hate_mob));
+ pc_setglobalreg(sd,"PC_HATE_MOB_STAR", 0);
+ pc_setglobalreg(sd,"PC_HATE_MOB_SUN", 0);
+ pc_setglobalreg(sd,"PC_HATE_MOB_MOON", 0);
+ pc_resetfeel(sd);
+ //TODO: Figure out how to make the client-side msg show up.
+ }
+ }
sregen->tick.sp -= battle_config.natural_heal_skill_interval;
- if(status_heal(bl, 0, sregen->sp, 3) < sregen->sp)
+ if(status_heal(bl, 0, val, 3) < val)
break; //Full
}
}
|