diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 9 | ||||
-rw-r--r-- | src/map/map.h | 6 | ||||
-rw-r--r-- | src/map/skill.c | 41 | ||||
-rw-r--r-- | src/map/skill.h | 4 | ||||
-rw-r--r-- | src/map/status.c | 2 | ||||
-rw-r--r-- | src/map/unit.c | 4 |
6 files changed, 22 insertions, 44 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 66348ba6e..3a865a4a4 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -833,8 +833,7 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list * /*========================================== * battle_calc_weapon_attack (by Skotlex) *------------------------------------------*/ -static struct Damage battle_calc_weapon_attack( - struct block_list *src,struct block_list *target,int skill_num,int skill_lv,int wflag) +static struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list *target,int skill_num,int skill_lv,int wflag) { unsigned int skillratio = 100; //Skill dmg modifiers. short skill=0; @@ -966,7 +965,7 @@ static struct Damage battle_calc_weapon_attack( } t_class = status_get_class(target); - s_ele = s_ele_ = skill_get_pl(skill_num, skill_lv); + s_ele = s_ele_ = skill_get_ele(skill_num, skill_lv); if (!skill_num || s_ele == -1) { //Take weapon's element s_ele = sstatus->rhw.ele; s_ele_ = sstatus->lhw?sstatus->lhw->ele:0; @@ -2135,7 +2134,7 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list BL_CAST(BL_PC, target, tsd); //Initialize variables that will be used afterwards - s_ele = skill_get_pl(skill_num, skill_lv); + s_ele = skill_get_ele(skill_num, skill_lv); if (s_ele == -1) // pl=-1 : the skill takes the weapon's element s_ele = sstatus->rhw.ele; @@ -2468,7 +2467,7 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list * md.blewcount += battle_blewcount_bonus(sd, skill_num); } - s_ele = skill_get_pl(skill_num, skill_lv); + s_ele = skill_get_ele(skill_num, skill_lv); if (s_ele < 0) //Attack that takes weapon's element for misc attacks? Make it neutral [Skotlex] s_ele = ELE_NEUTRAL; diff --git a/src/map/map.h b/src/map/map.h index cc2b54b0c..c4526bcb6 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -232,8 +232,8 @@ struct block_list { struct block_list *next,*prev; int id; short m,x,y; - unsigned char type; - unsigned char subtype; + enum bl_type type; + enum bl_subtype subtype; }; struct walkpath_data { @@ -253,7 +253,7 @@ struct skill_timerskill { int map; short x,y; short skill_id,skill_lv; - int type; + int type; // a BF_ type (NOTE: some places use this as general-purpose storage...) int flag; }; diff --git a/src/map/skill.c b/src/map/skill.c index 362a7ca2e..88e45a5d8 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -692,7 +692,7 @@ int icewall_unit_pos; // Skill DB int skill_get_hit( int id ){ skill_get (skill_db[id].hit, id, 1); } int skill_get_inf( int id ){ skill_get (skill_db[id].inf, id, 1); } -int skill_get_pl( int id , int lv ){ skill_get (skill_db[id].pl[lv-1], id, lv); } +int skill_get_ele( int id , int lv ){ skill_get (skill_db[id].element[lv-1], id, lv); } int skill_get_nk( int id ){ skill_get (skill_db[id].nk, id, 1); } int skill_get_max( int id ){ skill_get (skill_db[id].max, id, 1); } int skill_get_range( int id , int lv ){ skill_get(skill_db[id].range[lv-1], id, lv); } @@ -774,7 +774,6 @@ int skill_greed(struct block_list *bl, va_list ap); int skill_cell_overlap(struct block_list *bl, va_list ap); int skill_ganbatein(struct block_list *bl, va_list ap); int skill_trap_splash(struct block_list *bl, va_list ap); -int skill_count_target(struct block_list *bl, va_list ap); struct skill_unit_group_tickset *skill_unitgrouptickset_search(struct block_list *bl,struct skill_unit_group *sg,int tick); static int skill_unit_onplace(struct skill_unit *src,struct block_list *bl,unsigned int tick); static int skill_unit_onleft(int skill_id, struct block_list *bl,unsigned int tick); @@ -1036,11 +1035,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int nullpo_retr(0, src); nullpo_retr(0, bl); - if(skillid < 0) - { // remove the debug print when this case is finished - ShowDebug("skill_additional_effect: skillid=%i\ncall: %p %p %i %i %i %i",skillid,src,bl,skillid,skilllv,attack_type,tick); - return 0; - } + if(skillid < 0) return 0; if(skillid > 0 && skilllv <= 0) return 0; // don't forget auto attacks! - celest BL_CAST(BL_PC, src, sd); @@ -1568,12 +1563,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list * nullpo_retr(0, src); nullpo_retr(0, bl); - if(skillid < 0) - { // remove the debug print when this case is finished - ShowDebug("skill_counter_additional_effect: skillid=%i\ncall: %p %p %i %i %i %i",skillid, - src, bl,skillid,skilllv,attack_type,tick); - return 0; - } + if(skillid < 0) return 0; if(skillid > 0 && skilllv <= 0) return 0; // don't forget auto attacks! - celest tsc = status_get_sc(bl); @@ -2005,7 +1995,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds struct pet_data *pd = (TBL_PET*)src; if (pd->a_skill && pd->a_skill->div_ && pd->a_skill->id == skillid) { - int element = skill_get_pl(skillid, skilllv); + int element = skill_get_ele(skillid, skilllv); if (skillid == -1) element = sstatus->rhw.ele; if (element != ELE_NEUTRAL || !(battle_config.attack_attr_none&BL_PET)) @@ -3312,8 +3302,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int } cnt--; if (cnt > 0) - skill_addtimerskill(src,tick+125,bl->id,0,0, - skillid,skilllv,cnt,flag); + skill_addtimerskill(src,tick+125,bl->id,0,0,skillid,skilllv,cnt,flag); } else if (sd) //Eat up deluge tiles. skill_count_water(src,0); @@ -3508,7 +3497,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in tsc = status_get_sc(bl); if (src!=bl && type > -1 && - (i = skill_get_pl(skillid, skilllv)) > ELE_NEUTRAL && + (i = skill_get_ele(skillid, skilllv)) > ELE_NEUTRAL && skill_get_inf(skillid) != INF_SUPPORT_SKILL && battle_attr_fix(NULL, NULL, 100, i, tstatus->def_ele, tstatus->ele_lv) <= 0) return 1; //Skills that cause an status should be blocked if the target element blocks its element. @@ -3871,11 +3860,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case ITEM_ENCHANTARMS: clif_skill_nodamage(src,bl,skillid,skilllv, sc_start2(bl,type,100,skilllv, - skill_get_pl(skillid,skilllv), skill_get_time(skillid,skilllv))); + skill_get_ele(skillid,skilllv), skill_get_time(skillid,skilllv))); break; case TK_SEVENWIND: - switch(skill_get_pl(skillid,skilllv)) { + switch(skill_get_ele(skillid,skilllv)) { case ELE_EARTH : type = SC_EARTHWEAPON; break; case ELE_WIND : type = SC_WINDWEAPON; break; case ELE_WATER : type = SC_WATERWEAPON; break; @@ -5004,7 +4993,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case NPC_CHANGETELEKINESIS: case NPC_CHANGEUNDEAD: clif_skill_nodamage(src,bl,skillid,skilllv, - sc_start2(bl, type, 100, skilllv, skill_get_pl(skillid,skilllv), + sc_start2(bl, type, 100, skilllv, skill_get_ele(skillid,skilllv), skill_get_time(skillid, skilllv))); break; @@ -9687,16 +9676,6 @@ int skill_chastle_mob_changetarget(struct block_list *bl,va_list ap) } /*========================================== - * 指定範囲内でsrcに対して有効なターゲットのblの数を数える(foreachinarea) - *------------------------------------------*/ -int skill_count_target (struct block_list *bl, va_list ap) -{ - struct block_list *src = va_arg(ap,struct block_list *); - if (battle_check_target(src,bl,BCT_ENEMY) > 0) - return 1; - return 0; -} -/*========================================== * *------------------------------------------*/ int skill_trap_splash (struct block_list *bl, va_list ap) @@ -11409,7 +11388,7 @@ int skill_readdb (void) skill_split_atoi(split[1],skill_db[i].range); skill_db[i].hit=atoi(split[2]); skill_db[i].inf=atoi(split[3]); - skill_split_atoi(split[4],skill_db[i].pl); + skill_split_atoi(split[4],skill_db[i].element); skill_db[i].nk=(int)strtol(split[5], NULL, 0); skill_split_atoi(split[6],skill_db[i].splash); skill_db[i].max=atoi(split[7]); diff --git a/src/map/skill.h b/src/map/skill.h index efb6cd086..61f4d1c88 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -63,7 +63,7 @@ struct s_skill_db { char *name; char *desc; - int range[MAX_SKILL_LEVEL],hit,inf,pl[MAX_SKILL_LEVEL],nk,splash[MAX_SKILL_LEVEL],max; + int range[MAX_SKILL_LEVEL],hit,inf,element[MAX_SKILL_LEVEL],nk,splash[MAX_SKILL_LEVEL],max; int num[MAX_SKILL_LEVEL]; int cast[MAX_SKILL_LEVEL],walkdelay[MAX_SKILL_LEVEL],delay[MAX_SKILL_LEVEL]; int upkeep_time[MAX_SKILL_LEVEL],upkeep_time2[MAX_SKILL_LEVEL]; @@ -155,7 +155,7 @@ int skill_get_casttype(int id); //[Skotlex] int skill_get_type( int id ); int skill_get_hit( int id ); int skill_get_inf( int id ); -int skill_get_pl( int id , int lv ); +int skill_get_ele( int id , int lv ); int skill_get_nk( int id ); int skill_get_max( int id ); int skill_get_range( int id , int lv ); diff --git a/src/map/status.c b/src/map/status.c index 6919a47bb..4ae211098 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1112,7 +1112,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int hide_flag = flag?OPTION_HIDE:(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK); //You cannot hide from ground skills. - if(skill_get_pl(skill_num,1) == ELE_EARTH) //TODO: Need Skill Lv here :/ + if(skill_get_ele(skill_num,1) == ELE_EARTH) //TODO: Need Skill Lv here :/ hide_flag &= ~OPTION_HIDE; switch (target->type) diff --git a/src/map/unit.c b/src/map/unit.c index 3f5d1673a..6fd7ce871 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -995,7 +995,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh if( casttime>0 || temp){ - clif_skillcasting(src, src->id, target_id, 0,0, skill_num, skill_get_pl(skill_num, skill_lv), casttime); + clif_skillcasting(src, src->id, target_id, 0,0, skill_num, skill_get_ele(skill_num, skill_lv), casttime); if (sd && target->type == BL_MOB) { @@ -1131,7 +1131,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh if( casttime>0 ) { unit_stop_walking( src, 1); - clif_skillcasting(src, src->id, 0, skill_x, skill_y, skill_num, skill_get_pl(skill_num, skill_lv), casttime); + clif_skillcasting(src, src->id, 0, skill_x, skill_y, skill_num, skill_get_ele(skill_num, skill_lv), casttime); } else ud->state.skillcastcancel=0; |