From 521590c9bf7714d5b7fef748dc8cb55efe6809d8 Mon Sep 17 00:00:00 2001 From: Vicious Date: Wed, 8 Mar 2006 05:18:46 +0000 Subject: some NJ/GS fix. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5509 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/itemdb.c | 4 +++ src/map/pc.c | 5 +-- src/map/skill.c | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 113 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/map/itemdb.c b/src/map/itemdb.c index 6b0900541..aa4f3a622 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -199,6 +199,10 @@ static void itemdb_jobid2mapid(unsigned short *bclass, int jobmask) bclass[1] |= 1<status.job_level; break; case SP_CLASS: - if(val>=24 && val < 45) + if(val>=27 && val < 45) val+=3978; else 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) { if (upper > 0) 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] // Max is SuperBaby-NoviceHigh+1 -> Becomes Super Baby 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].lv=atoi(split[k*2+m+1]); } + } fclose(fp); ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","skill_tree.txt"); diff --git a/src/map/skill.c b/src/map/skill.c index 38a880df8..8caa4031b 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3078,6 +3078,59 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s } 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: if(sd) { if (flag & 3){ @@ -5588,6 +5641,58 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in } 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: ShowWarning("skill_castend_nodamage_id: Unknown skill used:%d\n",skillid); map_freeblock_unlock(); @@ -11062,7 +11167,7 @@ int skill_readdb(void) i = GD_SKILLRANGEMIN + i - GD_SKILLBASE; if(i<=0 || i>MAX_SKILL_DB) continue; - + skill_split_atoi(split[1],skill_db[i].range); skill_db[i].hit=atoi(split[2]); skill_db[i].inf=atoi(split[3]); -- cgit v1.2.3-70-g09d2