Procházet zdrojové kódy

* Fixed Gunslinger and Ninja skills not showing up and not working due to an error
in skill_require_db
- also commited a commented block for GS_FLING that needs to be looked at and posiably
cleaned before it's uncommented.
- fixed exp2 not accepting Gunslingers and ninjas
- fixed the "jobmaster" having the same problem as rebirth
- added the Gunslinger shops for guns and ammo [Reddozen]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5783 54d463be-8e91-2dee-dedb-b68131a5f0ec

reddozen před 19 roky
rodič
revize
26fb455a43
8 změnil soubory, kde provedl 279 přidání a 243 odebrání
  1. 17 0
      Changelog-Trunk.txt
  2. 0 6
      db/exp2.txt
  3. 46 46
      db/skill_db.txt
  4. 41 41
      db/skill_require_db.txt
  5. 141 149
      npc/custom/jobs/jobmaster.txt
  6. 2 0
      npc/merchants/shops.txt
  7. 28 1
      src/map/skill.c
  8. 4 0
      src/map/status.c

+ 17 - 0
Changelog-Trunk.txt

@@ -5,6 +5,13 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.  EV
 GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
 
 2006/03/28
+	* Fixed Gunslinger and Ninja skills not showing up and not working due to an error
+	  in skill_require_db
+	  - also commited a commented block for GS_FLING that needs to be looked at and posiably
+	    cleaned before it's uncommented.
+	  - fixed exp2 not accepting Gunslingers and ninjas
+	  - fixed the "jobmaster" having the same problem as rebirth
+	  - added the Gunslinger shops for guns and ammo [Reddozen]
 	* Modified clif_getareachar_pc to hide hidden GMs from normal players (players with GM
           level > 0 still able to view) by NOT sending the coordinates. [Lance]
 
@@ -44,6 +51,16 @@ GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALAR
 	* Fixed Grandcross/Granddarkness showing no skill animation. [Skotlex]
 	* Fixed mob-casted grandcross doing nothing unless the target was "self" [Skotlex]
 2006/03/24
+	* Fixed / finished most of Gunslinger [Reddozen]
+	  - fixed some bullets in the item DB
+	  - adjusted a few rates in skill_cast_db.txt for Gunslingers
+	  - adjusted a couple skills in skill_db.txt to act correctly
+	  - adjusted all the SP values for Gunslinger skills
+	  - changed piercing shot to lv 5 from lv 10
+	  - made ki Translation fail giving coins to Gunslingers
+	  - equipping a weapon other than a gatlin gun should cancel SC_GATLINGING. Also made Gatlinfeaver on/off togelable
+	  - GS_CRACKER will no longer stun players
+	  - added GS_Disarm
 	* Fixed iteminfo only displaying first result when there were many. [Skotlex]
 	* Fixed pet hatching. [Skotlex]
 	* Small change that SHOULD fix the pet duplication issue. [Skotlex]

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 6
db/exp2.txt


+ 46 - 46
db/skill_db.txt

@@ -519,52 +519,52 @@
 497,0,6,4,0,1,0,1,0,no,0,8,0,none,0	//AM_TWILIGHT2#Twilight Alchemy 2#
 498,0,6,4,0,1,0,1,0,no,0,8,0,none,0	//AM_TWILIGHT3#Twilight Alchemy 3#
 499,-9,8,4,-1,0,0,1,2,no,0,8,0,weapon,0	//HT_POWER#Beast Strafing#
