diff options
author | toms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-18 15:22:24 +0000 |
---|---|---|
committer | toms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-18 15:22:24 +0000 |
commit | 40418b2ae80248b13521bd3f670999437b556806 (patch) | |
tree | 4b6580840bc4fa60b476bc575282cf066572a743 | |
parent | adf1641e5efb0e136a03d5bdefdc9ae20c2d6450 (diff) | |
download | hercules-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.txt | 1 | ||||
-rw-r--r-- | db/skill_cast_db.txt | 8 | ||||
-rw-r--r-- | db/skill_require_db.txt | 4 | ||||
-rw-r--r-- | doc/item_db.txt | 2 | ||||
-rw-r--r-- | src/map/battle.c | 16 | ||||
-rw-r--r-- | src/map/skill.c | 17 |
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; |