Script command healap (#6514)

Fixes #6492
This commit is contained in:
Atemo 2022-01-14 10:37:35 +01:00 committed by GitHub
parent 0aa5e93397
commit 8b53e58d4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 1 deletions

View File

@ -561,6 +561,8 @@ Karma - The character's karma. Karma system is not fully functional, but
Manner - The character's manner rating. Becomes negative if the player Manner - The character's manner rating. Becomes negative if the player
utters words forbidden through the use of 'manner.txt' client-side utters words forbidden through the use of 'manner.txt' client-side
file. file.
Ap - Current amount of activity points.
MaxAp - Maximum amount of activity points.
While these behave as variables, do not always expect to just set them - it is While these behave as variables, do not always expect to just set them - it is
not certain whether this will work for all of them. Whenever there is a command not certain whether this will work for all of them. Whenever there is a command
@ -2429,7 +2431,7 @@ Some example parameters:
StatusPoint, BaseLevel, SkillPoint, Class, Upper, Zeny, Sex, Weight, MaxWeight, StatusPoint, BaseLevel, SkillPoint, Class, Upper, Zeny, Sex, Weight, MaxWeight,
JobLevel, BaseExp, JobExp, NextBaseExp, NextJobExp, Hp, MaxHp, Sp, MaxSp, JobLevel, BaseExp, JobExp, NextBaseExp, NextJobExp, Hp, MaxHp, Sp, MaxSp,
BaseJob, Karma, Manner, bVit, bDex, bAgi, bStr, bInt, bLuk BaseJob, Karma, Manner, bVit, bDex, bAgi, bStr, bInt, bLuk, Ap, MaxAp
All of these also behave as variables, but don't expect to be able to just 'set' All of these also behave as variables, but don't expect to be able to just 'set'
them - some will not work for various internal reasons. them - some will not work for various internal reasons.
@ -4323,6 +4325,18 @@ character and produces no other output whatsoever.
--------------------------------------- ---------------------------------------
*healap <ap>{,<char_id>};
This command will heal a set amount of AP on the invoking character.
healap 10; // This will give 10 AP
healap -10; // This will remove 10 AP
This command just alters the activity points of the invoking
character and produces no other output whatsoever.
---------------------------------------
*itemheal <hp>,<sp>{,<char_id>}; *itemheal <hp>,<sp>{,<char_id>};
This command heals relative amounts of HP and/or SP on the invoking character. This command heals relative amounts of HP and/or SP on the invoking character.

View File

@ -5956,6 +5956,20 @@ BUILDIN_FUNC(heal)
return SCRIPT_CMD_SUCCESS; return SCRIPT_CMD_SUCCESS;
} }
/*==========================================
* Force Heal a player (ap)
*------------------------------------------*/
BUILDIN_FUNC(healap)
{
map_session_data* sd;
if (!script_charid2sd(3, sd))
return SCRIPT_CMD_FAILURE;
status_heal(&sd->bl, 0, 0, script_getnum(st, 2), 1);
return SCRIPT_CMD_SUCCESS;
}
/*========================================== /*==========================================
* Heal a player by item (get vit bonus etc) * Heal a player by item (get vit bonus etc)
*------------------------------------------*/ *------------------------------------------*/
@ -25771,6 +25785,7 @@ struct script_function buildin_func[] = {
BUILDIN_DEF(cutin,"si"), BUILDIN_DEF(cutin,"si"),
BUILDIN_DEF(viewpoint,"iiiii?"), BUILDIN_DEF(viewpoint,"iiiii?"),
BUILDIN_DEF(heal,"ii?"), BUILDIN_DEF(heal,"ii?"),
BUILDIN_DEF(healap,"i?"),
BUILDIN_DEF(itemheal,"ii?"), BUILDIN_DEF(itemheal,"ii?"),
BUILDIN_DEF(percentheal,"ii?"), BUILDIN_DEF(percentheal,"ii?"),
BUILDIN_DEF(rand,"i?"), BUILDIN_DEF(rand,"i?"),