summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt4
-rw-r--r--src/map/script.c11
-rw-r--r--src/map/status.c15
3 files changed, 20 insertions, 10 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index a37a6d8f1..3d95bf511 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -5,6 +5,10 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
2006/02/03
+ * Fixed the debug script messages specifying the wrong mapname for NPCs.
+ [Skotlex]
+ * Now you can't hide from earth elemental attacks (status_check_skilluse).
+ [Skotlex]
* Grand Cross/Grand Darkness can no longer get the ignore defense -armor
piercing bonuses from cards. [Skotlex]
* Loki's weil is now ignored by bosses. [Skotlex]
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: