- Fixed being unable to recast Adrenaline Rush to reset the duration timers.
- Added structure regen_data to handle unified regen logic for bl objects. Eh... this is wip, so it isn't used yet, just the preliminar structure is there... (somehow I lost all other progress I had done on it x.x) git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8323 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
b25cc06a43
commit
6a8503e7b1
@ -4,6 +4,8 @@ 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.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/08/16
|
2006/08/16
|
||||||
|
* Fixed being unable to recast Adrenaline Rush to reset the duration
|
||||||
|
timers. [Skotlex]
|
||||||
* Cleaned up skill_get_range2 so that using range 0 for non-self skills
|
* Cleaned up skill_get_range2 so that using range 0 for non-self skills
|
||||||
uses the caster's attack range. [Skotlex]
|
uses the caster's attack range. [Skotlex]
|
||||||
* Fixed AM_CALLHOMUN checking for an embryo when you have a vaporized
|
* Fixed AM_CALLHOMUN checking for an embryo when you have a vaporized
|
||||||
|
@ -465,6 +465,34 @@ struct view_data {
|
|||||||
unsigned dead_sit : 2;
|
unsigned dead_sit : 2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct regen_data {
|
||||||
|
|
||||||
|
int flag; //Marks what stuff you may heal or not.
|
||||||
|
unsigned int
|
||||||
|
hp_tick, //tick accumulation before healing.
|
||||||
|
sp_tick,
|
||||||
|
shp_tick,
|
||||||
|
ssp_tick;
|
||||||
|
|
||||||
|
unsigned short
|
||||||
|
hp, //natural heal
|
||||||
|
sp,
|
||||||
|
s_hp, //natural heal from skills
|
||||||
|
s_sp;
|
||||||
|
|
||||||
|
unsigned char //Skill related regen rates.
|
||||||
|
hpfactor,
|
||||||
|
spfactor,
|
||||||
|
shpfactor,
|
||||||
|
sspfactor;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
unsigned walk_regen :1; //Can you regen even when walking?
|
||||||
|
unsigned overweight :1; //Block regen due to overweight.
|
||||||
|
unsigned block :2; //Block regen flag (1: Hp, 2: Sp)
|
||||||
|
} state;
|
||||||
|
};
|
||||||
|
|
||||||
struct party_member_data {
|
struct party_member_data {
|
||||||
struct map_session_data *sd;
|
struct map_session_data *sd;
|
||||||
unsigned int hp; //For HP,x,y refreshing.
|
unsigned int hp; //For HP,x,y refreshing.
|
||||||
|
@ -3509,12 +3509,12 @@ static short status_calc_aspd_rate(struct block_list *bl, struct status_change *
|
|||||||
max = sc->data[SC_ONEHAND].val2;
|
max = sc->data[SC_ONEHAND].val2;
|
||||||
|
|
||||||
if(sc->data[SC_ADRENALINE2].timer!=-1 &&
|
if(sc->data[SC_ADRENALINE2].timer!=-1 &&
|
||||||
max < sc->data[SC_ADRENALINE2].val2)
|
max < sc->data[SC_ADRENALINE2].val3)
|
||||||
max = sc->data[SC_ADRENALINE2].val2;
|
max = sc->data[SC_ADRENALINE2].val3;
|
||||||
|
|
||||||
if(sc->data[SC_ADRENALINE].timer!=-1 &&
|
if(sc->data[SC_ADRENALINE].timer!=-1 &&
|
||||||
max < sc->data[SC_ADRENALINE].val2)
|
max < sc->data[SC_ADRENALINE].val3)
|
||||||
max = sc->data[SC_ADRENALINE].val2;
|
max = sc->data[SC_ADRENALINE].val3;
|
||||||
|
|
||||||
if(sc->data[SC_SPEARQUICKEN].timer!=-1 &&
|
if(sc->data[SC_SPEARQUICKEN].timer!=-1 &&
|
||||||
max < sc->data[SC_SPEARQUICKEN].val2)
|
max < sc->data[SC_SPEARQUICKEN].val2)
|
||||||
@ -5304,9 +5304,9 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
|
|||||||
case SC_ADRENALINE2:
|
case SC_ADRENALINE2:
|
||||||
case SC_ADRENALINE:
|
case SC_ADRENALINE:
|
||||||
if (val2 || !battle_config.party_skill_penalty)
|
if (val2 || !battle_config.party_skill_penalty)
|
||||||
val2 = 300;
|
val3 = 300;
|
||||||
else
|
else
|
||||||
val2 = 200;
|
val3 = 200;
|
||||||
break;
|
break;
|
||||||
case SC_CONCENTRATION:
|
case SC_CONCENTRATION:
|
||||||
val2 = 5*val1; //Batk/Watk Increase
|
val2 = 5*val1; //Batk/Watk Increase
|
||||||
|
Loading…
x
Reference in New Issue
Block a user