summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortoms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-18 15:22:24 +0000
committertoms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-18 15:22:24 +0000
commit40418b2ae80248b13521bd3f670999437b556806 (patch)
tree4b6580840bc4fa60b476bc575282cf066572a743
parentadf1641e5efb0e136a03d5bdefdc9ae20c2d6450 (diff)
downloadhercules-40418b2ae80248b13521bd3f670999437b556806.tar.gz
hercules-40418b2ae80248b13521bd3f670999437b556806.tar.bz2
hercules-40418b2ae80248b13521bd3f670999437b556806.tar.xz
hercules-40418b2ae80248b13521bd3f670999437b556806.zip
Applied Mpeg's work on ninja (http://gpegon.free.fr/ea/ninja_08-18-06_mpeg.txt)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8347 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--db/skill_cast_db.txt8
-rw-r--r--db/skill_require_db.txt4
-rw-r--r--doc/item_db.txt2
-rw-r--r--src/map/battle.c16
-rw-r--r--src/map/skill.c17
6 files changed, 30 insertions, 18 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index e570c8d67..5a97e3d6a 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -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.
2006/08/18
+ * Applied Mpeg's work on ninja [Toms]
* Fixed @homlvup [Toms]
* Added guild_aura (skill.conf) setting so you can specify when it works
and if it works on the guild-master itself. Defaults to working all the
diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt
index dde90feaf..5bf283725 100644
--- a/db/skill_cast_db.txt
+++ b/db/skill_cast_db.txt
@@ -886,8 +886,8 @@
525,1000,1000,0,0,0
//-- NJ_ZENYNAGE
526,0,5000,0,0,0
-//-- NJ_TATAMIGAESHI // Duration1 is land-effect. Duration2 is the range-inmunity effect
-527,0,3000,0,1000,3000
+//-- NJ_TATAMIGAESHI // Duration1 is land-effect & range-inmunity effect. Duration2 is skill_attack duration (minimal value)
+527,0,3000,0,3000,200
//-- NJ_KASUMIKIRI // Delay unknown (if there is one)
528,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
//-- NJ_SHADOWJUMP // Delay unknown (if there is one)
@@ -899,8 +899,8 @@
//-- NJ_BUNSINJYUTSU // Cast and Delay unknown (temp > random cast)
532,4000:3500:3000:2500:2000:3000:2500:2000:1500:1000,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0
-//-- NJ_KOUENKA // Should there really be a delay ?
-534,700:1400:2100:2800:3500:4200:4900:5600:6300:7000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0
+//-- NJ_KOUENKA
+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
diff --git a/db/skill_require_db.txt b/db/skill_require_db.txt
index b29d2f0ce..b7a14238f 100644
--- a/db/skill_require_db.txt
+++ b/db/skill_require_db.txt
@@ -421,7 +421,7 @@
529,0,0,10,0,0,0,99,0,0,hiding,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_SHADOWJUMP
530,0,0,14:16:18:20:22,0,0,0,99,0,0,hiding,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_KIRIKAGE
531,0,0,12:15:18:21:24,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_UTSUSEMI
-532,0,0,30:32:34:36:38:40:42:44:46:48,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_BUNSINJYUTSU
+532,0,0,30:32:34:36:38:40:42:44:46:48,0,0,0,99,0,0,none,0,7524,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_BUNSINJYUTSU
533,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_NINPOU
534,0,0,18:20:22:24:26:28:30:32:34:36,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_KOUENKA
535,0,0,25,0,0,0,99,0,0,none,0,7521,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_KAENSIN
@@ -432,7 +432,7 @@
540,0,0,12:14:16:18:20:22:24:26:28:30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_HUUJIN
541,0,0,16:20:24:28:32,0,0,0,99,0,0,none,0,7523,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_RAIGEKISAI
542,0,0,24:28:32:36:40,0,0,0,99,0,0,none,0,7523,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_KAMAITACHI
-543,80,0,20:30:40:50:60,0,0,0,99,0,0,none,0,7524,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_NEN
+543,80,0,20:30:40:50:60,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_NEN
544,0,0,55:60:65:70:75:80:85:90:95:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_ISSEN
1001,0,0,40,0,0,0,99,0,0,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //KN_CHARGEATK#チャ?[ジアタック#
diff --git a/doc/item_db.txt b/doc/item_db.txt
index fb31c5d1a..4dcbe491c 100644
--- a/doc/item_db.txt
+++ b/doc/item_db.txt
@@ -111,7 +111,7 @@ View: For normal items, defines a replacement view-sprite for the item (eg:
19: Shotguns
20: Gatling guns
21: Grenade launchers
- 22: Huuma
+ 22: Fuuma Shurikens
For ammo, the types are:
1: Arrows
diff --git a/src/map/battle.c b/src/map/battle.c
index c481d0034..f16a58314 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -318,15 +318,6 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i
return 0;
}
- if(sc->data[SC_UTSUSEMI].timer != -1 && !skill_num)
- {
- clif_specialeffect(bl, 462, AREA);
- skill_blown (src, bl, sc->data[SC_UTSUSEMI].val3);
- if (--sc->data[SC_UTSUSEMI].val2 <= 0)
- status_change_end(bl, SC_UTSUSEMI, -1);
- return 0;
- }
-
if(sc->data[SC_BUNSINJYUTSU].timer != -1 && (flag&(BF_WEAPON|BF_MISC)) )
{
if (--sc->data[SC_BUNSINJYUTSU].val2 <= 0)
@@ -2927,6 +2918,13 @@ int battle_weapon_attack( struct block_list *src,struct block_list *target,
return 0;
}
}
+ if (tsc->data[SC_UTSUSEMI].timer != -1) {
+ clif_specialeffect(target, 462, AREA);
+ skill_blown (src, target, tsc->data[SC_UTSUSEMI].val3);
+ if (--tsc->data[SC_UTSUSEMI].val2 <= 0)
+ status_change_end(target, SC_UTSUSEMI, -1);
+ return 0;
+ }
}
//Recycled the damage variable rather than use a new one... [Skotlex]
if(sd && (damage = pc_checkskill(sd,MO_TRIPLEATTACK)) > 0)
diff --git a/src/map/skill.c b/src/map/skill.c
index dfe085f75..b8fd82f3b 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -6245,7 +6245,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
}
break;
case NJ_TATAMIGAESHI:
- sc_start(src,type,100,skilllv,skill_get_time2(skillid,skilllv));
+ sc_start(src,type,100,skilllv,skill_get_time(skillid,skilllv));
skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
break;
@@ -7174,7 +7174,20 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
break;
}
- case UNT_TATAMIGAESHI:
+ case UNT_TATAMIGAESHI:
+ {
+ /* NJ_TATAMIGAESHI has to work like that (has to be instant, instead of during 1s), according to Tharis' last video
+ Did not find a better way to do it (even in traps' code) */
+
+ struct skill_unit_group *sug; // better name needed
+
+ if ( (sug = map_find_skill_unit_oncell(bl,bl->x,bl->y,NJ_TATAMIGAESHI,NULL)->group) != NULL )
+ {
+ if ( DIFF_TICK(gettick(), sug->tick) <= skill_get_time2(sg->skill_id, sg->skill_lv) )
+ skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
+ }
+ break;
+ }
case UNT_DEMONSTRATION:
skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break;