some NJ/GS fix.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5509 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Vicious 2006-03-08 05:18:46 +00:00
parent 67e039e791
commit d2a34c42cc
5 changed files with 159 additions and 45 deletions

View File

@ -2377,26 +2377,26 @@
//12141,Fifth_Stage,Fifth Stage,2,,10,,,,,,127918079,7,2,,,,,,{} //12141,Fifth_Stage,Fifth Stage,2,,10,,,,,,127918079,7,2,,,,,,{}
// Guns // Guns
13100,Branch,Branch,4,10,,500,20,,9,3,134217728,0,2,2,1,1,1,,{} 13100,Branch,Branch,4,10,,500,20,,9,3,134217728,7,2,2,1,1,1,,{}
13101,Six_Shooter,Six Shooter,4,10,,400,30,,9,1,134217728,0,2,2,1,1,1,,{ bonus bHit,-10; } 13101,Six_Shooter,Six Shooter,4,10,,400,30,,9,1,134217728,7,2,2,1,1,1,,{ bonus bHit,-10; }
13102,Six_Shooter,Six Shooter,4,10,,400,30,,9,2,134217728,0,2,2,1,1,1,,{ bonus bHit,-10; } 13102,Six_Shooter,Six Shooter,4,10,,400,30,,9,2,134217728,7,2,2,1,1,1,,{ bonus bHit,-10; }
13103,Crimson_Bolt,Crimson Bolt,4,10,,450,45,,9,1,134217728,0,2,2,2,6,1,,{ bonus bHit,-10; } 13103,Crimson_Bolt,Crimson Bolt,4,10,,450,45,,9,1,134217728,7,2,2,2,6,1,,{ bonus bHit,-10; }
13104,Crimson_Bolt_,Crimson Bolt,4,10,,450,45,,9,2,134217728,0,2,2,2,6,1,,{ bonus bHit,-10; } 13104,Crimson_Bolt_,Crimson Bolt,4,10,,450,45,,9,2,134217728,7,2,2,2,6,1,,{ bonus bHit,-10; }
13105,Garrison,Garrison,4,10,,500,70,,9,1,134217728,0,2,2,2,22,1,,{ bonus bHit,-10; } 13105,Garrison,Garrison,4,10,,500,70,,9,1,134217728,7,2,2,2,22,1,,{ bonus bHit,-10; }
13106,Garrison_,Garrison,4,10,,500,70,,9,2,134217728,0,2,2,2,22,1,,{ bonus bHit,-10; } 13106,Garrison_,Garrison,4,10,,500,70,,9,2,134217728,7,2,2,2,22,1,,{ bonus bHit,-10; }
13107,Gold_Lux,Gold Lux,4,10,,500,20,,9,0,134217728,0,2,2,3,12,1,,{ bonus bHit,-10; } 13107,Gold_Lux,Gold Lux,4,10,,500,20,,9,0,134217728,7,2,2,3,12,1,,{ bonus bHit,-10; }
13108,Cyclone,Cyclone,4,10,,700,130,,9,1,134217728,0,2,2,2,24,1,,{ bonus bHit,10; bonus bCritical,10; } 13108,Cyclone,Cyclone,4,10,,700,130,,9,1,134217728,7,2,2,2,24,1,,{ bonus bHit,10; bonus bCritical,10; }
13109,Cyclone_,Cyclone,4,10,,700,130,,9,2,134217728,0,2,2,2,24,1,,{ bonus bHit,10; bonus bCritical,10; } 13109,Cyclone_,Cyclone,4,10,,700,130,,9,2,134217728,7,2,2,2,24,1,,{ bonus bHit,10; bonus bCritical,10; }
13110,Dusk,Dusk,4,10,,750,160,,9,1,134217728,0,2,2,1,1,1,,{ bonus bHit,10; bonus bCritical,10; } 13110,Dusk,Dusk,4,10,,750,160,,9,1,134217728,7,2,2,1,1,1,,{ bonus bHit,10; bonus bCritical,10; }
13111,Rolling_Stone,Rolling Stone,4,10,,900,135,,9,1,134217728,0,2,2,1,14,1,,{ bonus bSplashRange,1; } 13111,Rolling_Stone,Rolling Stone,4,10,,900,135,,9,1,134217728,7,2,2,1,14,1,,{ bonus bSplashRange,1; }
13112,Black_Rose,Black Rose,4,10,,900,180,,9,1,134217728,0,2,2,2,35,1,,{ bonus bSplashRange,1; } 13112,Black_Rose,Black Rose,4,10,,900,180,,9,1,134217728,7,2,2,2,35,1,,{ bonus bSplashRange,1; }
13113,Gate_Keeper,Gate Keeper,4,10,,1000,195,,9,0,134217728,0,2,2,2,6,1,,{ bonus bSplashRange,1; } 13113,Gate_Keeper,Gate Keeper,4,10,,1000,195,,9,0,134217728,7,2,2,2,6,1,,{ bonus bSplashRange,1; }
13114,Drifter,Drifter,4,10,,2300,50,,9,1,134217728,0,2,2,2,55,1,,{} 13114,Drifter,Drifter,4,10,,2300,50,,9,1,134217728,7,2,2,2,55,1,,{}
13115,Butcher,Butcher,4,10,,2500,75,,9,1,134217728,0,2,2,2,68,1,,{ bonus2 bCriticalAddRace,RC_Brute,5; } 13115,Butcher,Butcher,4,10,,2500,75,,9,1,134217728,7,2,2,2,68,1,,{ bonus2 bCriticalAddRace,RC_Brute,5; }
13116,Butcher_,Butcher,4,10,,2500,75,,9,2,134217728,0,2,2,2,68,1,,{ bonus2 bCriticalAddRace,RC_Brute,5; } 13116,Butcher_,Butcher,4,10,,2500,75,,9,2,134217728,7,2,2,2,68,1,,{ bonus2 bCriticalAddRace,RC_Brute,5; }
13117,Destroyer,Destroyer,4,10,,1200,220,,9,0,134217728,0,2,2,2,52,1,,{ bonus bHit,-10; } //break armor at close range 13117,Destroyer,Destroyer,4,10,,1200,220,,9,0,134217728,7,2,2,2,52,1,,{ bonus bHit,-10; } //break armor at close range
13118,Destroyer_,Destroyer,4,10,,1200,220,,9,1,134217728,0,2,2,2,52,1,,{ bonus bHit,-10; } //break armor at close range 13118,Destroyer_,Destroyer,4,10,,1200,220,,9,1,134217728,7,2,2,2,52,1,,{ bonus bHit,-10; } //break armor at close range
13119,Inferno,Inferno,4,10,,1250,280,,9,1,134217728,0,2,2,2,65,1,,{} 13119,Inferno,Inferno,4,10,,1250,280,,9,1,134217728,7,2,2,2,65,1,,{}
// Bullets // Bullets
13200,Bullet,Bullet,10,1,,2,10,,,,134217728,7,2,32768,,1,,,{} 13200,Bullet,Bullet,10,1,,2,10,,,,134217728,7,2,32768,,1,,,{}
@ -2421,30 +2421,30 @@
13259,Kunai_of_Deadly_Poison,Kunai of Deadly Poison,10,1,,50,30,,,,268435456,7,2,32768,,1,,,{} bonus2 bAddEff,Eff_Poison,500; } 13259,Kunai_of_Deadly_Poison,Kunai of Deadly Poison,10,1,,50,30,,,,268435456,7,2,32768,,1,,,{} bonus2 bAddEff,Eff_Poison,500; }
// Ninja Stones // Ninja Stones
7521,Burning_Stone,Burning Stone,3,10,,10,,,,,,0,2,,,,,,{} 7521,Burning_Stone,Burning Stone,3,10,,10,,,,,,7,2,,,,,,{}
7522,Freezing_Stone,Freezing Stone,3,10,,10,,,,,,0,2,,,,,,{} 7522,Freezing_Stone,Freezing Stone,3,10,,10,,,,,,7,2,,,,,,{}
7523,Windchime_Stone,Windchime Stone,3,10,,10,,,,,,0,2,,,,,,{} 7523,Windchime_Stone,Windchime Stone,3,10,,10,,,,,,7,2,,,,,,{}
7524,Fang_,Fang,3,10,,10,,,,,,0,2,,,,,,{} 7524,Fang_,Fang,3,10,,10,,,,,,7,2,,,,,,{}
// Ninja Weapons // Ninja Weapons
13006,Gokurin,Gokurin,4,10,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{ bonus2 bAddEff,Eff_Curse,500; } 13006,Gokurin,Gokurin,4,10,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{ bonus2 bAddEff,Eff_Curse,500; }
13007,Jitte,Jitte,4,10,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{ bonus bBreakWeaponRate,500; } 13007,Jitte,Jitte,4,10,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{ bonus bBreakWeaponRate,500; }
13008,Jitte_,Jitte,4,10,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{ bonus bBreakWeaponRate,500; } 13008,Jitte_,Jitte,4,10,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{ bonus bBreakWeaponRate,500; }
13009,Kamaitachi,Kamaitachi,4,10,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{ bonus bCritical,1; } 13009,Kamaitachi,Kamaitachi,4,10,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{ bonus bCritical,1; }
13010,Ashura,Ashura,4,0,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{} 13010,Ashura,Ashura,4,0,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{}
13011,Ashura_,Ashura,4,0,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{} 13011,Ashura_,Ashura,4,0,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{}
13012,Murasame,Murasame,4,10,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{ bonus2 bCriticalAddRace,RC_DemiHuman,5; } 13012,Murasame,Murasame,4,10,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{ bonus2 bCriticalAddRace,RC_DemiHuman,5; }
13013,Murasame_,Murasame,4,10,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{} 13013,Murasame_,Murasame,4,10,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{}
13014,Hakujin,Hakujin,4,10,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{ bonus4 bAutoSpell,28,10,20,0; } 13014,Hakujin,Hakujin,4,10,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{ bonus4 bAutoSpell,28,10,20,0; }
13015,Hakujin_,Hakujin,4,10,,1000,140,,1,0,268435456,0,2,2,4,45,1,,{ bonus4 bAutoSpell,28,10,20,0; } 13015,Hakujin_,Hakujin,4,10,,1000,140,,1,0,268435456,7,2,2,4,45,1,,{ bonus4 bAutoSpell,28,10,20,0; }
// Ninja Kazema Shurikens // Ninja Kazema Shurikens
13300,Kazemashuriken_Beneki,Kazemashuriken Beneki,4,10,,1500,80,,1,0,268435456,0,2,2,1,3,1,,{} 13300,Kazemashuriken_Beneki,Kazemashuriken Beneki,4,10,,1500,80,,1,0,268435456,7,2,2,1,3,1,,{}
13301,Kazemashuriken_Daisharin,Kazemashuriken Daisharin,4,10,,1500,80,,1,0,268435456,0,2,2,1,3,1,,{bonus2 bAddEff,Eff_Bleeding,500; } 13301,Kazemashuriken_Daisharin,Kazemashuriken Daisharin,4,10,,1500,80,,1,0,268435456,7,2,2,1,3,1,,{bonus2 bAddEff,Eff_Bleeding,500; }
13302,Kazemashuriken_Daisharin,Kazemashuriken Daisharin,4,10,,1500,80,,1,0,268435456,0,2,2,1,3,1,,{ bonus2 bAddEff,Eff_Bleeding,500; } 13302,Kazemashuriken_Daisharin,Kazemashuriken Daisharin,4,10,,1500,80,,1,0,268435456,7,2,2,1,3,1,,{ bonus2 bAddEff,Eff_Bleeding,500; }
13303,Kazemashuriken_Rekka,Kazemashuriken Rekka,4,10,,1500,80,,1,0,268435456,0,2,2,1,3,1,,{ bonus3 bAutoSpell,19,10,100; } 13303,Kazemashuriken_Rekka,Kazemashuriken Rekka,4,10,,1500,80,,1,0,268435456,7,2,2,1,3,1,,{ bonus3 bAutoSpell,19,10,100; }
2117,Gauntlet,Gauntlet,5,10,,150,,4,,0,268435456,0,2,32,,20,1,,{} 2117,Gauntlet,Gauntlet,5,10,,150,,4,,0,268435456,7,2,32,,20,1,,{}
2118,Gauntlet_,Gauntlet,5,10,,150,,4,,1,268435456,0,2,32,,20,1,,{} 2118,Gauntlet_,Gauntlet,5,10,,150,,4,,1,268435456,7,2,32,,20,1,,{}
2119,Superior_Gauntlet,Superior Gauntlet,5,10,,150,,7,,0,268435456,0,2,32,,30,1,,{} 2119,Superior_Gauntlet,Superior Gauntlet,5,10,,150,,7,,0,268435456,7,2,32,,30,1,,{}
2120,Superior_Gauntlet_,Superior Gauntlet,5,10,,150,,7,,0,268435456,0,2,32,,30,1,,{} 2120,Superior_Gauntlet_,Superior Gauntlet,5,10,,150,,7,,0,268435456,7,2,32,,30,1,,{}

