summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorEuphy <euphy@rathena.org>2013-06-20 22:29:03 -0400
committerEuphy <euphy@rathena.org>2013-06-20 22:29:03 -0400
commit86c43fa2e2c164362cae4f3c2d9cf0ccd22bc528 (patch)
treedf955a23899586104e67359dc490891221b2875b /src/map/skill.c
parentcaa8a41b40a5ce3c96eb793619ff75f191ca558b (diff)
parent0f7c29113d7d898150108d66d1358f15bb018e0a (diff)
downloadhercules-86c43fa2e2c164362cae4f3c2d9cf0ccd22bc528.tar.gz
hercules-86c43fa2e2c164362cae4f3c2d9cf0ccd22bc528.tar.bz2
hercules-86c43fa2e2c164362cae4f3c2d9cf0ccd22bc528.tar.xz
hercules-86c43fa2e2c164362cae4f3c2d9cf0ccd22bc528.zip
Merge remote-tracking branch 'upstream/master'
Conflicts: conf/plugins.conf db/pre-re/skill_tree.txt db/re/skill_tree.txt db/sc_config.txt npc/mobs/citycleaners.txt src/map/atcommand.c src/map/battle.c src/map/clif.c src/map/map.c src/map/packets.h src/map/pc.c src/map/script.c src/map/skill.c src/map/status.c src/map/storage.c src/map/trade.h Merged master.
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 5a10038d8..1753f435a 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2395,6 +2395,10 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
//Can't attack nor use items until skill's delay expires. [Skotlex]
sd->ud.attackabletime = sd->canuseitem_tick = sd->ud.canact_tick;
break;
+ case TK_DODGE:
+ if( pc->checkskill(sd, TK_JUMPKICK) > 0 )
+ flag = 1;
+ break;
case SR_DRAGONCOMBO:
if( pc->checkskill(sd, SR_FALLENEMPIRE) > 0 )
flag = 1;
@@ -3761,7 +3765,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
int sflag = skill_area_temp[0] & 0xFFF, heal;
if( flag&SD_LEVEL )
sflag |= SD_LEVEL; // -1 will be used in packets instead of the skill level
- if( skill_area_temp[1] != bl->id && !(skill->get_inf2(skill_id)&INF2_NPC_SKILL) )
+ if( (skill_area_temp[1] != bl->id && !(skill->get_inf2(skill_id)&INF2_NPC_SKILL)) || flag&SD_ANIMATION )
sflag |= SD_ANIMATION; // original target gets no animation (as well as all NPC skills)
heal = skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, sflag);
@@ -3776,6 +3780,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case GN_CARTCANNON:
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
+ case SR_TIGERCANNON:
+ flag |= SD_ANIMATION;
case LG_MOONSLASHER:
clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
break;
@@ -7965,12 +7971,20 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
for(i = 0; i < SC_MAX; i++)
{
+<<<<<<< HEAD
if( SC_COMMON_MAX > i ){
if ( !tsc->data[i] || !status_get_sc_type(i) )
continue;
if ( status_get_sc_type(i)&SC_NO_CLEARANCE )
continue;
}
+=======
+ if ( !tsc->data[i] )
+ continue;
+ if( SC_COMMON_MAX > i )
+ if ( status_get_sc_type(i)&SC_NO_CLEARANCE )
+ continue;
+>>>>>>> upstream/master
switch (i) {
case SC_ASSUMPTIO:
if( bl->type == BL_MOB )
@@ -8551,7 +8565,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SR_FLASHCOMBO:
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
for(i = SR_FLASHCOMBO_ATK_STEP1; i <= SR_FLASHCOMBO_ATK_STEP4; i++)
+<<<<<<< HEAD
skill->addtimerskill(src, tick + 600 * (i - SR_FLASHCOMBO_ATK_STEP1), bl->id, 0, 0, i, skill_lv, BF_WEAPON, flag|SD_LEVEL);
+=======
+ skill->addtimerskill(src, tick + 500 * (i - SR_FLASHCOMBO_ATK_STEP1), bl->id, 0, 0, i, skill_lv, BF_WEAPON, flag|SD_LEVEL);
+>>>>>>> upstream/master
break;
case WA_SWING_DANCE:
case WA_MOONLIT_SERENADE:
@@ -13101,12 +13119,14 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case TK_STORMKICK:
case TK_DOWNKICK:
case TK_COUNTER:
+ case TK_JUMPKICK:
case HT_POWER:
case GC_COUNTERSLASH:
case GC_WEAPONCRUSH:
case SR_FALLENEMPIRE:
case SR_DRAGONCOMBO:
case SR_TIGERCANNON:
+ case SR_GATEOFHELL:
break;
default: return 0;
}
@@ -17848,7 +17868,7 @@ void skill_reload (void) {
*
*------------------------------------------*/
int do_init_skill (void) {
- skilldb_name2id = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA, 0);
+ skilldb_name2id = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA, MAX_SKILL_NAME_LENGTH);
skill->read_db();
group_db = idb_alloc(DB_OPT_BASE);