summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-02-13 16:54:24 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-02-13 16:54:24 +0000
commit7751fc21990d18f215dff82669a470b7c3660b11 (patch)
treefa1816a802c506ef88ca73f0492340423da64df1 /src/map/skill.c
parent996f20c134b0aa6de62b06b286b626b950527479 (diff)
downloadhercules-7751fc21990d18f215dff82669a470b7c3660b11.tar.gz
hercules-7751fc21990d18f215dff82669a470b7c3660b11.tar.bz2
hercules-7751fc21990d18f215dff82669a470b7c3660b11.tar.xz
hercules-7751fc21990d18f215dff82669a470b7c3660b11.zip
- Modified PA_GOSPEL so that the random damage attack becomes a BF_MISC attack.
- Added pc_resetskill when lowering job level and there's not enough skpoints to substract. - Fixed compile error of SG_FUSION in pc.c - Modified pc_resetskill to receive a flag to indicate if it should or not do status_calc_pc and send skill block updates. Meant to optimize performance when used in the middle of a larger update. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5269 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 001be8625..cd44beabb 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1756,6 +1756,10 @@ int skill_attack( int attack_type, struct block_list* src, struct block_list *ds
case SG_STAR_WARM:
clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, skillid, -1, 5);
break;
+ case PA_GOSPEL: //Should look like Holy Cross [Skotlex]
+ clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, CR_HOLYCROSS, -1, 5);
+ break;
+
case ASC_BREAKER: // [celest]
if (attack_type&BF_WEAPON) { // the 1st attack won't really deal any damage
tmpdmg = damage; // store the temporary weapon damage
@@ -7152,12 +7156,8 @@ int skill_unit_onplace_timer(struct skill_unit *src,struct block_list *bl,unsign
switch (i)
{
case 0: // Deal 1~9999 damage
- {
- int dmg = rand() % 9999 +1;
- clif_skill_damage(bl, bl, sg->tick,0,0,dmg,0,CR_HOLYCROSS,1,-1);
- battle_damage(ss, bl, dmg,0);
+ skill_attack(BF_MISC,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break;
- }
case 1: // Curse
status_change_start(bl,SC_CURSE,100,1,0,0,0,skill_get_time2(sg->skill_id, sg->skill_lv),0);
break;
@@ -7861,7 +7861,6 @@ int skill_check_condition(struct map_session_data *sd,int type)
case PA_GOSPEL:
case CR_SHRINK:
case TK_RUN:
- case SG_FUSION:
if(sd->sc.data[SkillStatusChangeTable[skill]].timer!=-1)
return 1; /* ‰š?œ‚·‚é?ź?‡‚ĶSP?Į”ļ‚µ‚Č‚¢ */
break;
@@ -8195,7 +8194,9 @@ int skill_check_condition(struct map_session_data *sd,int type)
clif_skill_fail(sd,skill,0,0);
return 0;
case SG_FUSION:
- if ((sd->sc.data[SC_SPIRIT].timer != -1 && sd->sc.data[SC_SPIRIT].val2 == SL_STAR) || sd->sc.data[SC_FUSION].timer != -1)
+ if (sd->sc.data[SC_FUSION].timer!=-1)
+ return 1;
+ if (sd->sc.data[SC_SPIRIT].timer != -1 && sd->sc.data[SC_SPIRIT].val2 == SL_STAR)
break;
return 0;
}