diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-13 03:37:29 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-13 03:37:29 +0000 |
commit | 11edd9bd6b905e1da203d49f0646cd9502536f1f (patch) | |
tree | c11b95ae11ca3286e09b8ed54321d9e5f8abe5f4 /src/map/skill.c | |
parent | e937166544b81130ba9c4336f69ad4cbd98614da (diff) | |
download | hercules-11edd9bd6b905e1da203d49f0646cd9502536f1f.tar.gz hercules-11edd9bd6b905e1da203d49f0646cd9502536f1f.tar.bz2 hercules-11edd9bd6b905e1da203d49f0646cd9502536f1f.tar.xz hercules-11edd9bd6b905e1da203d49f0646cd9502536f1f.zip |
* Made guild skills to check for skill levels first when casting
* Modified arrow checking in skill.c
* Corrected Cart Revolution damage calculation
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@549 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 59f25274f..fbff7e339 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4410,13 +4410,13 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int (su->group->unit_id != 0x92)){ //?を取り返す if(sd){ if(battle_config.skill_removetrap_type == 1){ - for(i=0;i<10;i++) { - if(skill_db[su->group->skill_id].itemid[i] > 0){ - memset(&item_tmp,0,sizeof(item_tmp)); - item_tmp.nameid = skill_db[su->group->skill_id].itemid[i]; - item_tmp.identify = 1; - if(item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,skill_db[su->group->skill_id].amount[i]))){ - clif_additem(sd,0,0,flag); + for(i=0;i<10;i++) { + if(skill_db[su->group->skill_id].itemid[i] > 0){ + memset(&item_tmp,0,sizeof(item_tmp)); + item_tmp.nameid = skill_db[su->group->skill_id].itemid[i]; + item_tmp.identify = 1; + if(item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,skill_db[su->group->skill_id].amount[i]))){ + clif_additem(sd,0,0,flag); map_addflooritem(&item_tmp,skill_db[su->group->skill_id].amount[i],sd->bl.m,sd->bl.x,sd->bl.y,NULL,NULL,NULL,0); } } @@ -7096,7 +7096,7 @@ int skill_check_condition(struct map_session_data *sd,int type) case DC_THROWARROW: case SN_SHARPSHOOTING: case CG_ARROWVULCAN: - if(sd->equip_index[10] <= 0) { + if(sd->equip_index[10] < 0) { clif_arrow_fail(sd,0); return 0; } @@ -7493,11 +7493,12 @@ int skill_use_id( struct map_session_data *sd, int target_id, struct guild *g; if (!sd->status.guild_id) return 0; - if (!(g = guild_search(sd->status.guild_id))) + if ((g = guild_search(sd->status.guild_id)) == NULL) return 0; if (strcmp(sd->status.name,g->master)) return 0; - if (skill_lv <= 0) skill_lv = 1; + skill_lv = guild_checkskill(g, skill_num); + if (skill_lv <= 0) return 0; } break; } |