summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-13 03:37:29 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-13 03:37:29 +0000
commit11edd9bd6b905e1da203d49f0646cd9502536f1f (patch)
treec11b95ae11ca3286e09b8ed54321d9e5f8abe5f4 /src
parente937166544b81130ba9c4336f69ad4cbd98614da (diff)
downloadhercules-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')
-rw-r--r--src/map/battle.c4
-rw-r--r--src/map/skill.c21
2 files changed, 13 insertions, 12 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 7ff7e5348..d039ce032 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3226,8 +3226,8 @@ static struct Damage battle_calc_pc_weapon_attack(
break;
case MC_CARTREVOLUTION: // カートレボリューション
if(sd->cart_max_weight > 0 && sd->cart_weight > 0) {
- damage = ( damage*(150 + sd->cart_weight/80) )/100; //fixed CARTREV damage [Lupus]
- damage2 = ( damage2*(150 + sd->cart_weight/80) )/100;
+ damage = ( damage*(150 + sd->cart_weight/800) )/100; //fixed CARTREV damage [Lupus] // should be 800, not 80... weight is *10 ^_- [celest]
+ damage2 = ( damage2*(150 + sd->cart_weight/800) )/100;
//damage = (damage*(150 + pc_checkskill(sd,BS_WEAPONRESEARCH) + (sd->cart_weight*100/sd->cart_max_weight) ) )/100;
//damage2 = (damage2*(150 + pc_checkskill(sd,BS_WEAPONRESEARCH) + (sd->cart_weight*100/sd->cart_max_weight) ) )/100;
}
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;
}