From b2ded23fcbf914b8ca26b270b197aad0598971b9 Mon Sep 17 00:00:00 2001 From: EyesOfAHawk <blackoutro2006@gmail.com> Date: Tue, 16 Oct 2018 19:58:06 +1300 Subject: Adds buildin_resetfeel, buildin_resethate and acmd_hatereset. --- conf/map/help.txt | 2 ++ conf/messages.conf | 5 ++++- doc/atcommands.txt | 6 ++++++ doc/script_commands.txt | 10 ++++++++++ src/map/atcommand.c | 10 ++++++++++ src/map/script.c | 34 ++++++++++++++++++++++++++++++++++ 6 files changed, 66 insertions(+), 1 deletion(-) diff --git a/conf/map/help.txt b/conf/map/help.txt index 846c16276..17dd829fd 100644 --- a/conf/map/help.txt +++ b/conf/map/help.txt @@ -305,3 +305,5 @@ autoloottype: "Manage a list of autolooting item types.\n" " To remove an item type, use \"@autoloottype -<type name>\".\n" " Type List: healing, usable, etc, weapon, armor, card, petegg, petarmor, ammo.\n" " \"@autoloottype reset\" will clear your autoloottype list." +feelreset: "Reset 'Feeling' maps." +hatereset: "Reset 'Hatred' targets." diff --git a/conf/messages.conf b/conf/messages.conf index 42214167a..b91b03921 100644 --- a/conf/messages.conf +++ b/conf/messages.conf @@ -763,7 +763,10 @@ 926: Zone not found. Keep in mind that the names are CaSe SenSitiVe. 927: Zone successfully changed from '%s' to '%s'. -//928-979 FREE +//928-978 FREE + +// @hatereset +979: Reset 'Hatred' targets. // @kami 980: Please enter a message (usage: @kami <message>). diff --git a/doc/atcommands.txt b/doc/atcommands.txt index 0b4dce579..419cb0acd 100644 --- a/doc/atcommands.txt +++ b/doc/atcommands.txt @@ -892,6 +892,12 @@ Resets a Star Gladiator's marked maps. --------------------------------------- +@hatereset + +Resets a Star Gladiator's hatred targets. + +--------------------------------------- + @jobchange <job name/ID> Changes your job. diff --git a/doc/script_commands.txt b/doc/script_commands.txt index b55afb0f2..36702b6f1 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -6081,6 +6081,16 @@ Used in reset NPC's (duh!). --------------------------------------- +*resetfeel({<account id>}) +*resethate({<account id>}) + +The first resets a character's 'Feeling' maps. +The second resets a character's 'Hatred' targets. + +If no RID is given, will run with the current attached player. + +--------------------------------------- + *sc_start(<effect type>, <ticks>, <value 1>{, <rate>, <flag>{, <GID>}}) *sc_start2(<effect type>, <ticks>, <value 1>, <value 2>{, <rate>, <flag>{, <GID>}}) *sc_start4(<effect type>, <ticks>, <value 1>, <value 2>, <value 3>, <value 4>{, <rate>, <flag>{, <GID>}}) diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 3684c1d9f..b82224206 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -8300,6 +8300,15 @@ ACMD(feelreset) return true; } +// Reset hatred targets [Wolfie] +ACMD(hatereset) +{ + pc->resethate(sd); + clif->message(fd, msg_fd(fd, 979)); // Reset 'Hatred' targets. + + return true; +} + /*========================================== * AUCTION SYSTEM *------------------------------------------*/ @@ -10201,6 +10210,7 @@ static void atcommand_basecommands(void) ACMD_DEF(homshuffle), ACMD_DEF(showmobs), ACMD_DEF(feelreset), + ACMD_DEF(hatereset), ACMD_DEF(auction), ACMD_DEF(mail), ACMD_DEF2("noks", ksprotection), diff --git a/src/map/script.c b/src/map/script.c index 396d084a3..ffccd3b59 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -25968,6 +25968,38 @@ static BUILDIN(openlapineddukddakboxui) return true; } +// Reset 'Feeling' maps. +BUILDIN(resetfeel) +{ + struct map_session_data *sd; + + if (script_hasdata(st, 2)) + sd = script->id2sd(st, script_getnum(st, 2)); + else + sd = script->rid2sd(st); + + if (sd != NULL) + pc->resetfeel(sd); + + return true; +} + +// Reset hatred target marks. +BUILDIN(resethate) +{ + struct map_session_data *sd; + + if (script_hasdata(st, 2)) + sd = script->id2sd(st, script_getnum(st, 2)); + else + sd = script->rid2sd(st); + + if (sd != NULL) + pc->resethate(sd); + + return true; +} + /** * Adds a built-in script function. * @@ -26349,6 +26381,8 @@ static void script_parse_builtin(void) BUILDIN_DEF(resetlvl,"i"), BUILDIN_DEF(resetstatus,""), BUILDIN_DEF(resetskill,""), + BUILDIN_DEF(resetfeel, "?"), + BUILDIN_DEF(resethate, "?"), BUILDIN_DEF(skillpointcount,""), BUILDIN_DEF(changebase,"i?"), BUILDIN_DEF(changesex,""), -- cgit v1.2.3-70-g09d2