summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/script.c11
-rw-r--r--src/map/status.c15
2 files changed, 16 insertions, 10 deletions
diff --git a/src/map/script.c b/src/map/script.c
index 76d40d504..984689617 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -723,10 +723,17 @@ static void report_src(struct script_state *st) {
if (!bl) return;
switch (bl->type) {
case BL_NPC:
- ShowDebug("Source (NPC): %s at %s (%d,%d)\n", ((struct npc_data *)bl)->name, mapindex_id2name(bl->m), bl->x, bl->y);
+ if (bl->m >=0)
+ ShowDebug("Source (NPC): %s at %s (%d,%d)\n", ((struct npc_data *)bl)->name, map[bl->m].name, bl->x, bl->y);
+ else
+ ShowDebug("Source (NPC): %s (invisible/not on a map)\n", ((struct npc_data *)bl)->name);
+
break;
default:
- ShowDebug("Source (Non-NPC): %s (%d,%d)\n", mapindex_id2name(bl->m), bl->x, bl->y);
+ if (bl->m >=0)
+ ShowDebug("Source (Non-NPC): type %d at %s (%d,%d)\n", bl->type, map[bl->m].name, bl->x, bl->y);
+ else
+ ShowDebug("Source (Non-NPC): type %d (invisible/not on a map)\n", bl->type);
break;
}
}
diff --git a/src/map/status.c b/src/map/status.c
index 2d749236f..2e2613a8d 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -726,15 +726,14 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
return 0;
}
- if (src) {
- race = status_get_race(src);
- } else { //Ground skill, only earth-elemental skills have detecting-hitting capabilities.
- race = 0;
- if(skill_get_pl(skill_num) == 2)
- mode|= MD_DETECTOR;
- }
- hide_flag = flag?OPTION_HIDE:(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK); //If targetting, cloak+hide protect you, otherwise only hiding does.
+ race = src?status_get_race(src):0;
+ //If targetting, cloak+hide protect you, otherwise only hiding does.
+ hide_flag = flag?OPTION_HIDE:(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK);
+ //You cannot hide from ground skills.
+ if(skill_get_pl(skill_num) == 2)
+ hide_flag &= ~OPTION_HIDE;
+
switch (target->type)
{
case BL_PC: