summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt4
-rw-r--r--db/Changelog.txt2
-rw-r--r--db/skill_db.txt2
-rw-r--r--db/skill_unit_db.txt1
-rw-r--r--src/map/clif.c13
-rw-r--r--src/map/skill.c23
6 files changed, 28 insertions, 17 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 81fef9871..16cb282bc 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,10 @@ 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/07/20
+ * Added the dummy intravision case for the changeoption packet 0x229
+ [Skotlex]
+ * Corrected Fog of Wall so that all targetted offensive skills (not only
+ those who do damage) will fail on cast-end 75% of the time. [Skotlex]
* corrected @homlevel up and one entry in the homun exp table as reported
on the forums by Albator. [Skotlex]
* Added the SQL fix to Homunculus skill learning/saving bug [DracoRPG]
diff --git a/db/Changelog.txt b/db/Changelog.txt
index ff88ef078..6fce6e8a7 100644
--- a/db/Changelog.txt
+++ b/db/Changelog.txt
@@ -25,6 +25,8 @@
=========================
07/20
+ * Added a skill_unit_db entry for NJ_HYOUSYOURAKU, thanks to Eus for the
+ data. [Skotlex]
* Updated Speed/Delays of Niflheim mobs [Playtester]
* Updated Speed/Delays of Umbala mobs [Playtester]
* Updated Speed/Delays of Kunlun mobs [Playtester]
diff --git a/db/skill_db.txt b/db/skill_db.txt
index 4d8a54e2c..1c5573e3a 100644
--- a/db/skill_db.txt
+++ b/db/skill_db.txt
@@ -560,7 +560,7 @@
536,9,8,1,3,2,2,5,3,no,0,0,0,magic,0 //NJ_BAKUENRYU#NJ_BAKUENRYU#
537,9,8,1,1,0,0,10,1:2:3:4:5:6:7:7:7:7,no,0,0,0,magic,0 //NJ_HYOUSENSOU#NJ_HYOUSENSOU#
538,9,6,2,0,1,0,10,1,no,0,0,0,magic,0 //NJ_SUITON#NJ_SUITON#
-539,0,6,4,1,0,3,5,1,no,0,0,0,magic,0 //NJ_HYOUSYOURAKU#NJ_HYOUSYOURAKU#
+539,0,6,4,1,0,0,5,1,no,0,0,0,magic,0 //NJ_HYOUSYOURAKU#NJ_HYOUSYOURAKU#
540,9,8,1,4,0,0,10,1:2:2:3:3:4:4:5:5:6,no,0,0,0,magic,0 //NJ_HUUJIN#NJ_HUUJIN#
541,0,6,4,0,1,0,5,1,no,0,0,0,magic,0 //NJ_RAIGEKISAI#NJ_RAIGEKISAI#
542,9,8,1,-1,0,0,5,1,no,0,0,0,magic,0 //NJ_KAMAITACHI#NJ_KAMAITACHI#
diff --git a/db/skill_unit_db.txt b/db/skill_unit_db.txt
index 3a401581c..0b8de926a 100644
--- a/db/skill_unit_db.txt
+++ b/db/skill_unit_db.txt
@@ -93,3 +93,4 @@
538,0xbb,,1:1:1:2:2:2:3:3:3:4,0,-1,all,0x010 //NJ_SUITON
516,0xbc, , 0, 3, 100,enemy, 0x000 //GS_DESPERADO
521,0xc2, , 0, 1,1000,enemy, 0x006 //GS_GROUNDDRIFT
+539,0x86, , 0, 3,1000,enemy, 0x008 //NJ_HYOUSYOURAKU
diff --git a/src/map/clif.c b/src/map/clif.c
index 2d925bfdc..9e29301d8 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -342,17 +342,20 @@ int clif_send_sub(struct block_list *bl, va_list ap)
{ //option̏C
switch(((unsigned short*)buf)[0])
{
- case 0x119:
- WFIFOW(sd->fd,10) &= ~(OPTION_HIDE|OPTION_CLOAK);
- break;
#if PACKETVER > 6
- case 0x22c:
- case 0x22b:
+ case 0x229:
+ WFIFOL(sd->fd,10) &= ~(OPTION_HIDE|OPTION_CLOAK);
+ break;
case 0x22a:
+ case 0x22b:
+ case 0x22c:
WFIFOL(sd->fd,12) &=~(OPTION_HIDE|OPTION_CLOAK);
break;
#endif
#if PACKETVER > 3
+ case 0x119:
+ WFIFOW(sd->fd,10) &= ~(OPTION_HIDE|OPTION_CLOAK);
+ break;
case 0x1d8:
case 0x1d9:
case 0x1da:
diff --git a/src/map/skill.c b/src/map/skill.c
index 9f874ed1e..e8a80fd0f 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2623,15 +2623,10 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
if (status_isdead(bl))
return 1;
- if (skillid && skill_get_type(skillid) == BF_MAGIC)
- {
- sc = status_get_sc(bl);
- if (status_isimmune(bl) || (
- sc && sc->count && sc->data[SC_FOGWALL].timer != -1 && rand()%100 < 75)
- ) { //GTB/Fogwall makes all targetted skills silently fail.
- if (sd) clif_skill_fail(sd,skillid,0,0);
- return 1;
- }
+ if (skillid && skill_get_type(skillid) == BF_MAGIC && status_isimmune(bl))
+ { //GTB makes all targetted magic fail silently.
+ if (sd) clif_skill_fail(sd,skillid,0,0);
+ return 1;
}
sc = status_get_sc(src);
@@ -3202,7 +3197,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
break;
case NJ_KOUENKA:
case NJ_HYOUSENSOU:
- case NJ_HYOUSYOURAKU:
case NJ_HUUJIN:
skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag);
break;
@@ -3221,7 +3215,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
//case NJ_KIRIKAGE:
//case NJ_KOUENKA:
//case NJ_HYOUSENSOU:
- //case NJ_HYOUSYOURAKU:
//case NJ_HUUJIN:
//case NJ_KAMAITACHI:
case NJ_ISSEN:
@@ -5826,6 +5819,14 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data)
if (inf && battle_check_target(src, target, inf) <= 0)
break;
+
+ if(inf&BCT_ENEMY && (sc = status_get_sc(target)) &&
+ sc->count && sc->data[SC_FOGWALL].timer != -1 &&
+ rand()%100 < 75)
+ { //Fogwall makes all offensive-type targetted skills fail at 75%
+ if (sd) clif_skill_fail(sd,ud->skillid,0,0);
+ break;
+ }
}
//Avoid doing double checks for instant-cast skills.