summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-09 09:14:11 +0000
committerVicious <Vicious@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-09 09:14:11 +0000
commit82cf6eb7d3925cc1a954b61bfbcdb0e07ac130ca (patch)
treeee5eb1d8a1ee5ea725e7dd1b9e5de97d46d5614e /src/map/skill.c
parentb2627b3fa308417022204f028e93a6eaba16a199 (diff)
downloadhercules-82cf6eb7d3925cc1a954b61bfbcdb0e07ac130ca.tar.gz
hercules-82cf6eb7d3925cc1a954b61bfbcdb0e07ac130ca.tar.bz2
hercules-82cf6eb7d3925cc1a954b61bfbcdb0e07ac130ca.tar.xz
hercules-82cf6eb7d3925cc1a954b61bfbcdb0e07ac130ca.zip
partial SC work. it doesn't break, but it doesn't work either.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5529 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index f14251c89..f06e3d860 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3095,6 +3095,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s
//Until they're at right position - gs_damage- [Vicious]
case GS_TRIPLEACTION:
+ case GS_MAGICALBULLET:
case GS_CRACKER:
case GS_TRACKING:
case GS_PIERCINGSHOT:
@@ -3134,7 +3135,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s
case GS_FLING:
//case GS_TRIPLEACTION:
//case GS_BULLSEYE:
- case GS_MAGICALBULLET:
+ //case GS_MAGICALBULLET:
//case GS_CRACKER:
//case GS_TRACKING:
case GS_DISARM:
@@ -5683,9 +5684,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
//Until they're at right position - gs_nodamage- [Vicious]
//Not implemented yet [Vicious]
case GS_GLITTERING:
- if(sd) {
+ if(sd) {
clif_skill_nodamage(src,bl,skillid,skilllv,1);
- if(rand()%100 < (50+10*skilllv) )
+ if(rand()%100 < (50+10*skilllv))
pc_addspiritball(sd,skill_get_time(skillid,skilllv),skilllv);
}
break;
@@ -8103,20 +8104,11 @@ int skill_check_condition(struct map_session_data *sd,int type)
}
break;
//SHOULD BE OPTIMALIZED [Komurka]
+ //Optimized #1. optimize comfort later. [Vicious]
case SG_SUN_WARM:
- if ((sd->bl.m == sd->feel_map[0].m) || (sd->sc.data[SC_MIRACLE].timer!=-1))
- break;
- clif_skill_fail(sd,skill,0,0);
- return 0;
- break;
case SG_MOON_WARM:
- if ((sd->bl.m == sd->feel_map[1].m) || (sd->sc.data[SC_MIRACLE].timer!=-1))
- break;
- clif_skill_fail(sd,skill,0,0);
- return 0;
- break;
case SG_STAR_WARM:
- if ((sd->bl.m == sd->feel_map[2].m) || (sd->sc.data[SC_MIRACLE].timer!=-1))
+ if ((sd->bl.m == sd->feel_map[skill-SG_SUN_WARM].m) || (sd->sc.data[SC_MIRACLE].timer!=-1))
break;
clif_skill_fail(sd,skill,0,0);
return 0;
@@ -8196,12 +8188,16 @@ int skill_check_condition(struct map_session_data *sd,int type)
}
break;
case GS_MADNESSCANCEL:
- if(sd->spiritball < 4) {
+ if(sd->spiritball < 4 || sd->sc.data[SC_ADJUSTMENT].timer!=-1) {
clif_skill_fail(sd,skill,0,0);
return 0;
}
break;
case GS_ADJUSTMENT:
+ if(sd->sc.data[SC_MADNESSCANCEL].timer == -1) {
+ clif_skill_fail(sd,skill,0,0);
+ return 0;
+ }
case GS_INCREASING:
if(sd->spiritball < 2) {
clif_skill_fail(sd,skill,0,0);