summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-09-07 20:24:41 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-09-07 20:24:41 +0000
commit9212ac09f4c80361ba4e69273bc9e9a265d27f25 (patch)
tree85389ee018205adc9cca4a5402d3178dbd7fb55f
parent8cf58f2846e8a701fe61a149c5bf532732572780 (diff)
downloadhercules-9212ac09f4c80361ba4e69273bc9e9a265d27f25.tar.gz
hercules-9212ac09f4c80361ba4e69273bc9e9a265d27f25.tar.bz2
hercules-9212ac09f4c80361ba4e69273bc9e9a265d27f25.tar.xz
hercules-9212ac09f4c80361ba4e69273bc9e9a265d27f25.zip
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8665 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--conf-tmpl/Changelog.txt2
-rw-r--r--conf-tmpl/battle/skill.conf2
-rw-r--r--db/Changelog.txt3
-rw-r--r--db/skill_cast_db.txt16
-rw-r--r--src/map/battle.c3
-rw-r--r--src/map/clif.c20
-rw-r--r--src/map/map.h2
-rw-r--r--src/map/skill.c5
-rw-r--r--src/map/status.c4
10 files changed, 37 insertions, 22 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 710b656fb..d9b38eb81 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -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.
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]
* 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
diff --git a/conf-tmpl/Changelog.txt b/conf-tmpl/Changelog.txt
index c7745e453..c3e5d94e9 100644
--- a/conf-tmpl/Changelog.txt
+++ b/conf-tmpl/Changelog.txt
@@ -1,6 +1,8 @@
Date Added
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
triggers. [Skotlex]
* Increased duration of Miracle of the Sun/Moon/Stars to one hour.
diff --git a/conf-tmpl/battle/skill.conf b/conf-tmpl/battle/skill.conf
index 9146101b8..f09629792 100644
--- a/conf-tmpl/battle/skill.conf
+++ b/conf-tmpl/battle/skill.conf
@@ -265,4 +265,4 @@ sg_miracle_skill_ratio: 1
sg_miracle_skill_duration: 3600000
//Angel of the Sun, Moon and Stars skill ratio (100% = 10000)
-sg_angel_skill_ratio: 1
+sg_angel_skill_ratio: 10
diff --git a/db/Changelog.txt b/db/Changelog.txt
index fd6a00511..e2d8063f0 100644
--- a/db/Changelog.txt
+++ b/db/Changelog.txt
@@ -19,6 +19,9 @@
-----
=========================
+
+09/07
+ * Merged some of mpeg's work on NJ skills [Skotlex]
09/06
* Changed all bCriticalRate to bCritical [Playtester]
* Updated skill_require_db's entry for Abracadabra, it requires yellow 2
diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt
index 9c9f15eea..2e0ed04c7 100644
--- a/db/skill_cast_db.txt
+++ b/db/skill_cast_db.txt
@@ -897,20 +897,20 @@
534,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
//-- NJ_KAENSIN
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
//-- NJ_HYOUSENSOU
537,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
-//-- NJ_SUITON
-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
-//-- NJ_HYOUSYOURAKU // Cast time taken from jA (not reliable, must be checked)
+//-- NJ_SUITON // Delay unknown (if there is one)
+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 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
//-- NJ_HUUJIN
540,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,0,0,0,0
-//-- NJ_RAIGEKISAI
-541,3700:3400:3100:2800:2500,0,0,0,0 // Not sure of cast but very litely to be correct (English Translation Project)
-//-- NJ_KAMAITACHI
-542,3000,2000,0,0,0 // Cast and delay unknown > temp values taken from NJ_BAKUENRYU
+//-- 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
+//-- NJ_KAMAITACHI // Cast and delay unknown > temp values taken from NJ_BAKUENRYU
+542,3000,2000,0,0,0
//-- NJ_NEN
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
diff --git a/src/map/battle.c b/src/map/battle.c
index a8aa4e988..a2f71a32c 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -882,7 +882,6 @@ static struct Damage battle_calc_weapon_attack(
case CR_GRANDCROSS:
case NPC_GRANDDARKNESS:
case NJ_HUUMA:
- case NJ_TATAMIGAESHI:
case GS_FLING:
case GS_TRIPLEACTION:
case GS_BULLSEYE:
@@ -2618,7 +2617,7 @@ struct Damage battle_calc_misc_attack(
pc_payzeny(sd, md.damage);
}
- if(is_boss(target))
+ if(is_boss(target) || tsd)
md.damage=md.damage*60/100;
break;
case GS_FLING:
diff --git a/src/map/clif.c b/src/map/clif.c
index f60594160..318aa3a99 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -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) {
int level;
- if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE)
- sd->doridori_counter++;
-
- if ((sd->class_&MAPID_BASEMASK) == MAPID_TAEKWON
- && sd->state.rest && (level = pc_checkskill(sd,TK_SPTIME)))
- sc_start(&sd->bl,SkillStatusChangeTable(TK_SPTIME),100,level,skill_get_time(TK_SPTIME, level));
+ if (sd->state.doridori) return;
+
+ switch (sd->class_&MAPID_UPPERMASK)
+ {
+ case MAPID_TAEKWON:
+ 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;
}
/*==========================================
diff --git a/src/map/map.h b/src/map/map.h
index dcd87f294..4249babd4 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -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 killer : 1;
unsigned killable : 1;
+ unsigned doridori : 1;
unsigned short autoloot;
struct guild *gmaster_flag;
} state;
@@ -765,7 +766,6 @@ struct map_session_data {
int spirit_timer[MAX_SKILL_LEVEL];
int die_counter;
- short doridori_counter;
char potion_success_counter;
int reg_num;
diff --git a/src/map/skill.c b/src/map/skill.c
index 531cb9857..87df0e1ac 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1848,6 +1848,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
clif_specialeffect(bl, 438, AREA);
if (--sc->data[SC_KAITE].val2 <= 0)
status_change_end(bl, SC_KAITE, -1);
+ clif_skill_nodamage(bl,src,skillid,skilllv,1);
bl = src; //Just make the skill attack yourself @.@
sc = status_get_sc(bl);
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;
- // Slim Pitcher (normally Condensed Potion doesn't give SP (Heals party members))
+ // Slim Pitcher
case CR_SLIMPITCHER:
if (potion_hp || 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);
}
break;
-
+
case GS_CRACKER:
if (!dstsd) // according to latest patch, should not work on players [Reddozen]
{
diff --git a/src/map/status.c b/src/map/status.c
index e561b7d91..f4af0c8e7 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -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)
{
val = sregen->sp;
- if (sd && sd->doridori_counter) {
+ if (sd && sd->state.doridori) {
val*=2;
- sd->doridori_counter--;
+ sd->state.doridori = 0;
if (
(sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR &&
rand()%10000 < battle_config.sg_angel_skill_ratio