View File

@ -645,6 +645,8 @@
23,53,1,52,3,0,0,0,0,0,0,0,0 //TF_DETOXIFY#Detoxify# 23,53,1,52,3,0,0,0,0,0,0,0,0 //TF_DETOXIFY#Detoxify#
23,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby# 23,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
//Gunslinger //Gunslinger
24,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
24,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
24,500,5,0,0,0,0,0,0,0,0,0,0 //GS_GLITTERING#Flip the Coin# 24,500,5,0,0,0,0,0,0,0,0,0,0 //GS_GLITTERING#Flip the Coin#
24,501,1,0,0,0,0,0,0,0,0,0,0 //GS_FLING#Fling# 24,501,1,0,0,0,0,0,0,0,0,0,0 //GS_FLING#Fling#
24,502,1,0,0,0,0,0,0,0,0,0,0 //GS_TRIPLEACTION#Triple Action# 24,502,1,0,0,0,0,0,0,0,0,0,0 //GS_TRIPLEACTION#Triple Action#
@ -668,6 +670,8 @@
24,520,10,0,0,0,0,0,0,0,0,0,0 //GS_SPREADATTACK#Spread Attack# 24,520,10,0,0,0,0,0,0,0,0,0,0 //GS_SPREADATTACK#Spread Attack#
24,521,10,0,0,0,0,0,0,0,0,0,0 //GS_GROUNDDRIFT#Ground Drift# 24,521,10,0,0,0,0,0,0,0,0,0,0 //GS_GROUNDDRIFT#Ground Drift#
//Ninja //Ninja
25,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill#
25,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid#
25,522,10,0,0,0,0,0,0,0,0,0,0 //NJ_TOBIDOUGU#NJ_TOBIDOUGU# 25,522,10,0,0,0,0,0,0,0,0,0,0 //NJ_TOBIDOUGU#NJ_TOBIDOUGU#
25,523,10,0,0,0,0,0,0,0,0,0,0 //NJ_SYURIKEN#NJ_SYURIKEN# 25,523,10,0,0,0,0,0,0,0,0,0,0 //NJ_SYURIKEN#NJ_SYURIKEN#
25,524,5,0,0,0,0,0,0,0,0,0,0 //NJ_KUNAI#NJ_KUNAI# 25,524,5,0,0,0,0,0,0,0,0,0,0 //NJ_KUNAI#NJ_KUNAI#

View File

@ -199,6 +199,10 @@ static void itemdb_jobid2mapid(unsigned short *bclass, int jobmask)
bclass[1] |= 1<<MAPID_TAEKWON; bclass[1] |= 1<<MAPID_TAEKWON;
if (jobmask & 1<<26) //Soul Linker if (jobmask & 1<<26) //Soul Linker
bclass[2] |= 1<<MAPID_TAEKWON; bclass[2] |= 1<<MAPID_TAEKWON;
if (jobmask & 1<<27) //Gunslinger
bclass[0] |= 1<<MAPID_GUNSLINGER;
if (jobmask & 1<<28) //Ninja
bclass[0] |= 1<<MAPID_NINJA;
} }
static void create_dummy_data(void) { static void create_dummy_data(void) {

View File

@ -5626,7 +5626,7 @@ int pc_readparam(struct map_session_data *sd,int type)
val= sd->status.job_level; val= sd->status.job_level;
break; break;
case SP_CLASS: case SP_CLASS:
if(val>=24 && val < 45) if(val>=27 && val < 45)
val+=3978; val+=3978;
else else
val= sd->status.class_; val= sd->status.class_;
@ -6046,7 +6046,7 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper)
} else if (job == JOB_GUNSLINGER || job == JOB_NINJA) { } else if (job == JOB_GUNSLINGER || job == JOB_NINJA) {
if (upper > 0) if (upper > 0)
return 1; return 1;
} else if (job < JOB_SUPER_BABY-JOB_NOVICE_HIGH+JOB_SUPER_NOVICE+1) { } else if (job < JOB_SUPER_BABY-JOB_NOVICE_HIGH+JOB_SUPER_NOVICE+2) {
// Min is SuperNovice +1 -> Becomes Novice High [Skotlex] // Min is SuperNovice +1 -> Becomes Novice High [Skotlex]
// Max is SuperBaby-NoviceHigh+1 -> Becomes Super Baby // Max is SuperBaby-NoviceHigh+1 -> Becomes Super Baby
b_class += JOB_NOVICE_HIGH - JOB_SUPER_NOVICE -1; b_class += JOB_NOVICE_HIGH - JOB_SUPER_NOVICE -1;
@ -8133,6 +8133,7 @@ int pc_readdb(void)
skill_tree[atoi(split[0])][j].need[k].id=atoi(split[k*2+m]); skill_tree[atoi(split[0])][j].need[k].id=atoi(split[k*2+m]);
skill_tree[atoi(split[0])][j].need[k].lv=atoi(split[k*2+m+1]); skill_tree[atoi(split[0])][j].need[k].lv=atoi(split[k*2+m+1]);
} }
} }
fclose(fp); fclose(fp);
ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","skill_tree.txt"); ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","skill_tree.txt");

View File

@ -3078,6 +3078,59 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s
} }
break; break;
//Until they're at right position [Vicious]
case GS_GLITTERING:
case GS_FLING:
case GS_TRIPLEACTION:
case GS_BULLSEYE:
case GS_MADNESSCANCEL:
case GS_ADJUSTMENT:
case GS_INCREASING:
case GS_MAGICALBULLET:
case GS_CRACKER:
case GS_SINGLEACTION:
case GS_SNAKEEYE:
case GS_CHAINACTION:
case GS_TRACKING:
case GS_DISARM:
case GS_PIERCINGSHOT:
case GS_RAPIDSHOWER:
case GS_DESPERADO:
case GS_GATLINGFEVER:
case GS_DUST:
case GS_SPREADATTACK:
case GS_GROUNDDRIFT:
case NV_BASIC:
case NV_FIRSTAID:
case NJ_TOBIDOUGU:
case NJ_SYURIKEN:
case NJ_KUNAI:
case NJ_HUUMA:
case NJ_ZENYNAGE:
case NJ_TATAMIGAESHI:
case NJ_KASUMIKIRI:
case NJ_SHADOWJUMP:
case NJ_KIRIKAGE:
case NJ_UTSUSEMI:
case NJ_BUNSINJYUTSU:
case NJ_NINPOU:
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
break;
case NJ_KOUENKA:
case NJ_KAENSIN:
case NJ_BAKUENRYU:
case NJ_HYOUSENSOU:
case NJ_SUITON:
case NJ_HYOUSYOURAKU:
case NJ_HUUJIN:
case NJ_RAIGEKISAI:
case NJ_KAMAITACHI:
case NJ_NEN:
case NJ_ISSEN:
skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag);
break;
case 0: case 0:
if(sd) { if(sd) {
if (flag & 3){ if (flag & 3){
@ -5588,6 +5641,58 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
} }
break; break;
//Until they're at right position [Vicious]
case GS_GLITTERING:
case GS_FLING:
case GS_TRIPLEACTION:
case GS_BULLSEYE:
case GS_MADNESSCANCEL:
case GS_ADJUSTMENT:
case GS_INCREASING:
case GS_MAGICALBULLET:
case GS_CRACKER:
case GS_SINGLEACTION:
case GS_SNAKEEYE:
case GS_CHAINACTION:
case GS_TRACKING:
case GS_DISARM:
case GS_PIERCINGSHOT:
case GS_RAPIDSHOWER:
case GS_DESPERADO:
case GS_GATLINGFEVER:
case GS_DUST:
case GS_SPREADATTACK:
case GS_GROUNDDRIFT:
case NV_BASIC:
case NV_FIRSTAID:
case NJ_TOBIDOUGU:
case NJ_SYURIKEN:
case NJ_KUNAI:
case NJ_HUUMA:
case NJ_ZENYNAGE:
case NJ_TATAMIGAESHI:
case NJ_KASUMIKIRI:
case NJ_SHADOWJUMP:
case NJ_KIRIKAGE:
case NJ_UTSUSEMI:
case NJ_BUNSINJYUTSU:
case NJ_NINPOU:
case NJ_KOUENKA:
case NJ_KAENSIN:
case NJ_BAKUENRYU:
case NJ_HYOUSENSOU:
case NJ_SUITON:
case NJ_HYOUSYOURAKU:
case NJ_HUUJIN:
case NJ_RAIGEKISAI:
case NJ_KAMAITACHI:
case NJ_NEN:
case NJ_ISSEN:
clif_skill_nodamage(src,bl,skillid,skilllv,
sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv)));
break;
default: default:
ShowWarning("skill_castend_nodamage_id: Unknown skill used:%d\n",skillid); ShowWarning("skill_castend_nodamage_id: Unknown skill used:%d\n",skillid);
map_freeblock_unlock(); map_freeblock_unlock();
@ -11062,7 +11167,7 @@ int skill_readdb(void)
i = GD_SKILLRANGEMIN + i - GD_SKILLBASE; i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
if(i<=0 || i>MAX_SKILL_DB) if(i<=0 || i>MAX_SKILL_DB)
continue; continue;
skill_split_atoi(split[1],skill_db[i].range); skill_split_atoi(split[1],skill_db[i].range);
skill_db[i].hit=atoi(split[2]); skill_db[i].hit=atoi(split[2]);
skill_db[i].inf=atoi(split[3]); skill_db[i].inf=atoi(split[3]);