From 36ff68ba2f0581462238e1fc88b28f58dae28795 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 3 Feb 2006 18:53:26 +0000 Subject: [PATCH] - Fixed the reported map when there is an error in report_src (script.c) - Earth attacks now work on hidden enemies. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5175 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 4 ++++ src/map/script.c | 11 +++++++++-- src/map/status.c | 15 +++++++-------- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index a37a6d8f17..3d95bf5115 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 76d40d5047..984689617e 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 2d749236f8..2e2613a8d7 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: