summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-14 16:30:14 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-14 16:30:14 +0000
commit12bf6f1349e0e001aaf179322f73ec158b5b4044 (patch)
treeac6d5e3105a28aa90d7c75d2dc3829d45ea64ff8 /src/map/skill.c
parentb07e923a07cbb964a93b8f0032a81c75e5058089 (diff)
downloadhercules-12bf6f1349e0e001aaf179322f73ec158b5b4044.tar.gz
hercules-12bf6f1349e0e001aaf179322f73ec158b5b4044.tar.bz2
hercules-12bf6f1349e0e001aaf179322f73ec158b5b4044.tar.xz
hercules-12bf6f1349e0e001aaf179322f73ec158b5b4044.zip
- Increased Run's walk speed bonus to 25->50%
- Modified emergency_call setting to allow for more specific configuration (woe/non-woe, gvg-grounds/non-gvg-grounds, disable from nowarpto maps), see skill.conf for details. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8275 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 8367663ba..cd9e3af8d 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -925,9 +925,11 @@ int skillnotok (int skillid, struct map_session_data *sd)
}
break;
case GD_EMERGENCYCALL:
- if (!battle_config.emergency_call ||
- (map[sd->bl.m].flag.nowarpto && battle_config.emergency_call&1))
- {
+ if (
+ !(battle_config.emergency_call&(agit_flag?2:1)) ||
+ !(battle_config.emergency_call&(map_flag_gvg(sd->bl.m)?8:4)) ||
+ (battle_config.emergency_call&16 && map[sd->bl.m].flag.nowarpto)
+ ) {
clif_skill_fail(sd,skillid,0,0);
return 1;
}
@@ -6898,7 +6900,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, unsigned
case UNT_HERMODE:
//Needed to check when a dancer/bard leaves their ensemble area.
if (sg->src_id==bl->id &&
- !(sc && sc->data[SC_SPIRIT].timer == -1 && sc->data[SC_SPIRIT].val2 != SL_BARDDANCER))
+ !(sc && sc->data[SC_SPIRIT].timer != -1 && sc->data[SC_SPIRIT].val2 == SL_BARDDANCER))
return skillid;
if (sc && sc->data[type].timer==-1)
sc_start4(bl,type,100,sg->skill_lv,sg->val1,sg->val2,0,sg->limit);
@@ -8286,22 +8288,16 @@ int skill_check_condition (struct map_session_data *sd, int skill, int lv, int t
case GD_BATTLEORDER:
case GD_REGENERATION:
case GD_RESTORE:
+ //Emergency Recall is handled on skill_notok
+ if (skill != GD_EMERGENCYCALL && !agit_flag) {
+ clif_skill_fail(sd,skill,0,0);
+ return 0;
+ }
case GD_EMERGENCYCALL:
if (!sd->status.guild_id || !sd->state.gmaster_flag)
return 0;
if (lv <= 0)
return 0;
-
- if (skill == GD_EMERGENCYCALL) {
- if (!map_flag_gvg(sd->bl.m))
- { //if not allowed to warp to the map (castles are always allowed)
- clif_skill_fail(sd,skill,0,0);
- return 0;
- }
- } else if (!agit_flag) {
- clif_skill_fail(sd,skill,0,0);
- return 0;
- }
break;
case GS_GLITTERING: