- Fixed (?) the Family recall warp skills.

- Fixed pc_percentheal giving life when the rates are negative.
- Fixed resetting stats losing the +52 bonus on high classes.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5793 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-03-28 21:23:27 +00:00
parent 286820f191
commit c1b97d2cec
3 changed files with 11 additions and 7 deletions

View File

@ -4,6 +4,9 @@ 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/03/28 2006/03/28
* Fixed the Family recall warp skills. [Skotlex]
* Fixed pc_percentheal giving life when the rates are negative. [Skotlex]
* Fixed resetting stats losing the +52 bonus on high classes. [Skotlex]
* Fixed Wedding support skills healing yourself instead of partner. * Fixed Wedding support skills healing yourself instead of partner.
[Skotlex] [Skotlex]
* Added a check to prevent knocking back the Emperium at all costs. * Added a check to prevent knocking back the Emperium at all costs.

View File

@ -4430,7 +4430,8 @@ int pc_resetstate(struct map_session_data* sd)
int stat; int stat;
stat = statp[sd->status.base_level]; stat = statp[sd->status.base_level];
if (sd->class_&JOBL_UPPER) if (sd->class_&JOBL_UPPER)
sd->status.status_point+=52; // extra 52+48=100 stat points stat+=52; // extra 52+48=100 stat points
if (stat > USHRT_MAX) if (stat > USHRT_MAX)
sd->status.status_point = USHRT_MAX; sd->status.status_point = USHRT_MAX;
else else
@ -5374,11 +5375,11 @@ int pc_percentheal(struct map_session_data *sd,int hp,int sp)
} }
else { //hp < 0 else { //hp < 0
hp = sd->status.max_hp*hp/100; hp = sd->status.max_hp*hp/100;
if (sd->status.hp <= hp) { if (sd->status.hp <= -hp) {
sd->status.hp = 0; sd->status.hp = 0;
pc_damage(NULL,sd,1); pc_damage(NULL,sd,1);
} else } else
sd->status.hp -= hp; sd->status.hp += hp;
} }
} }
if(sp) { if(sp) {
@ -5394,10 +5395,10 @@ int pc_percentheal(struct map_session_data *sd,int hp,int sp)
sd->status.sp += sp; sd->status.sp += sp;
} else { //sp < 0 } else { //sp < 0
sp = sd->status.max_sp*sp/100; sp = sd->status.max_sp*sp/100;
if (sd->status.sp <= sp) if (sd->status.sp <= -sp)
sd->status.sp = 0; sd->status.sp = 0;
else else
sd->status.sp -= sp; sd->status.sp += sp;
} }
} }
if(hp) if(hp)

View File

@ -7276,10 +7276,10 @@ int skill_unit_onlimit(struct skill_unit *src,unsigned int tick)
case UNT_CALLFAMILY: /* ‚È‚½‚É?‚¢‚½‚¢ */ case UNT_CALLFAMILY: /* ‚È‚½‚É?‚¢‚½‚¢ */
{ {
struct map_session_data *sd = NULL; struct map_session_data *sd = NULL;
if(src->val1 && (sd = map_charid2sd(src->val1)) if(sg->val1 && (sd = map_charid2sd(sg->val1))
&& !map[sd->bl.m].flag.nowarp) && !map[sd->bl.m].flag.nowarp)
pc_setpos(sd,map[src->bl.m].index,src->bl.x,src->bl.y,3); pc_setpos(sd,map[src->bl.m].index,src->bl.x,src->bl.y,3);
if(src->val2 && (sd = map_charid2sd(src->val2)) if(sg->val2 && (sd = map_charid2sd(sg->val2))
&& !map[sd->bl.m].flag.nowarp) && !map[sd->bl.m].flag.nowarp)
pc_setpos(sd,map[src->bl.m].index,src->bl.x,src->bl.y,3); pc_setpos(sd,map[src->bl.m].index,src->bl.x,src->bl.y,3);
} }