- Hiding cancels Close Confine.

- Added the move enable condition to High Jump and Jump Kick.
- ST_MOVE_ENABLE now also checks for pc_can_move(), and only perform a walk check if the skill is ground targetted.
- Moved the berserk_cancel_buffs code to status_change_start.
- Moved most checks of status_isimmune() to status_get_sc_def
- Allowed Endow skills to go through status_isinmune characters.
- Added variable type to skill_castend_nodamage_id which holds the value of SkillStatusChangeTable[skillid] to simplify code reading afterwards.
- Fixed PR_BENEDICTIO not taking away all SP
- Fixed the most horrible typo ever. (SC_STAN -> SC_STUN)
- Added StatusSkillChangeTable which returns the Skill for a given SC. Used in skill_additional_effect for SC cards.
- Removed the whole ugly static implementation of SkillStatusChangeTable, see status_initChangeTables() for new format which is much easier to read.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5278 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-02-14 21:35:53 +00:00
parent 4deb41a4cd
commit c1263b25da
8 changed files with 528 additions and 857 deletions

View File

@ -3,7 +3,16 @@ Date Added
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. EVERYTHING ELSE
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
2006/02/14
* Hiding cancels Close Confine now. [Skotlex]
* ST_MOVE_ENABLE now also checks for pc_can_move(), and only perform a walk
check if the skill is ground targetted. [Skotlex]
* Moved the berserk_cancel_buffs code to status_change_start. [Skotlex]
* Moved most checks of status_isimmune() to status_get_sc_def [Skotlex]
* Allowed Endow skills to go through status_isinmune characters. [Skotlex]
* Fixed PR_BENEDICTIO not taking away all SP. [Skotlex]
* Modified the way Status changes are linked to skills for an easier to
read implementation (see status_initChangeTables). [Skotlex]
2006/02/13
* Added battle config sc_def_rate which adjusts natural defense of
characters against status changes (see conf/battle/battle.conf). [Skotlex]

View File

@ -29,6 +29,9 @@
=========================
02/14
* Jump Kick and High Jump now depend on the skill state ST_MOVE_ENABLE
[Skotlex]
02/13
* Updated most mobs Summon Skills to use "OnSpawn" conditions. [Poki#3]
* Fixed exp.txt for Baby Dancer, thanks to Gepard [Komurka]

View File

@ -319,10 +319,10 @@
418,0,0,1,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_READYCOUNTER
419,0,0,14:12:10:8:6:4:2,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_COUNTERKICK
420,0,0,1,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_DODGE
421,0,0,70:60:50:40:30:20:10,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_JUMPKICK
421,0,0,70:60:50:40:30:20:10,0,0,0,99,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_JUMPKICK
425,0,0,20:20:20:20:50:50:50,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_SEVENWIND
426,0,0,50,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_HIGHJUMP
426,0,0,50,0,0,0,99,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_HIGHJUMP
427,0,0,100,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SG_FEEL
428,0,0,20,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SG_SUN_WARM

View File

@ -1386,7 +1386,7 @@ static struct Damage battle_calc_weapon_attack(
}
if ((tsc && !flag.hit) &&
(tsc->data[SC_SLEEP].timer!=-1 ||
tsc->data[SC_STAN].timer!=-1 ||
tsc->data[SC_STUN].timer!=-1 ||
tsc->data[SC_FREEZE].timer!=-1 ||
(tsc->data[SC_STONE].timer!=-1 && tsc->data[SC_STONE].val2==0))
)
@ -2808,7 +2808,7 @@ struct Damage battle_calc_misc_attack(
struct status_change *sc = status_get_sc(target);
int hitrate=status_get_hit(bl) - status_get_flee(target) + 80;
hitrate = ( (hitrate>95)?95: ((hitrate<5)?5:hitrate) );
if(sc && sc->count && (sc->data[SC_SLEEP].timer!=-1 || sc->data[SC_STAN].timer!=-1 ||
if(sc && sc->count && (sc->data[SC_SLEEP].timer!=-1 || sc->data[SC_STUN].timer!=-1 ||
sc->data[SC_FREEZE].timer!=-1 || (sc->data[SC_STONE].timer!=-1 && sc->data[SC_STONE].val2==0) ) )
hitrate = 1000000;
if(rand()%100 < hitrate) {

View File

@ -4572,7 +4572,7 @@ static int mob_readskilldb(void)
{ "anybad", -1 },
{ "stone", SC_STONE },
{ "freeze", SC_FREEZE },
{ "stan", SC_STAN },
{ "stan", SC_STUN },
{ "sleep", SC_SLEEP },
{ "poison", SC_POISON },
{ "curse", SC_CURSE },

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ enum {
//First we enumerate common status ailments which are often used around.
SC_STONE = 0,
SC_FREEZE,
SC_STAN,
SC_STUN,
SC_SLEEP,
SC_POISON,
SC_CURSE,
@ -232,7 +232,8 @@ enum {
//
SC_MAX, //Automatically updated max, used in for's and at startup to check we are within bounds. [Skotlex]
};
extern int SkillStatusChangeTable[];
extern int SkillStatusChangeTable[MAX_SKILL];
extern int StatusSkillChangeTable[SC_MAX];
//Numerates the Number for the status changes (client-dependent), imported from jA
enum {