From b89c65cfed23a8a13fa7b1897d6b92e7427567bb Mon Sep 17 00:00:00 2001 From: skotlex Date: Wed, 6 Dec 2006 15:52:01 +0000 Subject: - Fixed the compile error when trying to build the ladmin exe. - When GM skill unconditional is set, the arrow state of the skill will be calculated, this fixes all skills getting stuck on arrow-type after you attack normally. - Alchemist famous potions get their 50% bonus on top of the natural bonuses as a 1.5x type of bonus instead of adding linearly on top of your vit bonus (which would mean equal bonus of raising your vit by 25). - Fixed the va_arg(va, char) warning that said the program would abort when it's reached o.O; made it read a int which is then casted to char. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9420 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 2 +- src/map/pc.c | 8 +++++--- src/map/skill.c | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'src/map') diff --git a/src/map/clif.c b/src/map/clif.c index d780a2b3f..07c270f7c 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -290,7 +290,7 @@ int clif_send_sub(struct block_list *bl, va_list ap) len = va_arg(ap,int); nullpo_retr(0, src_bl = va_arg(ap,struct block_list*)); type = va_arg(ap,int); - flush = va_arg(ap,char); + flush = (char)va_arg(ap,int); switch(type) { case AREA_WOS: diff --git a/src/map/pc.c b/src/map/pc.c index 196687c24..c5128bd79 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -5407,10 +5407,11 @@ int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp) if(hp) { bonus = 100 + (sd->battle_status.vit<<1) - + pc_checkskill(sd,SM_RECOVERY)*10 + + pc_checkskill(sd,SM_RECOVERY)*10 + pc_checkskill(sd,AM_LEARNINGPOTION)*5; // A potion produced by an Alchemist in the Fame Top 10 gets +50% effect [DracoRPG] - bonus += (potion_flag==2)?50:(potion_flag==3?100:0); + if (potion_flag > 1) + bonus += bonus*(potion_flag-1)*50/100; //Item Group bonuses bonus += bonus*itemdb_group_bonus(sd, itemid)/100; //Individual item bonuses. @@ -5428,7 +5429,8 @@ int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp) bonus = 100 + (sd->battle_status.int_<<1) + pc_checkskill(sd,MG_SRECOVERY)*10 + pc_checkskill(sd,AM_LEARNINGPOTION)*5; - bonus += (potion_flag==2)?50:(potion_flag==3?100:0); + if (potion_flag > 1) + bonus += bonus*(potion_flag-1)*50/100; if(bonus != 100) sp = sp * bonus / 100; } diff --git a/src/map/skill.c b/src/map/skill.c index f987e69d0..378e46796 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7883,6 +7883,8 @@ int skill_check_condition (struct map_session_data *sd, int skill, int lv, int t sd->skillitem != skill) { //GMs don't override the skillItem check, otherwise they can use items without them being consumed! [Skotlex] sd->skillitem = sd->skillitemlv = 0; + //Need to do arrow state check. + sd->state.arrow_atk = skill_get_ammotype(skill)?1:0; return 1; } -- cgit v1.2.3-70-g09d2