- corrected Option_Xmas value in const.txt

- Wand of Hermode now dispells buffs only of allies.
- Fixed some null pointer checks in status_change_end.
- Corrected a crashy Warning message.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11910 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2007-12-14 02:57:54 +00:00
parent 10bec9ed67
commit aa83de997f
6 changed files with 13 additions and 10 deletions

View File

@ -3,6 +3,10 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
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.
2007/12/14
* Wand of Hermode now dispells buffs only of allies.
* Fixed some null pointer checks in status_change_end.
* Corrected a crashy Warning message. [Skotlex]
2007/12/13 2007/12/13
* Fixed possible segmentation faults in the script engine. * Fixed possible segmentation faults in the script engine.
- some strings that can be freed outside the script engine were being - some strings that can be freed outside the script engine were being

View File

@ -38,6 +38,8 @@
======================= =======================
12/14
* corrected Option_Xmas value in const.txt [Skotlex]
12/13 12/13
* Rev. 11909 Fixed Big Defense Potion 10ea Box. (was giving small def pot.) [L0ne_W0lf] * Rev. 11909 Fixed Big Defense Potion 10ea Box. (was giving small def pot.) [L0ne_W0lf]
12/05 12/05

View File

@ -165,7 +165,7 @@ EAJ_BABY_ROGUE 0x2206
EAJ_BABY_SOUL_LINKER 0x2207 EAJ_BABY_SOUL_LINKER 0x2207
Option_Wedding 0x1000 Option_Wedding 0x1000
Option_Xmas 0x20000 Option_Xmas 0x10000
Option_Summer 0x40000 Option_Summer 0x40000
bc_all 0 bc_all 0

View File

@ -155,7 +155,7 @@ int party_check_member(struct party *p)
ARR_FIND( 0, MAX_PARTY, j, p->member[j].account_id == sd->status.account_id && p->member[j].char_id == sd->status.char_id ); ARR_FIND( 0, MAX_PARTY, j, p->member[j].account_id == sd->status.account_id && p->member[j].char_id == sd->status.char_id );
if( j == MAX_PARTY ) if( j == MAX_PARTY )
{ {
ShowWarning("party_check_member: '%s' (acc:%d) is not member of party '%s' (id:%d)\n",sd->status.char_id,sd->status.name,p->name,p->party_id); ShowWarning("party_check_member: '%s' (acc:%d) is not member of party '%s' (id:%d)\n",sd->status.name,sd->status.account_id,p->name,p->party_id);
sd->status.party_id = 0; sd->status.party_id = 0;
} }
} }

View File

@ -6544,6 +6544,10 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, unsigned
0,0,sg->limit); 0,0,sg->limit);
break; break;
case UNT_HERMODE:
if (sg->src_id!=bl->id && battle_check_target(&src->bl,bl,BCT_PARTY|BCT_GUILD) > 0)
status_change_clear_buffs(bl,1); //Should dispell only allies.
break;
case UNT_RICHMANKIM: case UNT_RICHMANKIM:
case UNT_ETERNALCHAOS: case UNT_ETERNALCHAOS:
case UNT_DRUMBATTLEFIELD: case UNT_DRUMBATTLEFIELD:
@ -6551,7 +6555,6 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, unsigned
case UNT_ROKISWEIL: case UNT_ROKISWEIL:
case UNT_INTOABYSS: case UNT_INTOABYSS:
case UNT_SIEGFRIED: case UNT_SIEGFRIED:
case UNT_HERMODE:
//Needed to check when a dancer/bard leaves their ensemble area. //Needed to check when a dancer/bard leaves their ensemble area.
if (sg->src_id==bl->id && !(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_BARDDANCER)) if (sg->src_id==bl->id && !(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_BARDDANCER))
return skillid; return skillid;

View File

@ -5552,10 +5552,6 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
val2 = 50*val1; //aspd reduction val2 = 50*val1; //aspd reduction
break; break;
case SC_HERMODE:
status_change_clear_buffs(bl,1);
break;
case SC_REGENERATION: case SC_REGENERATION:
if (val1 == 1) if (val1 == 1)
val2 = 2; val2 = 2;
@ -6206,10 +6202,8 @@ int status_change_end(struct block_list* bl, enum sc_type type, int tid)
sc = status_get_sc(bl); sc = status_get_sc(bl);
status = status_get_status_data(bl); status = status_get_status_data(bl);
nullpo_retr(0,sc);
nullpo_retr(0,status);
if(type < 0 || type >= SC_MAX || !(sce = sc->data[type])) if(type < 0 || type >= SC_MAX || !sc || !(sce = sc->data[type]))
return 0; return 0;
BL_CAST(BL_PC,bl,sd); BL_CAST(BL_PC,bl,sd);