- Changed the default of sg_angel_skill_ratio to 10 based on recent information from Tharis.
- Cleaned up the doridori parse clif function. - Moved doridori_counter to state.doridori - Merged some of mpeg's work on NJ skills git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8665 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
a64e58d5eb
commit
845659a32d
@ -4,6 +4,8 @@ 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.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/09/07
|
2006/09/07
|
||||||
|
* Cleaned up the doridori parse clif function. [Skotlex]
|
||||||
|
* Merged some of mpeg's work on NJ skills [Skotlex]
|
||||||
* Removed the Warmth "stacking" code. [Skotlex]
|
* Removed the Warmth "stacking" code. [Skotlex]
|
||||||
* Added back the effect of /doridori to skill-SP regen [Skotlex]
|
* Added back the effect of /doridori to skill-SP regen [Skotlex]
|
||||||
* Implemented a rough version of Angel of the Sun/Moon/Stars, it has a low
|
* Implemented a rough version of Angel of the Sun/Moon/Stars, it has a low
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
Date Added
|
Date Added
|
||||||
|
|
||||||
2006/09/07
|
2006/09/07
|
||||||
|
* Changed the default of sg_angel_skill_ratio to 10 based on recent
|
||||||
|
information from Tharis. [Skotlex]
|
||||||
* Added sg_angel_skill_ratio to specify rate at which the Angel skill
|
* Added sg_angel_skill_ratio to specify rate at which the Angel skill
|
||||||
triggers. [Skotlex]
|
triggers. [Skotlex]
|
||||||
* Increased duration of Miracle of the Sun/Moon/Stars to one hour.
|
* Increased duration of Miracle of the Sun/Moon/Stars to one hour.
|
||||||
|
@ -265,4 +265,4 @@ sg_miracle_skill_ratio: 1
|
|||||||
sg_miracle_skill_duration: 3600000
|
sg_miracle_skill_duration: 3600000
|
||||||
|
|
||||||
//Angel of the Sun, Moon and Stars skill ratio (100% = 10000)
|
//Angel of the Sun, Moon and Stars skill ratio (100% = 10000)
|
||||||
sg_angel_skill_ratio: 1
|
sg_angel_skill_ratio: 10
|
||||||
|
@ -19,6 +19,9 @@
|
|||||||
-----
|
-----
|
||||||
|
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
|
09/07
|
||||||
|
* Merged some of mpeg's work on NJ skills [Skotlex]
|
||||||
09/06
|
09/06
|
||||||
* Changed all bCriticalRate to bCritical [Playtester]
|
* Changed all bCriticalRate to bCritical [Playtester]
|
||||||
* Updated skill_require_db's entry for Abracadabra, it requires yellow 2
|
* Updated skill_require_db's entry for Abracadabra, it requires yellow 2
|
||||||
|
@ -897,20 +897,20 @@
|
|||||||
534,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
|
534,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
|
||||||
//-- NJ_KAENSIN
|
//-- NJ_KAENSIN
|
||||||
535,6000:5500:5000:4500:4000:3500:3000:2500:2000:1500,1000,0,20000,0,
|
535,6000:5500:5000:4500:4000:3500:3000:2500:2000:1500,1000,0,20000,0,
|
||||||
//-- NJ_BAKUENRYU
|
//-- NJ_BAKUENRYU // Cast and Delay taken from lvl5 (need to confirm it's not influenced by lvl)
|
||||||
536,3000,2000,0,0,0
|
536,3000,2000,0,0,0
|
||||||
//-- NJ_HYOUSENSOU
|
//-- NJ_HYOUSENSOU
|
||||||
537,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
|
537,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
|
||||||
//-- NJ_SUITON
|
//-- NJ_SUITON // Delay unknown (if there is one)
|
||||||
538,3300:3200:3100:3000:2900:2800:2700:2600:2500:2400,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
|
538,3000,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
|
||||||
//-- NJ_HYOUSYOURAKU // Cast time taken from jA (not reliable, must be checked)
|
//-- NJ_HYOUSYOURAKU // Cast time and Delay taken from jA (not reliable, must be checked)
|
||||||
539,3000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
|
539,3000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
|
||||||
//-- NJ_HUUJIN
|
//-- NJ_HUUJIN
|
||||||
540,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
|
540,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
|
||||||
//-- NJ_RAIGEKISAI
|
//-- NJ_RAIGEKISAI // Cast and Delay must be checked (Seems to be more 4s at lvl1. Don't have other lvls)
|
||||||
541,3700:3400:3100:2800:2500,0,0,0,0 // Not sure of cast but very litely to be correct (English Translation Project)
|
541,3700:3400:3100:2800:2500,0,0,0,0
|
||||||
//-- NJ_KAMAITACHI
|
//-- NJ_KAMAITACHI // Cast and delay unknown > temp values taken from NJ_BAKUENRYU
|
||||||
542,3000,2000,0,0,0 // Cast and delay unknown > temp values taken from NJ_BAKUENRYU
|
542,3000,2000,0,0,0
|
||||||
//-- NJ_NEN
|
//-- NJ_NEN
|
||||||
543,5000:4000:3000:2000:1000,0,0,30000:45000:60000:75000:90000,30000:45000:60000:75000:90000
|
543,5000:4000:3000:2000:1000,0,0,30000:45000:60000:75000:90000,30000:45000:60000:75000:90000
|
||||||
//-- NJ_ISSEN // cast and delay unknown > temp values taken from MO_EXTREMITYFIST
|
//-- NJ_ISSEN // cast and delay unknown > temp values taken from MO_EXTREMITYFIST
|
||||||
|
@ -882,7 +882,6 @@ static struct Damage battle_calc_weapon_attack(
|
|||||||
case CR_GRANDCROSS:
|
case CR_GRANDCROSS:
|
||||||
case NPC_GRANDDARKNESS:
|
case NPC_GRANDDARKNESS:
|
||||||
case NJ_HUUMA:
|
case NJ_HUUMA:
|
||||||
case NJ_TATAMIGAESHI:
|
|
||||||
case GS_FLING:
|
case GS_FLING:
|
||||||
case GS_TRIPLEACTION:
|
case GS_TRIPLEACTION:
|
||||||
case GS_BULLSEYE:
|
case GS_BULLSEYE:
|
||||||
@ -2618,7 +2617,7 @@ struct Damage battle_calc_misc_attack(
|
|||||||
pc_payzeny(sd, md.damage);
|
pc_payzeny(sd, md.damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_boss(target))
|
if(is_boss(target) || tsd)
|
||||||
md.damage=md.damage*60/100;
|
md.damage=md.damage*60/100;
|
||||||
break;
|
break;
|
||||||
case GS_FLING:
|
case GS_FLING:
|
||||||
|
@ -11086,12 +11086,20 @@ void clif_parse_PMIgnoreList(int fd,struct map_session_data *sd)
|
|||||||
void clif_parse_NoviceDoriDori(int fd, struct map_session_data *sd) {
|
void clif_parse_NoviceDoriDori(int fd, struct map_session_data *sd) {
|
||||||
int level;
|
int level;
|
||||||
|
|
||||||
if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE)
|
if (sd->state.doridori) return;
|
||||||
sd->doridori_counter++;
|
|
||||||
|
switch (sd->class_&MAPID_UPPERMASK)
|
||||||
if ((sd->class_&MAPID_BASEMASK) == MAPID_TAEKWON
|
{
|
||||||
&& sd->state.rest && (level = pc_checkskill(sd,TK_SPTIME)))
|
case MAPID_TAEKWON:
|
||||||
sc_start(&sd->bl,SkillStatusChangeTable(TK_SPTIME),100,level,skill_get_time(TK_SPTIME, level));
|
if (!sd->state.rest)
|
||||||
|
break;
|
||||||
|
if (level = pc_checkskill(sd,TK_SPTIME))
|
||||||
|
sc_start(&sd->bl,SkillStatusChangeTable(TK_SPTIME),
|
||||||
|
100,level,skill_get_time(TK_SPTIME, level));
|
||||||
|
case MAPID_SUPER_NOVICE:
|
||||||
|
sd->state.doridori=1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/*==========================================
|
/*==========================================
|
||||||
|
@ -595,6 +595,7 @@ struct map_session_data {
|
|||||||
unsigned rewarp :1; //Signals that a player should warp as soon as he is done loading a map. [Skotlex]
|
unsigned rewarp :1; //Signals that a player should warp as soon as he is done loading a map. [Skotlex]
|
||||||
unsigned killer : 1;
|
unsigned killer : 1;
|
||||||
unsigned killable : 1;
|
unsigned killable : 1;
|
||||||
|
unsigned doridori : 1;
|
||||||
unsigned short autoloot;
|
unsigned short autoloot;
|
||||||
struct guild *gmaster_flag;
|
struct guild *gmaster_flag;
|
||||||
} state;
|
} state;
|
||||||
@ -765,7 +766,6 @@ struct map_session_data {
|
|||||||
int spirit_timer[MAX_SKILL_LEVEL];
|
int spirit_timer[MAX_SKILL_LEVEL];
|
||||||
|
|
||||||
int die_counter;
|
int die_counter;
|
||||||
short doridori_counter;
|
|
||||||
char potion_success_counter;
|
char potion_success_counter;
|
||||||
|
|
||||||
int reg_num;
|
int reg_num;
|
||||||
|
@ -1848,6 +1848,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
|
|||||||
clif_specialeffect(bl, 438, AREA);
|
clif_specialeffect(bl, 438, AREA);
|
||||||
if (--sc->data[SC_KAITE].val2 <= 0)
|
if (--sc->data[SC_KAITE].val2 <= 0)
|
||||||
status_change_end(bl, SC_KAITE, -1);
|
status_change_end(bl, SC_KAITE, -1);
|
||||||
|
clif_skill_nodamage(bl,src,skillid,skilllv,1);
|
||||||
bl = src; //Just make the skill attack yourself @.@
|
bl = src; //Just make the skill attack yourself @.@
|
||||||
sc = status_get_sc(bl);
|
sc = status_get_sc(bl);
|
||||||
tsd = (bl->type == BL_PC)?(TBL_PC*)bl:NULL;
|
tsd = (bl->type == BL_PC)?(TBL_PC*)bl:NULL;
|
||||||
@ -5128,7 +5129,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Slim Pitcher (normally Condensed Potion doesn't give SP (Heals party members))
|
// Slim Pitcher
|
||||||
case CR_SLIMPITCHER:
|
case CR_SLIMPITCHER:
|
||||||
if (potion_hp || potion_sp) {
|
if (potion_hp || potion_sp) {
|
||||||
int hp = potion_hp, sp = potion_sp;
|
int hp = potion_hp, sp = potion_sp;
|
||||||
@ -5466,7 +5467,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
|
|||||||
pc_delspiritball(sd,1,0);
|
pc_delspiritball(sd,1,0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GS_CRACKER:
|
case GS_CRACKER:
|
||||||
if (!dstsd) // according to latest patch, should not work on players [Reddozen]
|
if (!dstsd) // according to latest patch, should not work on players [Reddozen]
|
||||||
{
|
{
|
||||||
|
@ -7006,9 +7006,9 @@ static int status_natural_heal(DBKey key,void * data,va_list app)
|
|||||||
while(sregen->tick.sp >= (unsigned int)battle_config.natural_heal_skill_interval)
|
while(sregen->tick.sp >= (unsigned int)battle_config.natural_heal_skill_interval)
|
||||||
{
|
{
|
||||||
val = sregen->sp;
|
val = sregen->sp;
|
||||||
if (sd && sd->doridori_counter) {
|
if (sd && sd->state.doridori) {
|
||||||
val*=2;
|
val*=2;
|
||||||
sd->doridori_counter--;
|
sd->state.doridori = 0;
|
||||||
if (
|
if (
|
||||||
(sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR &&
|
(sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR &&
|
||||||
rand()%10000 < battle_config.sg_angel_skill_ratio
|
rand()%10000 < battle_config.sg_angel_skill_ratio
|
||||||
|
Loading…
x
Reference in New Issue
Block a user