From 26a9fb42e104800fd0e8ff4cf6a830ab3ce48ac5 Mon Sep 17 00:00:00 2001 From: Gepard Date: Fri, 18 Jun 2010 01:32:01 +0000 Subject: Added support for NPC/PC names in 'emotion' script command. (topic:249193) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14345 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ doc/script_commands.txt | 5 ++++- src/map/script.c | 17 ++++++++++++++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 38364f986..b010909fa 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,8 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2010/06/18 + * Added support for NPC/PC names in 'emotion' script command. [Gepard] 2010/06/14 * Rev. 13442 Blocked being able to use the skill CR_DEVOTION on players under the status SC_HELLPOWER. [L0ne_W0lf] - Additionally, users afflicted by the status can also no longer use Token of Siegfried to self-res. diff --git a/doc/script_commands.txt b/doc/script_commands.txt index d8d9f51e7..7b8330e2d 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -5992,7 +5992,7 @@ A full list of pet IDs can be found inside 'db/pet_db.txt' --------------------------------------- -*emotion {, target}; +*emotion {,}{,""}; This command makes an object display an emoticon sprite above their own as if they were doing that emotion. For a full list of emotion numbers, @@ -6003,6 +6003,9 @@ The optional target parameter specifies who will get the emotion on top of their head. If 0 (the default if omitted), the NPC in current use will show the emotion, if 1, the player that is running the script will display it. +Target name parameter allows to display emotion on top of other NPC/PC without +event labels. If specified name is not found, command does nothing. + --------------------------------------- *misceffect ; diff --git a/src/map/script.c b/src/map/script.c index c3ad39a8e..eef1bfcd6 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -9419,7 +9419,7 @@ BUILDIN_FUNC(gvgoff) } /*========================================== * Shows an emoticon on top of the player/npc - * emotion emotion#, + * emotion emotion#, , *------------------------------------------*/ //Optional second parameter added by [Skotlex] BUILDIN_FUNC(emotion) @@ -9435,11 +9435,22 @@ BUILDIN_FUNC(emotion) player=script_getnum(st,3); if (player) { - TBL_PC *sd = script_rid2sd(st); + TBL_PC *sd = NULL; + if( script_hasdata(st,4) ) + sd = map_nick2sd(script_getstr(st,4)); + else + sd = script_rid2sd(st); if (sd) clif_emotion(&sd->bl,type); } else - clif_emotion(map_id2bl(st->oid),type); + if( script_hasdata(st,4) ) + { + TBL_NPC *nd = npc_name2id(script_getstr(st,4)); + if(nd) + clif_emotion(&nd->bl,type); + } + else + clif_emotion(map_id2bl(st->oid),type); return 0; } -- cgit v1.2.3-70-g09d2