From c6b4414211979c7607110293f1d0f34b7c1ade5e Mon Sep 17 00:00:00 2001 From: skotlex Date: Wed, 3 May 2006 00:33:37 +0000 Subject: - Implemented desperado as explained by Rockman-EXE. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6454 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ db/skill_cast_db.txt | 2 +- db/skill_db.txt | 2 +- db/skill_unit_db.txt | 2 +- src/map/skill.c | 11 +++++++---- src/map/skill.h | 6 +++--- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 2eefd8e49..eaac28d00 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/05/02 + * Implemented desperado as explained by Rockman-EXE. The skill-effect is + not showing up though, I'll need some logged packets to see what's missing. + [Skotlex] * Removed the unit_can_move checks in skill cast-end, they should be performed in skill_check_require when the skill's state is move_enabled. [Skotlex] diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt index d81d50c9f..535d06db7 100644 --- a/db/skill_cast_db.txt +++ b/db/skill_cast_db.txt @@ -839,7 +839,7 @@ //-- GS_RAPIDSHOWER 515,0,1000,0,0,0 //-- GS_DESPERADO -516,0,1000,0,0,0 +516,0,1000,1000,1000,0 //-- GS_GATLINGFEVER 517,0,1000,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:160000,0 //-- GS_DUST diff --git a/db/skill_db.txt b/db/skill_db.txt index a17adea55..44f9c6900 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -536,7 +536,7 @@ 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# +516,-5,8,4,0,2,2,10,1,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# diff --git a/db/skill_unit_db.txt b/db/skill_unit_db.txt index 9614505cb..0f2bdb651 100644 --- a/db/skill_unit_db.txt +++ b/db/skill_unit_db.txt @@ -86,7 +86,7 @@ 430,0x86, , 0, 1, 500,enemy, 0x000 //SG_STAR_WARM 484,0xb8, , 2, 0,1000,enemy, 0x808 //HW_GRAVITATION 488,0xb9, , 3, 0, -1,all, 0x100 //CG_HERMODE -516,0xbc, , 0, 3,1000,enemy,0x000,GS_DESPERADO#デスペラード +516,0xba, , 0, 3, 100,enemy,0x000,GS_DESPERADO#デスペラード 521,0xbd, , 0, 1,1000,enemy,0x006,GS_GROUNDDRIFT#グラウンドドリフト 535,0x86, , 0, 2,2000,enemy,0x008,NJ_KAENSIN#火炎陣# 536,0x86, , 0, 2, 300,enemy,0x008,NJ_BAKUENRYU#爆炎龍# diff --git a/src/map/skill.c b/src/map/skill.c index 162f47fd7..751f576d8 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1932,7 +1932,6 @@ int skill_attack( int attack_type, struct block_list* src, struct block_list *ds case SM_MAGNUM: case AS_SPLASHER: case ASC_METEORASSAULT: - case GS_DESPERADO: case GS_SPREADATTACK: dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, skillid, -1, 5); break; @@ -3205,8 +3204,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case CR_GRANDCROSS: case NPC_GRANDDARKNESS: //Until they're at right position - gs_ground- [Vicious] + case GS_DESPERADO: case NJ_KAENSIN: /*火炎陣*/ - case GS_DESPERADO: /*デスペラード*/ case NJ_HYOUSYOURAKU: case NJ_RAIGEKISAI: return skill_castend_pos2(src,src->x,src->y,skillid,skilllv,tick,0); @@ -3968,7 +3967,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in break; case ASC_METEORASSAULT: /* ?テオアサルト */ - case GS_DESPERADO: case GS_SPREADATTACK: clif_skill_nodamage(src,bl,skillid,skilllv,1); map_foreachinrange(skill_area_sub, src, @@ -5976,6 +5974,7 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil case WE_CALLPARENT: case WE_CALLBABY: case AC_SHOWER: //Ground-placed skill implementation. + case GS_DESPERADO: skill_unitsetting(src,skillid,skilllv,x,y,0); break; @@ -6154,7 +6153,6 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil break; //Until they're at right position - gs_unit- [Vicious] - case GS_DESPERADO: /* デスペラード*/ case GS_GROUNDDRIFT: /* グラウンドドリフト*/ case NJ_KAENSIN: /* 火炎陣*/ case NJ_BAKUENRYU: /* 爆炎龍*/ @@ -6871,6 +6869,11 @@ int skill_unit_onplace_timer(struct skill_unit *src,struct block_list *bl,unsign skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); } break; + case UNT_DESPERADO: + if (!(rand()%10)) //Has a low chance of connecting. [Skotlex] + skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); + break; + case UNT_FIREPILLAR_WAITING: skill_unitsetting(ss,sg->skill_id,sg->skill_lv,src->bl.x,src->bl.y,1); skill_delunit(src); diff --git a/src/map/skill.h b/src/map/skill.h index e57aba0be..0c1777699 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -931,10 +931,10 @@ enum { UNT_SPIDERWEB, UNT_GRAVITATION, UNT_HERMODE, - - UNT_KAENSIN, + UNT_DESPERADO, UNT_SUITON, - + UNT_TATAMIGAESHI, + UNT_KAENSIN, }; #endif -- cgit v1.2.3-70-g09d2