-//temp
-500,0,6,4,0,1,0,5,0,no,0,0,0,none,0	//GS_GLITTERING#フリップザコイン#
-501,-3,6,1,0,0,0,1,1,no,0,0,0,weapon,0	//GS_FLING#フライング#
-502,-3,8,1,0,0,0,1,3,no,0,0,0,weapon,0	//GS_TRIPLEACTION#トリプルアクション#
-503,-3,6,1,0,0,0,1,1,no,0,0,0,weapon,0	//GS_BULLSEYE#ブルズアイ#
-504,0,6,4,0,1,0,1,0,no,0,0,0,weapon,0	//GS_MADNESSCANCEL#マッドネスキャンセラー#
-505,0,6,4,0,1,0,1,0,no,0,0,0,weapon,0	//GS_ADJUSTMENT#アジャストメント#
-506,0,6,4,0,1,0,1,0,no,0,0,0,weapon,0	//GS_INCREASING#インクリーシングアキュアラシー#
-507,-3,6,1,8,0,0,1,1,no,0,0,0,weapon,0	//GS_MAGICALBULLET#マジックバレット#
-508,-3,6,1,0,1,0,1,0,no,0,0,0,weapon,0	//GS_CRACKER#クラッカー#
-509,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//GS_SINGLEACTION#シングルアクション#
-510,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//GS_SNAKEEYE#スネークアイ#
-511,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//GS_CHAINACTION#チェインアクション#
-512,-3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_TRACKING#トラッキング#
-513,-3,6,1,0,0,0,5,1,no,0,0,0,weapon,0	//GS_DISARM#ディスアーム#
-514,-3,6,1,0,0,0,5,1,no,0,0,0,weapon,0	//GS_PIERCINGSHOT#ピアーシングショット#
-515,-3,8,1,0,0,0,10,5,no,0,0,0,weapon,0	//GS_RAPIDSHOWER#ラピッドシャワー#
-516,0,8,4,0,0,0,10,10,no,0,0,0,weapon,0	//GS_DESPERADO#デスペラード#
-517,0,6,4,0,1,0,10,1,no,0,0,0,weapon,0	//GS_GATLINGFEVER#ガトリングフィーバー#
-518,3,6,1,0,0,0,10,1,no,0,0,0,weapon,2	//GS_DUST#ダスト#
-519,-3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_FULLBUSTER#フルバスター#
-520,-3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_SPREADATTACK#スプレッドアタック#
-521,-3,6,2,0,0,0,10,1,no,0,0,0,weapon,0	//GS_GROUNDDRIFT#グラウンドドリフト#
-522,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//NJ_TOBIDOUGU#飛刀修練#
-523,9,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//NJ_SYURIKEN#手裏剣投げ#
-524,9,8,1,0,0,0,5,3,no,0,0,0,weapon,0	//NJ_KUNAI#クナイ投げ#
-525,9,8,1,0,0,0,5,2:3:4:5:6,no,0,0,0,weapon,0	//NJ_HUUMA#風魔手裏剣投げ#
-526,9,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//NJ_ZENYNAGE#銭投げ#
-527,0,6,4,0,0,0,5,1,no,0,0,0,weapon,3	//NJ_TATAMIGAESHI#畳返し#
-528,-1,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//NJ_KASUMIKIRI#霞斬り#
-529,5:6:7:8:9,6,2,0,1,0,5,1,no,0,0,0,none,0	//NJ_SHADOWJUMP#影跳躍#
-530,9,6,1,0,0,0,5,1,no,0,0,0,weapon,0	//NJ_KIRIKAGE#斬影#
-531,0,6,4,0,1,0,5,0,yes,0,0,0,weapon,0	//NJ_UTSUSEMI#空蝉#
-532,0,6,4,0,1,0,10,0,yes,0,0,0,weapon,0	//NJ_BUNSINJYUTSU#分身の術#
-533,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//NJ_NINPOU#忍法修練#
-534,9,8,1,3,4,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0	//NJ_KOUENKA#紅炎華#
-535,0,6,4,3,0,0,10,1,yes,0,0,0,magic,0	//NJ_KAENSIN#火炎陣#
-536,9,8,2,3,0,0,5,3,yes,0,0,0,magic,0			//NJ_BAKUENRYU#爆炎龍#
-537,9,8,1,1,4,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,0	//NJ_HYOUSENSOU#氷閃槍#
-538,2,6,2,1,1,0,10,0,yes,0,0,0,magic,0			//NJ_SUITON#水遁#
-539,0,6,4,1,0,0,10,1,yes,0,0,0,magic,0			//NJ_HYOUSYOURAKU#氷晶落#
-540,9,8,1,4,4,0,10,1:2:2:3:3:4:4:5:5:6,yes,0,0,0,magic,0	//NJ_HUUJIN#風刃#
-541,0,6,4,4,0,0,5,1,yes,0,0,0,magic,0			//NJ_RAIGEKISAI#雷撃砕#
-542,5:6:7:8:9,6,1,4,0,0,5,1,yes,0,0,0,magic,0		//NJ_KAMAITACHI#カマイタチ#
-543,0,6,4,0,1,0,5,0,yes,0,0,0,weapon,0	//NJ_NEN#念#
-544,0,6,1,0,0,0,10,1,yes,0,0,0,weapon,0	//NJ_ISSEN#一閃#
+//Temp Plugs(using bash as base)
+500,0,6,4,0,0,0,5,1,no,0,0,0,none,0	//GS_GLITTERING#Flip the Coin#
+501,-3,6,1,0,0,0,1,1,no,0,0,0,weapon,0	//GS_FLING#Fling#
+502,-3,8,1,0,0,0,1,3,no,0,0,0,weapon,0	//GS_TRIPLEACTION#Triple Action#
+503,-3,6,1,0,0,0,1,1,no,0,0,0,weapon,0	//GS_BULLSEYE#Bulls Eye#
+504,0,6,4,0,1,0,5,1,no,0,0,0,weapon,0	//GS_MADNESSCANCEL#Madness Canceler#
+505,0,6,4,0,1,0,5,1,no,0,0,0,weapon,0	//GS_ADJUSTMENT#AdJustment#
+506,0,6,4,0,1,0,5,1,no,0,0,0,weapon,0	//GS_INCREASING#Increasing Accuracy#
+507,-3,6,1,7,0,0,1,1,no,0,0,0,weapon,0	//GS_MAGICALBULLET#Magical Bullet#
+508,-3,6,1,0,0,0,1,1,no,0,0,0,weapon,0	//GS_CRACKER#Cracker#
+509,-3,0,0,0,0,0,10,0,no,0,0,0,none,0	//GS_SINGLEACTION#Single Action#
+510,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//GS_SNAKEEYE#Snake Eye#
+511,-3,8,0,0,0,0,10,2,no,0,0,0,weapon,0	//GS_CHAINACTION#Chain Action#
+512,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_TRACKING#Tracking#
+513,-3,6,1,0,0,0,5,1,no,0,0,0,weapon,0	//GS_DISARM#Disarm#
+514,3,6,1,0,0,0,5,1,no,0,0,0,weapon,0	//GS_PIERCINGSHOT#Piercing Shot#
+515,3,8,1,0,0,0,10,5,no,0,0,0,weapon,0	//GS_RAPIDSHOWER#Rapid Shower#
+516,-5,8,4,0,2,2,10,-10,no,0,0,0,weapon,0	//GS_DESPERADO#Desperado#
+517,0,6,4,0,1,0,10,1,no,0,0,0,weapon,0	//GS_GATLINGFEVER#Gatling Fever#
+518,-3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_DUST#Dust#
+519,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_FULLBUSTER#Full Buster#
+520,3,6,1,0,2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0	//GS_SPREADATTACK#Spread Attack#
+521,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0	//GS_GROUNDDRIFT#Ground Drift#
+522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0	//NJ_TOBIDOUGU#NJ_TOBIDOUGU#
+523,9,6,1,-1,0,0,10,1,no,0,0,0,weapon,0	//NJ_SYURIKEN#NJ_SYURIKEN#
+524,9,8,1,-1,0,0,5,3,no,0,0,0,weapon,0	//NJ_KUNAI#NJ_KUNAI#
+525,9,8,1,-1,2,2,5,-1:-2:-3:-4:-5,no,0,0,0,weapon,0	//NJ_HUUMA#NJ_HUUMA#
+526,9,6,1,0,0,0,10,1,no,0,0,0,misc,0	//NJ_ZENYNAGE#NJ_ZENYNAGE#
+527,0,6,4,3,0,0,5,1,no,0,0,0,weapon,0	//NJ_TATAMIGAESHI#NJ_TATAMIGAESHI#
+528,1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0	//NJ_KASUMIKIRI#NJ_KASUMIKIRI#
+529,1,6,4,0,1,0,5,1,no,0,0,0,none,0	//NJ_SHADOWJUMP#NJ_SHADOWJUMP#
+530,-1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0	//NJ_KIRIKAGE#NJ_KIRIKAGE#
+531,0,6,4,0,1,0,5,1,no,0,0,0,none,0	//NJ_UTSUSEMI#NJ_UTSUSEMI#
+532,0,6,4,0,1,0,10,1,no,0,0,0,none,0	//NJ_BUNSINJYUTSU#NJ_BUNSINJYUTSU#
+533,0,0,0,0,0,0,10,0,no,0,0,0,none,0	//NJ_NINPOU#NJ_NINPOU#
+534,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,no,0,0,0,magic,0	//NJ_KOUENKA#NJ_KOUENKA#
+535,0,8,4,3,0,2,10,5:5:6:6:7:7:8:8:9:9,no,0,0,0,magic,0	//NJ_KAENSIN#NJ_KAENSIN#
+536,9,8,2,3,0,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,2,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#
+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#
+543,0,6,4,0,1,0,5,1,no,0,0,0,none,0	//NJ_NEN#NJ_NEN#
+544,2,6,4,0,0,0,10,1,no,0,0,0,weapon,0	//NJ_ISSEN#NJ_ISSEN#
 
 1001,9,6,1,-1,0,0,1,1,no,0,1,0,weapon,0	//KN_CHARGEATK#Charge Attack#
 1002,0,6,4,0,1,0,1,0,no,0,1,0,weapon,2	//CR_SHRINK#Shrink#

+ 41 - 41
db/skill_require_db.txt

@@ -388,47 +388,47 @@
 498,0,0,200,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//AM_TWILIGHT3#ト�?イライトファ?[マシ?[3#
 499,0,0,8,0,0,0,11,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//HT_POWER#ビ?[ストストレイピング#
 //temp plugs
-500,0,10,0,0,1,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//GS_GLITTERING#フリップザコイン#
-501,0,10,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_FLING#フライング#
-502,0,10,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_TRIPLEACTION#トリプルアクション#
-503,0,10,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_BULLSEYE#ブルズアイ#
-504,0,10,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_MADNESSCANCEL#マッドネスキャンセラー#
-505,0,15,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_ADJUSTMENT#アジャストメント#
-506,0,10,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_INCREASING#インクリーシングアキュアラシー#
-507,0,7,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_MAGICALBULLET#マジックバレット#
-508,0,10,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_CRACKER#クラッカー#
-512,0,15:20:25:30:35:40:45:50:55:60,0,0,0,17:18,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_TRACKING#トラッキング#
-513,0,15:20:25:30:35,0,0,0,17:18,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_DISARM#ディスアーム#
-514,0,11:12:13:14:15,0,0,0,17:18,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_PIERCINGSHOT#ピアーシングショット#
-515,0,22:24:26:28:30:32:34:36:38:40,0,0,0,17,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_RAPIDSHOWER#ラピッドシャワー#
-516,0,32:34:36:38:40:42:44:46:48:50,0,0,0,17,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_DESPERADO#デスペラード#
-517,0,30:32:34:36:38:40:42:44:46:48,0,0,0,20,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GATLINGFEVER#ガトリングフィーバー#
-518,0,3:6:9:12:15:18:21:24:27:30,0,0,0,19,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_DUST#ダスト#
-519,0,20:25:30:35:30:35:40:45:50:55:60:65,0,0,0,19,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_FULLBUSTER#フルバスター#
-520,0,15:20:25:30:35:40:45:50:55:60,0,0,0,19,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_SPREADATTACK#スプレッドアタック#
-521,0,4:8:12:16:20:24:28:32:36:40,0,0,0,21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GROUNDDRIFT#グラウンドドリフト#
-//
-523,0,10,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_SYURIKEN#手裏剣投げ#
-524,0,10,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_KUNAI#クナイ投げ#
-525,0,20:25:30:35:40,0,0,0,22,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_HUUMA#風魔手裏剣投げ#
-526,0,50,0,0,1000:2000:3000:4000:5000:6000:7000:8000:9000:10000,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_ZENYNAGE#銭投げ#
-527,0,40,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_TATAMIGAESHI#畳返し#
-528,0,10:12:14:16:18:20:22:24:26:28,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_KASUMIKIRI#霞斬り#
-529,0,40,0,0,0,99,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,14:16:18:20:22,0,0,0,99,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,12:15:18:21:24,0,0,0,99,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,30:32:34:36:38:40:42:44:46:48,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_BUNSINJYUTSU#分身の術#
-534,0,18:20:22:24:26:28:30:32:34:36,0,0,0,99,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,40,0,0,0,99,none,0,7521,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_KAENSIN#火炎陣#
-536,0,20:25:30:35:40,0,0,0,99,none,0,7521,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_BAKUENRYU#爆炎龍#
-537,0,15:18:21:24:27:30:33:36:39:42,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_HYOUSENSOU#氷閃槍#
-538,0,15:18:21:24:27:30:33:36:39:42,0,0,0,99,none,0,7522,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_SUITON#水遁#
-539,0,40:45:50:55:60,0,0,0,99,none,0,7522,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_HYOUSYOURAKU#氷晶落#
-540,0,12:14:16:18:20:22:24:26:28:30,0,0,0,99,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,16:20:24:28:32,0,0,0,99,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,24:28:32:36:40,0,0,0,99,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,0,20:30:40:50:60,0,0,0,99,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,55:60:65:70:75:80:85:90:95:100,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_ISSEN#一閃#
+500,0,0,10,0,0,0,99,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GLITTERING
+501,0,0,10,0,0,0,17:18:19:20:21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_FLING
+502,0,0,10,0,0,0,17:18:19:20:21,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_TRIPLEACTION
+503,0,0,10,0,0,0,17:18:19:20:21,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_BULLSEYE
+504,0,0,10,0,0,0,17:18:19:20:21,none,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_MADNESSCANCEL
+505,0,0,15,0,0,0,17:18:19:20:21,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_ADJUSTMENT
+506,0,0,10,0,0,0,17:18:19:20:21,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_INCREASING
+507,0,0,7,0,0,0,17:18:19:20:21,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_MAGICALBULLET
+508,0,0,10,0,0,0,17:18:19:20:21,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_CRACKER
+512,0,0,15:20:25:30:35:40:45:50:55:60,0,0,0,17:18,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_TRACKING
+513,0,0,15:20:25:30:35,0,0,0,17:18,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_DISARM
+514,0,0,11:12:13:14:15,0,0,0,17:18,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_PIERCINGSHOT
+515,0,0,22:24:26:28:30:32:34:36:38:40,0,0,0,17,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_RAPIDSHOWER
+516,0,0,32:34:36:38:40:42:44:46:48:50,0,0,0,17,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_DESPERADO
+517,0,0,30:32:34:36:38:40:42:44:46:48,0,0,0,20,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GATLINGFEVER
+518,0,0,3:6:9:12:15:18:21:24:27:30,0,0,0,19,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_DUST
+519,0,0,20:25:30:35:40:45:50:55:60:65,0,0,0,19,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_FULLBUSTER
+520,0,0,15:20:25:30:35:40:45:50:55:60,0,0,0,19,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_SPREADATTACK
+521,0,0,4:8:12:16:20:24:28:32:36:40,0,0,0,21,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//GS_GROUNDDRIFT
+523,0,0,10,0,0,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_SYURIKEN
+524,0,0,10,0,0,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_KUNAI
+525,0,0,20:25:30:35:40,0,0,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_HUUMA
+526,0,0,50,0,0,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_ZENYNAGE
+527,0,0,40,0,0,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_TATAMIGAESHI
+528,0,0,10:12:14:16:18:20:22:24:26:28,0,0,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_KASUMIKIRI
+529,0,0,40,0,0,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_SHADOWJUMP
+530,0,0,14:16:18:20:22,0,0,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,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,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
+533,0,0,10,0,0,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,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,40,0,0,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
+536,0,0,20:25:30:35:40,0,0,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_BAKUENRYU
+537,0,0,15:18:21:24:27:30:33:36:39:42,0,0,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_HYOUSENSOU
+538,0,0,15:18:21:24:27:30:33:36:39:42,0,0,0,0,none,0,7522,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_SUITON
+539,0,0,40:45:50:55:60,0,0,0,0,none,0,7522,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//NJ_HYOUSYOURAKU
+540,0,0,12:14:16:18:20:22:24:26:28:30,0,0,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,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,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,0,0,20:30:40:50:60,0,0,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,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,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//KN_CHARGEATK#チャ?[ジアタック#
 1002,0,0,15,0,0,0,99,shield,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//CR_SHRINK#シュリンク#

