From 3241a51ac2689e7ffa63e01bf9e81ec08d0b0187 Mon Sep 17 00:00:00 2001 From: Vicious Date: Thu, 9 Mar 2006 18:39:57 +0000 Subject: more ninja/gs update git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5535 54d463be-8e91-2dee-dedb-b68131a5f0ec --- db/job_db1.txt | 150 +++++++++++++++++++++++++-------------------------- db/skill_unit_db.txt | 3 +- src/map/battle.c | 9 ++-- src/map/skill.c | 42 +++++++++++---- src/map/skill.h | 1 + src/map/status.c | 15 ++++-- 6 files changed, 126 insertions(+), 94 deletions(-) diff --git a/db/job_db1.txt b/db/job_db1.txt index 20f332bd3..2577790c7 100644 --- a/db/job_db1.txt +++ b/db/job_db1.txt @@ -4,152 +4,152 @@ // JobID,Weight,HPFactor,HPMultiplicator,SPFactor,BareFist,Dagger,1HSword,2HSword,1HSpear,2HSpear,1HAxe,2HAxe,1HMace,2HMace(unused),Rod,Bow,Knuckle,Instrument,Whip,Book,Katar,Revolver,Rifle,Shotgun,Gatling Gun,Grenade Launcher // // Novice -0, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +0, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Swordman -1, 28000,70 ,500 ,200 ,400 ,500 ,550 ,600 ,650 ,700 ,700 ,750 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +1, 28000,70 ,500 ,200 ,400 ,500 ,550 ,600 ,650 ,700 ,700 ,750 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Magician -2, 22000,30 ,500 ,600 ,500 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +2, 22000,30 ,500 ,600 ,500 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Archer -3, 26000,50 ,500 ,200 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +3, 26000,50 ,500 ,200 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Acolyte -4, 24000,40 ,500 ,500 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4, 24000,40 ,500 ,500 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Merchant -5, 28000,40 ,500 ,300 ,400 ,600 ,700 ,2000 ,2000 ,2000 ,700 ,750 ,700 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +5, 28000,40 ,500 ,300 ,400 ,600 ,700 ,2000 ,2000 ,2000 ,700 ,750 ,700 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Thief -6, 24000,50 ,500 ,200 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +6, 24000,50 ,500 ,200 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Knight -7, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +7, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Priest -8, 26000,75 ,500 ,800 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000, 2000, 2000, 2000, 2000 +8, 26000,75 ,500 ,800 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Wizard -9, 24000,55 ,500 ,900 ,500 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +9, 24000,55 ,500 ,900 ,500 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Blacksmith -10, 30000,90 ,500 ,400 ,400 ,600 ,650 ,2000 ,2000 ,2000 ,650 ,650 ,675 ,675 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +10, 30000,90 ,500 ,400 ,400 ,600 ,650 ,2000 ,2000 ,2000 ,650 ,650 ,675 ,675 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Hunter -11, 27000,85 ,500 ,400 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +11, 27000,85 ,500 ,400 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Assassin -12, 24000,110 ,500 ,400 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500 ,2000, 2000, 2000, 2000, 2000 +12, 24000,110 ,500 ,400 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500 ,2000 ,2000 ,2000 ,2000 ,2000 // Knight (Peco) -13, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +13, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Crusader -14, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +14, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Monk -15, 26000,90 ,650 ,470 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,575 ,575 ,575 ,2000 ,475 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +15, 26000,90 ,650 ,470 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,575 ,575 ,575 ,2000 ,475 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Sage -16, 24000,75 ,500 ,700 ,450 ,525 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000, 2000, 2000, 2000, 2000 +16, 24000,75 ,500 ,700 ,450 ,525 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Rogue -17, 24000,85 ,500 ,500 ,400 ,500 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +17, 24000,85 ,500 ,500 ,400 ,500 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Alchemist -18, 30000,90 ,500 ,400 ,400 ,550 ,575 ,2000 ,2000 ,2000 ,675 ,700 ,650 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +18, 30000,90 ,500 ,400 ,400 ,550 ,575 ,2000 ,2000 ,2000 ,675 ,700 ,650 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Bard -19, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,575 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +19, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Dancer -20, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,575 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +20, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Crusader (Peco) -21, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +21, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Wedding -22, 20000,0 ,500 ,100 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +22, 20000,0 ,500 ,100 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Super Novice -23, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +23, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Gunslinger -24, 20000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,575 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +24, 20000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,575 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,600 ,600 // Ninja -25, 20000,110 ,500 ,400 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500 ,2000, 2000, 2000, 2000, 2000 +25, 20000,110 ,500 ,400 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500 ,2000 ,2000 ,2000 ,2000 ,2000 // Novice High -4001, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4001, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Swordman High -4002, 28000,70 ,500 ,200 ,400 ,500 ,550 ,600 ,650 ,700 ,700 ,750 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4002, 28000,70 ,500 ,200 ,400 ,500 ,550 ,600 ,650 ,700 ,700 ,750 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Magician High -4003, 22000,30 ,500 ,600 ,500 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4003, 22000,30 ,500 ,600 ,500 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Archer High -4004, 26000,50 ,500 ,200 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4004, 26000,50 ,500 ,200 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Acolyte High -4005, 24000,40 ,500 ,500 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4005, 24000,40 ,500 ,500 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Merchant High -4006, 28000,40 ,500 ,300 ,400 ,600 ,700 ,2000 ,2000 ,2000 ,700 ,750 ,700 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4006, 28000,40 ,500 ,300 ,400 ,600 ,700 ,2000 ,2000 ,2000 ,700 ,750 ,700 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Thief High -4007, 24000,50 ,500 ,200 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4007, 24000,50 ,500 ,200 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Lord Knight -4008, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4008, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // High Priest -4009, 26000,75 ,500 ,800 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000, 2000, 2000, 2000, 2000 +4009, 26000,75 ,500 ,800 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // High Wizard -4010, 24000,55 ,500 ,900 ,500 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4010, 24000,55 ,500 ,900 ,500 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Whitesmith -4011, 30000,90 ,500 ,400 ,400 ,600 ,650 ,2000 ,2000 ,2000 ,650 ,650 ,675 ,675 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4011, 30000,90 ,500 ,400 ,400 ,600 ,650 ,2000 ,2000 ,2000 ,650 ,650 ,675 ,675 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Sniper -4012, 27000,85 ,500 ,400 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4012, 27000,85 ,500 ,400 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Assassin Cross -4013, 24000,110 ,500 ,400 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500 ,2000, 2000, 2000, 2000, 2000 +4013, 24000,110 ,500 ,400 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500 ,2000 ,2000 ,2000 ,2000 ,2000 // Lord Knight (Peco) -4014, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4014, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Paladin -4015, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4015, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Champion -4016, 26000,90 ,650 ,470 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,575 ,575 ,575 ,2000 ,475 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4016, 26000,90 ,650 ,470 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,575 ,575 ,575 ,2000 ,475 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Professor -4017, 24000,75 ,500 ,700 ,450 ,525 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000, 2000, 2000, 2000, 2000 +4017, 24000,75 ,500 ,700 ,450 ,525 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Stalker -4018, 24000,85 ,500 ,500 ,400 ,500 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4018, 24000,85 ,500 ,500 ,400 ,500 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Creator -4019, 30000,90 ,500 ,400 ,400 ,550 ,575 ,2000 ,2000 ,2000 ,675 ,700 ,650 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4019, 30000,90 ,500 ,400 ,400 ,550 ,575 ,2000 ,2000 ,2000 ,675 ,700 ,650 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Clown -4020, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,575 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4020, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Gypsy -4021, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,575 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4021, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Paladin (Peco) -4022, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4022, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Novice -4023, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4023, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Swordman -4024, 28000,70 ,500 ,200 ,400 ,500 ,550 ,600 ,650 ,700 ,700 ,750 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4024, 28000,70 ,500 ,200 ,400 ,500 ,550 ,600 ,650 ,700 ,700 ,750 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Magician -4025, 22000,30 ,500 ,600 ,500 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4025, 22000,30 ,500 ,600 ,500 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Archer -4026, 26000,50 ,500 ,200 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4026, 26000,50 ,500 ,200 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Acolyte -4027, 24000,40 ,500 ,500 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4027, 24000,40 ,500 ,500 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Merchant -4028, 28000,40 ,500 ,300 ,400 ,600 ,700 ,2000 ,2000 ,2000 ,700 ,750 ,700 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4028, 28000,40 ,500 ,300 ,400 ,600 ,700 ,2000 ,2000 ,2000 ,700 ,750 ,700 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Thief -4029, 24000,50 ,500 ,200 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4029, 24000,50 ,500 ,200 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Knight -4030, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4030, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Priest -4031, 26000,75 ,500 ,800 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000, 2000, 2000, 2000, 2000 +4031, 26000,75 ,500 ,800 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,600 ,600 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Wizard -4032, 24000,55 ,500 ,900 ,500 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4032, 24000,55 ,500 ,900 ,500 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Blacksmith -4033, 30000,90 ,500 ,400 ,400 ,600 ,650 ,2000 ,2000 ,2000 ,650 ,650 ,675 ,675 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4033, 30000,90 ,500 ,400 ,400 ,600 ,650 ,2000 ,2000 ,2000 ,650 ,650 ,675 ,675 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Hunter -4034, 27000,85 ,500 ,400 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4034, 27000,85 ,500 ,400 ,400 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Assassin -4035, 24000,110 ,500 ,400 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500 ,2000, 2000, 2000, 2000, 2000 +4035, 24000,110 ,500 ,400 ,400 ,500 ,650 ,2000 ,2000 ,2000 ,800 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Knight (Peco) -4036, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4036, 28000,150 ,500 ,300 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Crusader -4037, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4037, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Monk -4038, 26000,90 ,650 ,470 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,575 ,575 ,575 ,2000 ,475 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4038, 26000,90 ,650 ,470 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,575 ,575 ,575 ,2000 ,475 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Sage -4039, 24000,75 ,500 ,700 ,450 ,525 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000, 2000, 2000, 2000, 2000 +4039, 24000,75 ,500 ,700 ,450 ,525 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Rogue -4040, 24000,85 ,500 ,500 ,400 ,500 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4040, 24000,85 ,500 ,500 ,400 ,500 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Alchemist -4041, 30000,90 ,500 ,400 ,400 ,550 ,575 ,2000 ,2000 ,2000 ,675 ,700 ,650 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4041, 30000,90 ,500 ,400 ,400 ,550 ,575 ,2000 ,2000 ,2000 ,675 ,700 ,650 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Bard -4042, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,575 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4042, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Dancer -4043, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,575 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4043, 27000,75 ,300 ,600 ,400 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,650 ,2000 ,2000 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Crusader (Peco) -4044, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4044, 28000,110 ,700 ,470 ,400 ,500 ,500 ,550 ,600 ,600 ,700 ,700 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Baby Super Novice -4045, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4045, 20000,0 ,500 ,100 ,500 ,650 ,700 ,2000 ,2000 ,2000 ,800 ,2000 ,700 ,700 ,650 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Taekwon -4046, 26000,67 ,500 ,470 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4046, 26000,67 ,500 ,470 ,400 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Star Knight -4047, 24000,80 ,650 ,700 ,450 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000, 2000, 2000, 2000, 2000 +4047, 24000,80 ,650 ,700 ,450 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Star Knight (flying) -4048, 24000,80 ,650 ,700 ,450 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000, 2000, 2000, 2000, 2000 +4048, 24000,80 ,650 ,700 ,450 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,550 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 // Soul Linker -4049, 24000,55 ,500 ,900 ,500 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000, 2000, 2000, 2000, 2000 +4049, 24000,55 ,500 ,900 ,500 ,575 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,625 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 diff --git a/db/skill_unit_db.txt b/db/skill_unit_db.txt index 679b7f5cc..36fdac212 100644 --- a/db/skill_unit_db.txt +++ b/db/skill_unit_db.txt @@ -81,5 +81,6 @@ 484,0xb8, , 2, 0,1000,enemy, 0x808 //HW_GRAVITATION 488,0xb9, , 3, 0, -1,all, 0x000 //CG_HERMODE 535,0xba, , 2, 0,1000,enemy, 0x008 //NJ_KAENSIN#NJ_KAENSIN# +538,0x9b, , 1:1:1:2:2:2:3:3:3:4, 0, -1,all, 0x000 //NJ_SUITON#NJ_SUITON# 539,0x86, , 3, 0,1000,enemy, 0x008 //NJ_HYOUSYOURAKU#NJ_HYOUSYOURAKU# -541,0x86, , 2:2:3:3:4, 0,1000,enemy, 0x008 //NJ_RAIGEKISAI#NJ_RAIGEKISAI# \ No newline at end of file +541,0x86,,2:2:3:3:4,0,1000,enemy,0x008 //NJ_RAIGEKISAI#NJ_RAIGEKISAI# diff --git a/src/map/battle.c b/src/map/battle.c index 4fc5fb72f..992ed62e3 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1256,10 +1256,12 @@ static struct Damage battle_calc_weapon_attack( case NJ_SYURIKEN: case NJ_KUNAI: case NJ_HUUMA: + wd.flag=(wd.flag&~BF_RANGEMASK)|BF_LONG; flag.arrow = 1; break; case GS_MAGICALBULLET: + wd.flag=(wd.flag&~BF_RANGEMASK)|BF_LONG; flag.arrow = 0; break; } @@ -2267,8 +2269,9 @@ static struct Damage battle_calc_weapon_attack( wd.div_=skill_get_num(TF_DOUBLE,skill_lv?skill_lv:1); wd.type = 0x08; } - } else if (( (skill_lv = 5*pc_checkskill(sd,GS_CHAINACTION)) > 0 && sd->weapontype1 == 0x11) || - sd->double_rate > 0) // Copied double attack + } else if (( (skill_lv = 5*pc_checkskill(sd,GS_CHAINACTION)) > 0 && + (sd->weapontype1 == 0x11 || sd->weapontype1 == 0x12 || sd->weapontype1 == 0x13 + || sd->weapontype1 == 0x14 || sd->weapontype1 == 0x15)) || sd->double_rate > 0) // Copied double attack if (rand()%100 < (skill_lv>sd->double_rate?skill_lv:sd->double_rate)) { wd.damage *=2; @@ -2946,7 +2949,7 @@ struct Damage battle_calc_misc_attack( break; case NJ_ZENYNAGE: damage=1000*skill_lv; - if(skill_lv == 0) damage -= 1; + if(skill_lv == 10) damage -= 1; if(map_flag_vs(bl->m) || is_boss(bl)) damage=damage/2; //temp value break; diff --git a/src/map/skill.c b/src/map/skill.c index f06e3d860..72865d9c0 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3102,7 +3102,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s case GS_RAPIDSHOWER: case GS_DUST: case GS_FULLBUSTER: - case GS_SPREADATTACK: + case NJ_SYURIKEN: case NJ_KUNAI: case NJ_HUUMA: @@ -3112,6 +3112,18 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s //race check skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); break; + case GS_DESPERADO: + clif_skill_nodamage(src,bl,skillid,skilllv,1); + map_foreachinrange(skill_attack_area, src, + skill_get_splash(skillid, skilllv), BL_CHAR, + BF_WEAPON, src, src, skillid, skilllv, tick, flag, BCT_ENEMY); + break; + case GS_SPREADATTACK: + map_foreachinrange(skill_area_sub, bl, + skill_get_splash(skillid, skilllv),BL_CHAR, + src,skillid,skilllv,tick, flag|BCT_ENEMY|1, + skill_castend_damage_id); + break; case NJ_ZENYNAGE: skill_attack(BF_MISC,src,src,bl,skillid,skilllv,tick,flag); break; @@ -3124,13 +3136,18 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); break; case NJ_KOUENKA: - case NJ_BAKUENRYU: case NJ_HYOUSENSOU: case NJ_HYOUSYOURAKU: case NJ_HUUJIN: case NJ_RAIGEKISAI: skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); break; + case NJ_KAMAITACHI: + // Does it stop if touch an obstacle? it shouldn't shoot trough walls + map_foreachinpath (skill_attack_area,src->m,src->x,src->y,bl->x,bl->y, + skill_get_splash(skillid, skilllv),BL_CHAR, + BF_WEAPON,src,src,skillid,skilllv,tick,flag,BCT_ENEMY); // varargs + break; //Not implemented yet [Vicious] case GS_FLING: //case GS_TRIPLEACTION: @@ -3141,7 +3158,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s case GS_DISARM: //case GS_PIERCINGSHOT: //case GS_RAPIDSHOWER: - case GS_DESPERADO: + //case GS_DESPERADO: //case GS_DUST: //case GS_FULLBUSTER: //case GS_SPREADATTACK: @@ -3156,12 +3173,11 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s //case NJ_KIRIKAGE: //case NJ_KOUENKA: case NJ_KAENSIN: - //case NJ_BAKUENRYU: //case NJ_HYOUSENSOU: //case NJ_HYOUSYOURAKU: //case NJ_HUUJIN: //case NJ_RAIGEKISAI: - case NJ_KAMAITACHI: + //case NJ_KAMAITACHI: case NJ_ISSEN: skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); break; @@ -5688,6 +5704,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in clif_skill_nodamage(src,bl,skillid,skilllv,1); if(rand()%100 < (50+10*skilllv)) pc_addspiritball(sd,skill_get_time(skillid,skilllv),skilllv); + else if(sd->spiritball > 0) + pc_delspiritball(sd,1,0); } break; case GS_MADNESSCANCEL: @@ -6073,6 +6091,7 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil case SA_DELUGE: /* ƒfƒŠƒ…?ƒW */ case SA_VIOLENTGALE: /* ƒoƒCƒIƒŒƒ“ƒgƒQƒCƒ‹ */ case SA_LANDPROTECTOR: /* ƒ‰ƒ“ƒhƒvƒ?ƒeƒNƒ^? */ + case NJ_SUITON: skill_unitsetting(src,skillid,skilllv,x,y,0); break; @@ -6251,6 +6270,7 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil //Until they're at right position - gs_unit- [Vicious] case NJ_KAENSIN: + case NJ_BAKUENRYU: case NJ_HYOUSYOURAKU: case NJ_RAIGEKISAI: skill_unitsetting(src,skillid,skilllv,x,y,0); @@ -6760,6 +6780,7 @@ int skill_unit_onplace(struct skill_unit *src,struct block_list *bl,unsigned int case UNT_VOLCANO: case UNT_DELUGE: case UNT_VIOLENTGALE: + case UNT_SUITON: if(sc && sc->data[type].timer==-1) sc_start4(bl,type,100,sg->skill_lv,sg->group_id,0,0, skill_get_time2(sg->skill_id,sg->skill_lv)); @@ -7286,6 +7307,7 @@ static int skill_unit_onleft(int skill_id, struct block_list *bl,unsigned int ti case SA_VIOLENTGALE: case CG_HERMODE: case HW_GRAVITATION: + case NJ_SUITON: if (sc && sc->data[type].timer != -1) status_change_end(bl, type, -1); break; @@ -8194,7 +8216,7 @@ int skill_check_condition(struct map_session_data *sd,int type) } break; case GS_ADJUSTMENT: - if(sd->sc.data[SC_MADNESSCANCEL].timer == -1) { + if(sd->spiritball < 2 || sd->sc.data[SC_MADNESSCANCEL].timer == -1) { clif_skill_fail(sd,skill,0,0); return 0; } @@ -8349,7 +8371,7 @@ int skill_check_condition(struct map_session_data *sd,int type) case ST_WATER: //?…?ê”»’è //(!map[sd->bl.m].flag.rain) && //they have removed RAIN effect. [Lupus] - if ( (sd->sc.data[SC_DELUGE].timer == -1) && + if ( (sd->sc.data[SC_DELUGE].timer == -1 || sd->sc.data[SC_SUITON].timer == -1) && (!map_getcell(sd->bl.m,sd->bl.x,sd->bl.y,CELL_CHKWATER))) { clif_skill_fail(sd,skill,0,0); @@ -9568,7 +9590,7 @@ int skill_clear_element_field(struct block_list *bl) for (i=0;iskillunit[i].skill_id; - if(skillid==SA_DELUGE||skillid==SA_VOLCANO||skillid==SA_VIOLENTGALE||skillid==SA_LANDPROTECTOR) + if(skillid==SA_DELUGE||skillid==SA_VOLCANO||skillid==SA_VIOLENTGALE||skillid==SA_LANDPROTECTOR||skillid==NJ_SUITON) return &sd->skillunit[i]; }else if(md){ skillid=md->skillunit[i].skill_id; - if(skillid==SA_DELUGE||skillid==SA_VOLCANO||skillid==SA_VIOLENTGALE||skillid==SA_LANDPROTECTOR) + if(skillid==SA_DELUGE||skillid==SA_VOLCANO||skillid==SA_VIOLENTGALE||skillid==SA_LANDPROTECTOR||skillid==NJ_SUITON) return &md->skillunit[i]; } } diff --git a/src/map/skill.h b/src/map/skill.h index bd40a8382..141d465a5 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -928,6 +928,7 @@ enum { UNT_HERMODE, UNT_KAENSIN, + UNT_SUITON, }; diff --git a/src/map/status.c b/src/map/status.c index 2d8080811..1142f6810 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -281,10 +281,10 @@ void initChangeTables(void) { //Until they're at right position - gs_set_sc- [Vicious] / some of these don't seem to have a status icon adequate [blackhole89] set_sc(GS_MADNESSCANCEL, SC_MADNESSCANCEL, SI_MADNESSCANCEL); set_sc(GS_ADJUSTMENT, SC_ADJUSTMENT, SI_ADJUSTMENT); - set_sc(GS_INCREASING, SC_INCREASING, SI_BLANK); + set_sc(GS_INCREASING, SC_INCREASING, SI_ACCURACY); set_sc(GS_GATLINGFEVER, SC_GATLINGFEVER, SI_GATLINGFEVER); set_sc(NJ_TATAMIGAESHI, SC_TATAMIGAESHI, SI_BLANK); - set_sc(NJ_UTSUSEMI, SC_UTSUSEMI, SI_BLANK); + set_sc(NJ_UTSUSEMI, SC_UTSUSEMI, SI_MAEMI); set_sc(NJ_KAENSIN, SC_KAENSIN, SI_BLANK); set_sc(NJ_SUITON, SC_SUITON, SI_BLANK); set_sc(NJ_NEN, SC_NEN, SI_NEN); @@ -1721,6 +1721,9 @@ int status_calc_agi(struct block_list *bl, int agi) agi -= 2 + sc->data[SC_DECREASEAGI].val1; if(sc->data[SC_QUAGMIRE].timer!=-1) agi -= sc->data[SC_QUAGMIRE].val1*(bl->type==BL_PC?5:10); + int class = status_get_class(bl); + if(sc->data[SC_SUITON].timer!=-1 || class != JOB_NINJA) + agi -= (((sc->data[SC_SUITON].val1 - 1) / 3) + 1) * 3; } return agi; @@ -1992,7 +1995,7 @@ int status_calc_flee(struct block_list *bl, int flee) if(sc->data[SC_ADJUSTMENT].timer!=-1) flee += 30; if(sc->data[SC_GATLINGFEVER].timer!=-1) - flee -= sc->data[SC_GATLINGFEVER].val2*5; + flee -= sc->data[SC_GATLINGFEVER].val1*5; } if (bl->type == BL_PC && map_flag_gvg(bl->m)) //GVG grounds flee penalty, placed here because it's "like" a status change. [Skotlex] @@ -2230,7 +2233,7 @@ int status_calc_aspd_rate(struct block_list *bl, int aspd_rate) if(sc->data[SC_MADNESSCANCEL].timer!=-1) aspd_rate -= 20; if(sc->data[SC_GATLINGFEVER].timer!=-1) - aspd_rate -= sc->data[SC_GATLINGFEVER].val2*2; + aspd_rate -= sc->data[SC_GATLINGFEVER].val1*2; } return aspd_rate; @@ -3854,6 +3857,9 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val calc_flag = 1; val3 = val1*3; break; + case SC_SUITON: + calc_flag = 1; + break; case SC_SPEARSQUICKEN: /* ƒXƒsƒAƒNƒCƒbƒPƒ“ */ calc_flag = 1; @@ -4449,7 +4455,6 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val calc_flag = 1; break; case SC_UTSUSEMI: - case SC_SUITON: case SC_NEN: break; -- cgit v1.2.3-70-g09d2