Przeglądaj źródła

more ninja/gs update

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5535 54d463be-8e91-2dee-dedb-b68131a5f0ec
Vicious 19 lat temu
rodzic
commit
c4d6af569a
6 zmienionych plików z 126 dodań i 94 usunięć
  1. 75 75
      db/job_db1.txt
  2. 2 1
      db/skill_unit_db.txt
  3. 6 3
      src/map/battle.c
  4. 32 10
      src/map/skill.c
  5. 1 0
      src/map/skill.h
  6. 10 5
      src/map/status.c

+ 75 - 75
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

+ 2 - 1
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#
+541,0x86,,2:2:3:3:4,0,1000,enemy,0x008	//NJ_RAIGEKISAI#NJ_RAIGEKISAI#

+ 6 - 3
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;

+ 32 - 10
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;i<max;i++) {
 		skillid=ug[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)
 			skill_delunitgroup(&ug[i]);
 	}
 	return 0;
@@ -9598,11 +9620,11 @@ struct skill_unit_group *skill_locate_element_field(struct block_list *bl)
 	for (i=0;i<max;i++) {
 		if(sd){
 			skillid=sd->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 &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];
 		}
 	}

+ 1 - 0
src/map/skill.h

@@ -928,6 +928,7 @@ enum {
 	UNT_HERMODE,
 
 	UNT_KAENSIN,
+	UNT_SUITON,
 	
 };
 

+ 10 - 5
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;