* 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://svn.code.sf.net/p/rathena/svn/trunk@13790 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
7f18f11403
commit
0affe1454c
@ -4,6 +4,7 @@ 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.
|
||||
|
||||
09/05/18
|
||||
* Item-bonuses now use the official default durations for status changes [Playtester]
|
||||
* status calc code cleanup [ultramage]
|
||||
- Inverted the status calc code order, so that status_calc_bl optionally invokes status_calc_pc/mob/whatever instead of every status_calc_* calling status_calc_bl.
|
||||
- Inlined functions status_calc_bl_sub_pc, status_calc_bl_sub_hom and status_calc_bl_sub_mer into status_calc_bl.
|
||||
|
@ -37,6 +37,8 @@
|
||||
2385 Recuvative_Armor Should trigger HP/SP return with magical kills as well.
|
||||
|
||||
=======================
|
||||
2009/05/18
|
||||
* NPC skills now use the official default durations for status changes [Playtester]
|
||||
2009/05/15
|
||||
* Rev. 13784 Updated walk speed and aspd of Okolnir mobs, also fixed the flower mob modes. [L0ne_W0lf]
|
||||
* Rev. 13779 Minor database updates related to the Falicious Okolnir dungeon. [L0ne_W0lf]
|
||||
|
@ -309,7 +309,7 @@
|
||||
173,0,0,0,3500,0
|
||||
|
||||
//-- NPC_POISON
|
||||
176,0,0,0,0,30000
|
||||
176,0,0,0,0,60000
|
||||
//-- NPC_BLINDATTACK
|
||||
177,0,0,0,0,30000
|
||||
//-- NPC_SILENCEATTACK
|
||||
@ -317,7 +317,7 @@
|
||||
//-- NPC_STUNATTACK
|
||||
179,0,0,0,0,5000
|
||||
//-- NPC_PETRIFYATTACK
|
||||
180,0,0,0,0,30000
|
||||
180,0,0,0,0,20000
|
||||
//-- NPC_CURSEATTACK
|
||||
181,0,0,0,0,30000
|
||||
//-- NPC_SLEEPATTACK
|
||||
@ -927,23 +927,23 @@
|
||||
|
||||
//===== New Monster Skills =================
|
||||
//-- NPC_ICEBREATH
|
||||
655,0,0,0,0,30000
|
||||
655,0,0,0,0,12000
|
||||
//-- NPC_ACIDBREATH
|
||||
657,0,0,0,0,30000
|
||||
657,0,0,0,0,60000
|
||||
//-- NPC_DRAGONFEAR (Upkeep2 times are duration of: Stun(lv1), Curse(lv2), Silence(lv3) and Bleeding (lv4))
|
||||
659,0,0,0,0,5000:30000:30000:60000
|
||||
659,0,0,0,0,5000:30000:30000:120000
|
||||
//-- NPC_BLEEDING
|
||||
660,0,0,0,0,60000
|
||||
660,0,0,0,0,120000
|
||||
//-- NPC_HELLJUDGEMENT
|
||||
662,0,0,0,0,30000
|
||||
//-- NPC_WIDESILENCE
|
||||
663,0,0,0,0,30000
|
||||
//-- NPC_WIDEFREEZE
|
||||
664,0,0,0,0,30000
|
||||
664,0,0,0,0,12000
|
||||
//-- NPC_WIDEBLEEDING
|
||||
665,0,0,0,0,60000
|
||||
665,0,0,0,0,120000
|
||||
//-- NPC_WIDESTONE
|
||||
666,0,0,0,0,30000
|
||||
666,0,0,0,0,20000
|
||||
//-- NPC_WIDECONFUSE
|
||||
667,0,0,0,0,30000
|
||||
//-- NPC_WIDESLEEP
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user