- Fixed a memory overwrite crash on pc_readdb, thanks to foobar.
- Fixed only the first TK stance triggering when you have multiple of them active. - Default of skill_attack_enable changed to yes. - Fixed a compiler error in some ninja skill that only triggers on windows or c++ compilers. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5557 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
bd6c2ee92a
commit
01cf48cd39
@ -4,6 +4,12 @@ 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. EVERYTHING ELSE
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE
|
||||||
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
|
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
|
||||||
|
|
||||||
|
2006/03/10
|
||||||
|
* Fixed a memory overwrite crash on pc_readdb, thanks to foobar for the
|
||||||
|
fix. [Skotlex]
|
||||||
|
* Fixed only the first TK stance triggering when you have multiple of them
|
||||||
|
active. [Skotlex]
|
||||||
|
* Default of skill_attack_enable changed to yes. [Skotlex]
|
||||||
2006/03/09
|
2006/03/09
|
||||||
* Fixed the dancer/bard soul-linked skills toggling on/off with each call
|
* Fixed the dancer/bard soul-linked skills toggling on/off with each call
|
||||||
to pc_calc_status. [Skotlex]
|
to pc_calc_status. [Skotlex]
|
||||||
|
@ -45,7 +45,7 @@ min_skill_delay_limit: 100
|
|||||||
castrate_dex_scale: 150
|
castrate_dex_scale: 150
|
||||||
|
|
||||||
// Will normal attacks be able to ignore the delay after skills? (Note 1)
|
// Will normal attacks be able to ignore the delay after skills? (Note 1)
|
||||||
skill_delay_attack_enable: no
|
skill_delay_attack_enable: yes
|
||||||
|
|
||||||
// Range added to player skills after their cast time finishes.
|
// Range added to player skills after their cast time finishes.
|
||||||
// Decides how far away the target can walk away after the skill began casting before the skill fails.
|
// Decides how far away the target can walk away after the skill began casting before the skill fails.
|
||||||
|
@ -8026,7 +8026,7 @@ int pc_readdb(void)
|
|||||||
int jobs[MAX_PC_CLASS], job_count, job;
|
int jobs[MAX_PC_CLASS], job_count, job;
|
||||||
int type;
|
int type;
|
||||||
unsigned int max;
|
unsigned int max;
|
||||||
char *split[3];
|
char *split[4];
|
||||||
if(line[0]=='/' && line[1]=='/')
|
if(line[0]=='/' && line[1]=='/')
|
||||||
continue;
|
continue;
|
||||||
if (pc_split_str(line,split,4) < 4)
|
if (pc_split_str(line,split,4) < 4)
|
||||||
|
@ -921,18 +921,21 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
|
|||||||
clif_skill_fail(sd,skillid,0,0);
|
clif_skill_fail(sd,skillid,0,0);
|
||||||
}
|
}
|
||||||
// Chance to trigger Taekwon kicks [Dralnu]
|
// Chance to trigger Taekwon kicks [Dralnu]
|
||||||
if(sd->sc.count) {
|
if(sd->sc.count && sd->sc.data[SC_COMBO].timer == -1) {
|
||||||
if(sd->sc.data[SC_READYSTORM].timer != -1)
|
if(sd->sc.data[SC_READYSTORM].timer != -1 &&
|
||||||
sc_start4(src,SC_COMBO, 15, TK_STORMKICK,0,0,0,
|
sc_start4(src,SC_COMBO, 15, TK_STORMKICK,0,0,0,
|
||||||
(2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src)));
|
(2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src))))
|
||||||
else if(sd->sc.data[SC_READYDOWN].timer != -1)
|
; //Stance triggered
|
||||||
|
else if(sd->sc.data[SC_READYDOWN].timer != -1 &&
|
||||||
sc_start4(src,SC_COMBO, 15, TK_DOWNKICK,0,0,0,
|
sc_start4(src,SC_COMBO, 15, TK_DOWNKICK,0,0,0,
|
||||||
(2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src)));
|
(2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src))))
|
||||||
else if(sd->sc.data[SC_READYTURN].timer != -1 && sd->sc.data[SC_COMBO].timer == -1)
|
; //Stance triggered
|
||||||
|
else if(sd->sc.data[SC_READYTURN].timer != -1 &&
|
||||||
sc_start4(src,SC_COMBO, 15, TK_TURNKICK,0,0,0,
|
sc_start4(src,SC_COMBO, 15, TK_TURNKICK,0,0,0,
|
||||||
(2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src)));
|
(2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src))))
|
||||||
else if(sd->sc.data[SC_READYCOUNTER].timer != -1 && sd->sc.data[SC_COMBO].timer == -1) //additional chance from SG_FRIEND [Komurka]
|
; //Stance triggered
|
||||||
{
|
else if(sd->sc.data[SC_READYCOUNTER].timer != -1)
|
||||||
|
{ //additional chance from SG_FRIEND [Komurka]
|
||||||
rate = 20;
|
rate = 20;
|
||||||
if (sd->sc.data[SC_SKILLRATE_UP].timer != -1 && sd->sc.data[SC_SKILLRATE_UP].val1 == TK_COUNTER) {
|
if (sd->sc.data[SC_SKILLRATE_UP].timer != -1 && sd->sc.data[SC_SKILLRATE_UP].val1 == TK_COUNTER) {
|
||||||
rate += rate*sd->sc.data[SC_SKILLRATE_UP].val2/100;
|
rate += rate*sd->sc.data[SC_SKILLRATE_UP].val2/100;
|
||||||
|
@ -1721,8 +1721,7 @@ int status_calc_agi(struct block_list *bl, int agi)
|
|||||||
agi -= 2 + sc->data[SC_DECREASEAGI].val1;
|
agi -= 2 + sc->data[SC_DECREASEAGI].val1;
|
||||||
if(sc->data[SC_QUAGMIRE].timer!=-1)
|
if(sc->data[SC_QUAGMIRE].timer!=-1)
|
||||||
agi -= sc->data[SC_QUAGMIRE].val1*(bl->type==BL_PC?5:10);
|
agi -= sc->data[SC_QUAGMIRE].val1*(bl->type==BL_PC?5:10);
|
||||||
int class = status_get_class(bl);
|
if(sc->data[SC_SUITON].timer!=-1 || status_get_class(bl) != JOB_NINJA)
|
||||||
if(sc->data[SC_SUITON].timer!=-1 || class != JOB_NINJA)
|
|
||||||
agi -= (((sc->data[SC_SUITON].val1 - 1) / 3) + 1) * 3;
|
agi -= (((sc->data[SC_SUITON].val1 - 1) / 3) + 1) * 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user