From 9ccaf9b439bb3254733c65d92ffc33e4e984b56c Mon Sep 17 00:00:00 2001 From: Playtester Date: Mon, 18 May 2009 20:45:44 +0000 Subject: * Item-bonuses and NPC skills now use the official default durations for status changes - you gain Curse immunity if you have 0 Luk (seems buggy but is official) - our status defense stats are already fully correct :-) - thanks to ultramage for testing this git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13790 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/status.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/map/status.c') diff --git a/src/map/status.c b/src/map/status.c index 619da9bd6..8f09203d4 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -122,16 +122,16 @@ void initChangeTables(void) memset(StatusChangeFlagTable, 0, sizeof(StatusChangeFlagTable)); //First we define the skill for common ailments. These are used in skill_additional_effect through sc cards. [Skotlex] - set_sc( MG_STONECURSE , SC_STONE , SI_BLANK , SCB_DEF_ELE|SCB_DEF|SCB_MDEF ); - set_sc( MG_FROSTDIVER , SC_FREEZE , SI_BLANK , SCB_DEF_ELE|SCB_DEF|SCB_MDEF ); + set_sc( NPC_PETRIFYATTACK , SC_STONE , SI_BLANK , SCB_DEF_ELE|SCB_DEF|SCB_MDEF ); + set_sc( NPC_WIDEFREEZE , SC_FREEZE , SI_BLANK , SCB_DEF_ELE|SCB_DEF|SCB_MDEF ); set_sc( NPC_STUNATTACK , SC_STUN , SI_BLANK , SCB_NONE ); set_sc( NPC_SLEEPATTACK , SC_SLEEP , SI_BLANK , SCB_NONE ); set_sc( NPC_POISON , SC_POISON , SI_BLANK , SCB_DEF2|SCB_REGEN ); set_sc( NPC_CURSEATTACK , SC_CURSE , SI_BLANK , SCB_LUK|SCB_BATK|SCB_WATK|SCB_SPEED ); set_sc( NPC_SILENCEATTACK , SC_SILENCE , SI_BLANK , SCB_NONE ); - set_sc( DC_WINKCHARM , SC_CONFUSION , SI_BLANK , SCB_NONE ); + set_sc( NPC_WIDECONFUSE , SC_CONFUSION , SI_BLANK , SCB_NONE ); set_sc( NPC_BLINDATTACK , SC_BLIND , SI_BLANK , SCB_HIT|SCB_FLEE ); - set_sc( LK_HEADCRUSH , SC_BLEEDING , SI_BLEEDING , SCB_REGEN ); + set_sc( NPC_BLEEDING , SC_BLEEDING , SI_BLEEDING , SCB_REGEN ); set_sc( NPC_POISON , SC_DPOISON , SI_BLANK , SCB_DEF2|SCB_REGEN ); //The main status definitions @@ -4535,14 +4535,14 @@ int status_get_sc_def(struct block_list *bl, enum sc_type type, int rate, int ti sc_def = 3 +status->mdef; break; case SC_CURSE: - //Special property: inmunity when luk is greater than level - if (status->luk > status_get_lv(bl)) + //Special property: inmunity when luk is greater than level or zero + if (status->luk > status_get_lv(bl) || status->luk == 0) return 0; else sc_def = 3 +status->luk; tick_def = status->vit; break; - case SC_BLIND: //TODO: These 50/50 factors are guessed. Need to find actual value. + case SC_BLIND: sc_def = 3 +(status->vit + status->int_)/2; break; case SC_CONFUSION: -- cgit v1.2.3-60-g2f50