+ 141 - 149
npc/custom/jobs/jobmaster.txt

@@ -1,23 +1,19 @@
 //===== eAthena Script =======================================
 //= eAthena Jobchanger AKA Job Master
 //===== By: ==================================================
-//= eAthena Dev Team [LunatikBunnie] (Editted by Amada`)
+//= eAthena Dev Team [LunatikBunnie] (Editted by Amada`) (editted again by lilaznkilla)
 //===== Current Version: =====================================
-//= 1.4
+//= 1.2d
 //===== Compatible With: =====================================
 //= Any Athena Version
 //===== Description: =========================================
 //= Changes your job without asking too much
 //= For other info, please contact me at Lunatikbunnie@gmail.com 
 //= Editted menu to avoid button mashing.
-//= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]
-//=    script leaves grabage variable: 'lastJob'
-//= 1.4 Added NJ/GS, changed all job numbers to Job_* constants. 
-//=    All credits go to pxxx [Skotlex]
 //============================================================
 
 // ------------------------------ Start ------------------------------
-prontera.gat,153,193,6	script	Job Master	123,{
+lighthalzen.gat,85,148,6	script	Job Master	833,{
 // Variable Setup
 	set @MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)
 	set @GivePlat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
@@ -27,35 +23,36 @@ prontera.gat,153,193,6	script	Job Master	123,{
 	if(SkillPoint != 0) goto L_skillUsed;
 	if(Class == Job_Novice) goto L_novice;
 	if(JobLevel <10) goto L_notEn;
-	if((Class ==Job_Novice_High) && ((lastJob ==Job_Knight) || (lastJob ==Job_Crusader))) goto L_cHsword;
-	if((Class ==Job_Novice_High) && ((lastJob ==Job_Wizard) || (lastJob ==Job_Sage))) goto L_cHmage;
-	if((Class ==Job_Novice_High) && ((lastJob ==Job_Hunter) || (lastJob ==Job_Bard) || (lastJob ==Job_Dancer))) goto L_cHarcher;
-	if((Class ==Job_Novice_High) && ((lastJob ==Job_Priest) || (lastJob ==Job_Monk))) goto L_cHacolyte;
-	if((Class ==Job_Novice_High) && ((lastJob ==Job_Blacksmith) || (lastJob ==Job_Alchem))) goto L_cHmerchant;
-	if((Class ==Job_Novice_High) && ((lastJob ==Job_Assassin) || (lastJob ==Job_Rogue))) goto L_cHthief;
+	if((Class ==Job_Novice_High) && ((lastJob ==7) || (lastJob ==14))) goto L_cHsword;
+	if((Class ==Job_Novice_High) && ((lastJob ==9) || (lastJob ==16))) goto L_cHmage;
+	if((Class ==Job_Novice_High) && ((lastJob ==11) || (lastJob ==19) || (lastJob ==20))) goto L_cHarcher;
+	if((Class ==Job_Novice_High) && ((lastJob ==8) || (lastJob ==15))) goto L_cHacolyte;
+	if((Class ==Job_Novice_High) && ((lastJob ==10) || (lastJob ==18))) goto L_cHmerchant;
+	if((Class ==Job_Novice_High) && ((lastJob ==12) || (lastJob ==17))) goto L_cHthief;
 	if(JobLevel <@MinimumJB) goto L_notEn;
-	if(Class ==Job_Swordman) goto L_iSword;
-	if(Class ==Job_Mage) goto L_iMage;
-	if(Class ==Job_Archer) goto L_iArcher;
-	if(Class ==Job_Acolyte) goto L_iAcolyte;
-	if(Class ==Job_Merchant) goto L_iMerchant;
-	if(Class ==Job_Thief) goto L_iThief;
-	if(Class ==Job_Taekwon) goto L_iTaekwon;
-	if(checkfalcon(0) || checkcart(0) || checkriding(0)) goto L_remove;
-	if(lastJob ==Job_Knight) goto L_iKnight;
-	if(lastJob ==Job_Priest) goto L_iPriest;
-	if(lastJob ==Job_Wizard) goto L_iWizard;
-	if(lastJob ==Job_Blacksmith) goto L_iBlacksmith;
-	if(lastJob ==Job_Hunter) goto L_iHunter;
-	if(lastJob ==Job_Assassin) goto L_iAssassin;
-	if(lastJob ==Job_Crusader) goto L_iCrusader;
-	if(lastJob ==Job_Monk) goto L_iMonk;
-	if(lastJob ==Job_Sage) goto L_iSage;
-	if(lastJob ==Job_Rogue) goto L_iRogue;
-	if(lastJob ==Job_Alchem) goto L_iAlchemist;
-	if(lastJob ==Job_Bard) goto L_iBard;
-	if(lastJob ==Job_Dancer) goto L_iDancer;
-	if((Class >=Job_Knight) && (Class <=Job_Dancer)) goto L_rebirth;
+	if(Class ==1) goto L_iSword;
+	if(Class ==2) goto L_iMage;
+	if(Class ==3) goto L_iArcher;
+	if(Class ==4) goto L_iAcolyte;
+	if(Class ==5) goto L_iMerchant;
+	if(Class ==6) goto L_iThief;
+	if(Class ==4046) goto L_iTKD;
+	if(Class ==24) goto L_GS;
+	if(checkfalcon(0) == 1 || checkcart(0) == 1 || checkriding(0) == 1) goto L_remove;
+	if(lastJob ==7) goto L_iKnight;
+	if(lastJob ==8) goto L_iPriest;
+	if(lastJob ==9) goto L_iWizard;
+	if(lastJob ==10) goto L_iBlacksmith;
+	if(lastJob ==11) goto L_iHunter;
+	if(lastJob ==12) goto L_iAssassin;
+	if(lastJob ==14) goto L_iCrusader;
+	if(lastJob ==15) goto L_iMonk;
+	if(lastJob ==16) goto L_iSage;
+	if(lastJob ==17) goto L_iRogue;
+	if(lastJob ==18) goto L_iAlchemist;
+	if(lastJob ==19) goto L_iBard;
+	if(lastJob ==20) goto L_iDancer;
+	if((Class >=7) && (Class <=20)) goto L_rebirth;
 	close;
 
 // Novice
@@ -65,77 +62,69 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		if(JobLevel<10) goto L_notEn;
 		mes "^ff0000[Job Master]^000000";
 		mes "Welcome, please select the job you wish to change into";
-		menu "Swordsman",L_sword,"Mage",L_mage,"Archer",L_archer,"Acolyte",L_acolyte,"Merchant",L_merchant,"Thief",L_thief,"Super Novice",L_superN,"Taekwon",L_taekwon,"Gunslinger",L_gun,"Ninja",L_ninja;
+		menu "Swordsman",L_sword,"Mage",L_mage,"Archer",L_archer,"Acolyte",L_acolyte,"Merchant",L_merchant,"Thief",L_thief,"Super Novice",L_superN,"Learn Taekwondo",L_TKD,"Gunslinger",L_GS;
 // Change to Swordsman
 			L_sword:
-				mes "Are you SURE?";
+				mes "Are you SURE you want to become a ^ff0000Swordsman^000000?";
+				menu "No",L_quit,"Yes",-;
+				jobchange 1;
+				if(GivePlat ==1) goto L_givePlat;
+				close;
+// Change to Gunslinger
+			L_GS:
+				mes "Are you SURE you want to be a ^ff0000Gunslinger^000000?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Swordman;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 24;
 				close;
 // Change to Mage
 			L_mage:
-				mes "Are you SURE?";
+				mes "Are you SURE you want to become a ^ff0000Mage^000000?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Mage;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 2;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Archer
 			L_archer:
-				mes "Are you SURE?";
+				mes "Are you SURE you want to become a ^ff0000Archer^000000?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Archer;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 3;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Acolyte
 			L_acolyte:
-				mes "Are you SURE?";
+				mes "Are you SURE you want to become a ^ff0000Acolyte^000000?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Acolyte;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 4;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Merchant
 			L_merchant:
-				mes "Are you SURE?";
+				mes "Are you SURE you want to become a ^ff0000Merchant^000000?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Merchant;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 5;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Thief
 			L_thief:
-				mes "Are you SURE?";
+				mes "Are you SURE you want to become a ^ff0000Thief^000000?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Thief;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 6;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Super Novice
 			L_superN:
-				mes "Are you SURE?";
+				mes "Are you SURE you want to become a ^ff0000Super Novice^000000?";
 				menu "No",L_quit,"Yes",-;
 				if(BaseLevel<@SupNovM) goto L_notSup;
-				jobchange Job_SuperNovice;
-				if(@GivePlat) goto L_GivePlat;
-				close;
-// Change to Taekwon
-			L_taekwon:
-				mes "Are you SURE?";
-				menu "No",L_quit,"Yes",-;
-				jobchange Job_Taekwon;
-				callfunc "F_ClearJobVar";
-				close;
-// Change to Gunslinger
-			L_gun:
-				mes "Are you SURE?";
-				menu "No",L_quit,"Yes",-;
-				jobchange Job_Gunslinger;
-				callfunc "F_ClearJobVar";
+				jobchange 23;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
-// Change to Ninja
-			L_ninja:
-				mes "Are you SURE?";
+
+//Change to Taekwondo
+			L_TKD:
+				mes "Are you SURE you want to learn a ^ff0000Taekwondo^000000?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Ninja;
-				callfunc "F_ClearJobVar";
+				jobchange 4046;
 				close;
 
 // Change to Knight/Crusader
@@ -146,14 +135,14 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_knight:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Knight;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 7;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 			L_crusader:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Crusader;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 14;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Wizard/Sage
 	L_iMage:
@@ -163,14 +152,14 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_wizard:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Wizard;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 9;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 			L_sage:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Sage;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 16;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Hunter/Bard/Dancer
 	L_iArcher:
@@ -180,8 +169,8 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_hunter:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Hunter;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 11;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 			L_bandd:
 				if(sex==0) goto L_dancer;
@@ -189,14 +178,14 @@ prontera.gat,153,193,6	script	Job Master	123,{
 				L_bard:
 					mes "Are you SURE?";
 					menu "No",L_quit,"Yes",-;
-					jobchange Job_Bard;
-					if(@GivePlat) goto L_GivePlat;
+					jobchange 19;
+					if(GivePlat ==1) goto L_givePlat;
 					close;
 				L_dancer:
 					mes "Are you SURE?";
 					menu "No",L_quit,"Yes",-;
-					jobchange Job_Dancer;
-					if(@GivePlat) goto L_GivePlat;
+					jobchange 20;
+					if(GivePlat ==1) goto L_givePlat;
 					close;
 // Change to Priest/Monk
 	L_iAcolyte:
@@ -206,14 +195,14 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_priest:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Priest;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 8;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 			L_monk:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Monk;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 15;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Blacksmith/Alchemist
 	L_iMerchant:
@@ -223,14 +212,14 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_blacksmith:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Blacksmith;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 10;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 			L_alchemist:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Alchem;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 18;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 // Change to Assassin/Rogue
 	L_iThief:
@@ -240,32 +229,36 @@ prontera.gat,153,193,6	script	Job Master	123,{
 			L_assassin:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Assassin;
-				if(@GivePlat) goto L_GivePlat;
+				jobchange 12;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
 			L_rogue:
 				mes "Are you SURE?";
 				menu "No",L_quit,"Yes",-;
-				jobchange Job_Rogue;
-				if(@GivePlat) goto L_GivePlat;
-				close;
-// Change to Star Gladiator/Soul Linker
-	L_iTaekwon:
-		mes "^ff0000[Job Master]^000000";
-		mes "Welcome, please select the job you wish to change into";
-		menu "Star Gladiator",L_SG,"Soul Linker",L_SL;
-			L_SG:
-				mes "Are you SURE?";
-				menu "No",L_quit,"Yes",-;
-				jobchange Job_Star_Gladiator;
-				callfunc "F_ClearJobVar";
-				close;
-			L_SL:
-				mes "Are you SURE?";
-				menu "No",L_quit,"Yes",-;
-				jobchange Job_Soul_Linker;
-				callfunc "F_ClearJobVar";
+				jobchange 17;
+				if(GivePlat ==1) goto L_givePlat;
 				close;
+// Change to Star Knight/Soul Linker
+		L_iTKD:
+			if(JobLevel <40) goto L_NRTKD;
+				mes "^ff0000[Job Master]^000000";
+    				mes "Welcome, please select the job you wish to change into";
+    				menu "Soul linker",L_SL,"Star Knight",L_SK;
+    		L_SL:
+    			mes "Do want to become a Soul linker?";
+    			menu "No",L_quit,"Yes",-;
+    			jobchange 4049;
+    			close;
+    		L_SK:
+    			mes "Do yo want to be a Star knight?";
+    			menu "No",L_quit,"Yes",-;
+    			jobchange 4047;
+    			close;
+    		L_NRTKD:
+    			mes "You are not ready to learn the secret arts of taekwondo";
+    			next;
+    			mes "Come back here when you are stronger";
+    			close;
 // Rebirth
 	L_rebirth:
 		mes "^ff0000[Job Master]^000000";
@@ -280,15 +273,15 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		skill 142,1,0;
 		skill 143,1,0;
 		mes "^ff0000[Job Master]^000000";
-		mes "You are now reborn.";
-		mes "Please come again soon.";
+		mes "You are now reborn";
+		mes "Please come again soon";
 		close;
 	L_cHsword:
 		mes "^ff0000[Job Master]^000000";
 		mes "Do you want to change into a High Swordsman?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange Job_Swordman_High;
+		jobchange Job_swordsman_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -297,7 +290,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Mage?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange Job_Mage_High;
+		jobchange Job_mage_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -306,7 +299,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Archer?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange Job_Archer_High;
+		jobchange Job_archer_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -315,7 +308,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Acolyte?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange Job_Acolyte_High;
+		jobchange Job_acolyte_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -324,7 +317,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Merchant?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange Job_Merchant_High;
+		jobchange Job_merchant_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;
@@ -333,7 +326,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Thief?";
 		next;
 		menu "No",L_quit,"Yes",-;
-		jobchange Job_Thief_High;
+		jobchange Job_thief_High;
 		mes "^ff0000[Job Master]^000000";
 		mes "Thank you, please come again soon!";
 		close;	
@@ -343,7 +336,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Lord Knight?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Lord_Knight;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Paladin
 	L_iCrusader:
@@ -351,7 +344,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Paladin?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Paladin;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to High Priest
 	L_iPriest:
@@ -359,7 +352,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Priest?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_High_Priest;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Champion
 	L_iMonk:
@@ -367,7 +360,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Champion?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Champion;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Whitesmith
 	L_iBlacksmith:
@@ -375,7 +368,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Whitesmith?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Whitesmith;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Creator
 	L_iAlchemist:
@@ -383,7 +376,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Creator?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Creator;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to High Wizard
 	L_iWizard:
@@ -391,7 +384,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a High Wizard?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_High_Wizard;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Professor
 	L_iSage:
@@ -399,7 +392,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Professor?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Professor;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Sniper
 	L_iHunter:
@@ -407,7 +400,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Sniper?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Sniper;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Clown
 	L_iBard:
@@ -415,7 +408,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Clown?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Clown;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Gypsy
 	L_iDancer:
@@ -423,7 +416,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Gypsy?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Gypsy;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Assassin Cross
 	L_iAssassin:
@@ -431,7 +424,7 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into an Assassin Cross?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Assassin_Cross;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Change to Stalker
 	L_iRogue:
@@ -439,18 +432,17 @@ prontera.gat,153,193,6	script	Job Master	123,{
 		mes "Do you want to change into a Stalker?";
 		menu "No",L_quit,"Yes",-;
 			jobchange Job_Stalker;
-			if(@GivePlat) goto L_GivePlat;
+			if(GivePlat ==1) goto L_givePlat;
 			close;
 // Giving Platinum Skills
-	L_GivePlat:
-		if (BaseClass==Job_SuperNovice) goto L_sSuperN;
-		if (BaseClass==Job_Swordman) goto L_sSword;
-		if (BaseClass==Job_Mage) goto L_sMage;
-		if (BaseClass==Job_Archer) goto L_sArcher;
-		if (BaseClass==Job_Acolyte) goto L_sAcolyte;
-		if (BaseClass==Job_Merchant) goto L_sMerchant;
-		if (BaseClass==Job_Thief) goto L_sThief;
-			close;
+	L_givePlat:
+		if (BaseJob==Job_SuperNovice) goto L_sSuperN;
+		if ((Class==Job_Swordman) || (Class==7) || (Class==13) || (Class==14)|| (Class==21) || (Class==4002) || (Class==4008)) goto L_sSword;
+		if ((Class==Job_Mage) || (Class==9) || (Class==16) || (Class==4003) || (Class==4010) || (Class==4017)) goto L_sMage;
+		if ((Class==Job_Archer) || (Class==11) || (Class==19) || (Class==20) || (Class==4004) || (Class==4012) || (Class==4020) || (Class==4021)) goto L_sArcher;
+		if ((Class==Job_Acolyte) || (Class==8) || (Class==15) || (Class==50) || (Class==54) || (Class==61) || (Class==4005) || (Class==4009) || (Class==4016)) goto L_sAcolyte;
+		if ((Class==Job_Merchant) || (Class==10) || (Class==18) || (Class==51) || (Class==56) || (Class==64) || (Class==4006) || (Class==4011) || (Class==4019)) goto L_sMerchant;
+		if ((Class==Job_Thief) || (Class==12) || (Class==17) || (Class==52) || (Class==58) || (Class==63) || (Class==4007) || (Class==4013) || (Class==4018)) goto L_sThief;
 		L_sSuperN:
 			skill 142,1,0;
 			close;

+ 2 - 0
npc/merchants/shops.txt

@@ -92,6 +92,8 @@ ein_in01.gat,109,27,4	shop	Two-Hand Weapon Dealer	850,1116:-1,1151:-1,1154:-1,11
 ein_in01.gat,119,26,4	shop	Weapon Dealer	855,1247:-1,1248:-1,1249:-1,13000:-1
 einbroch.gat,138,66,3	shop	Flu Mask Dealer	850,2218:-1
 einbroch.gat,82,199,3	shop	Paddler	855,512:-1,645:-1,1750:-1,501:-1
+einbroch.gat,235,106,3	shop	Ammo Dealer	847,13200:-1,13201:-1,13202:-1,13203:-1,13204:-1,13205:-1,13206:-1,13207:-1
+einbroch.gat,232,106,3	shop	Gun Dealer	847,13150:-1,13100:-1,13101:-1,13102:-1,13103:-1,13104:-1,13105:-1,13106:-1,13151:-1,13152:-1,13153:-1,13154:-1,13155:-1,13156:-1,13157:-1,13158:-1,13159:-1,13160:-1,13161:-1,13162:-1
 
 //=======================================================
 //GEFFEN

+ 28 - 1
src/map/skill.c

@@ -745,6 +745,16 @@ int skill_get_range2(struct block_list *bl, int id, int lv) {
 		else
 			range += 10; //Assume level 10?
 	}
+
+	// added to allow GS skills to be effected by the range of Snake Eyes [Reddozen]
+	if (id == GS_RAPIDSHOWER || id == GS_TRACKING || id == GS_PIERCINGSHOT || id == GS_FULLBUSTER
+		|| id == GS_SPREADATTACK || id == GS_GROUNDDRIFT) {
+		if (bl->type == BL_PC)
+			range += pc_checkskill((struct map_session_data *)bl, GS_SNAKEEYE);
+		else
+			range += 10; //Assume level 10?
+	}
+
 	return range;
 }
 
@@ -1265,6 +1275,19 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 	case NJ_HYOUSYOURAKU:
 		sc_start(bl,SC_FREEZE,(10+10*skilllv),skilllv,skill_get_time2(skillid,skilllv));
 		break;
+
+	//case GS_FLING:	// this needs to be looked at [Reddozen]
+	//	if (skill == GS_FLING) { // gunslinger [marquis007]
+	//		int spiritball = (sd->spiritball > 5 ? 5 : sd->spiritball);
+	//	} else {
+	//		int spiritball = 1;
+	//	}
+	//
+	//	if (spiritball <= sd->spiritball && sd->spiritball != 0){
+	//		pc_delspiritball(sd,spiritball,0);
+	//		status_change_start(bl,SC_FLING,10000,spiritball*5,0,0,0,skill_get_time(skillid,skilllv)));
+	//	}
+	//	break;
 	}
 
 	if (md && battle_config.summons_inherit_effects && md->master_id && md->special_state.ai)
@@ -2987,6 +3010,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_FLING:
 	
 	case NJ_SYURIKEN:
 	case NJ_KUNAI:
@@ -3043,7 +3067,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s
 			BF_WEAPON,src,src,skillid,skilllv,tick,flag,BCT_ENEMY);	// varargs
 		break;
 	//Not implemented yet [Vicious]
-	case GS_FLING:
 	case GS_GROUNDDRIFT:
 	
 	//case NJ_SYURIKEN:
@@ -7970,6 +7993,10 @@ int skill_check_condition(struct map_session_data *sd,int skill, int lv, int typ
 		break;
 
 	case GS_FLING:
+		if(sd->spiritball == 0)
+			clif_skill_fail(sd,skill,0,0);
+		break;
+	
 	case GS_TRIPLEACTION:
 	case GS_MAGICALBULLET:
 	case GS_CRACKER:

+ 4 - 0
src/map/status.c

@@ -2070,6 +2070,8 @@ int status_calc_def(struct block_list *bl, int def)
 			def -= def * (5+5*sc->data[SC_PROVOKE].val1)/100;
 		if(sc->data[SC_STRIPSHIELD].timer!=-1 && bl->type != BL_PC)
 			def -= def * 3*sc->data[SC_STRIPSHIELD].val1/100;
+		//if (sd->data[SC_FLING].timer!=-1 && bl->type != BL_PC)
+		//	def -= (def * sd->data[SC_FLING].val1) / 100;
 	}
 
 	return def;
@@ -2104,6 +2106,8 @@ int status_calc_def2(struct block_list *bl, int def2)
 			else if(sc->data[SC_JOINTBEAT].val2==4)
 				def2 -= def2 * 25/100;
 		}
+		//if (sd->data[SC_FLING].timer!=-1)
+		//	def2 -= (def2 * sd->data[SC_FLING].val1) / 100;
 	}
 
 	return def2;

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů