Skip to content

Commit

Permalink
Add heal method for PlayerAPI & EntityAPI
Browse files Browse the repository at this point in the history
  • Loading branch information
Danil Shishkevich authored and RimuruChan committed Sep 13, 2022
1 parent 1dbbc55 commit d6556b4
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 0 deletions.
15 changes: 15 additions & 0 deletions ScriptEngine/API/EntityAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ ClassDefine<EntityClass> EntityClassBuilder =
.instanceFunction("teleport", &EntityClass::teleport)
.instanceFunction("kill", &EntityClass::kill)
.instanceFunction("hurt", &EntityClass::hurt)
.instanceFunction("heal", &EntityClass::heal)
.instanceFunction("setOnFire", &EntityClass::setOnFire)
.instanceFunction("isPlayer", &EntityClass::isPlayer)
.instanceFunction("toPlayer", &EntityClass::toPlayer)
Expand Down Expand Up @@ -832,6 +833,20 @@ Local<Value> EntityClass::hurt(const Arguments& args) {
CATCH("Fail in hurt!");
}

Local<Value> EntityClass::heal(const Arguments& args) {
CHECK_ARGS_COUNT(args, 1);
CHECK_ARG_TYPE(args[0], ValueKind::kNumber);
try {
Actor* entity = get();
if (!entity)
return Local<Value>();

entity->heal(args[0].toInt());
return Boolean::newBoolean(true);
}
CATCH("Fail in heal!");
}

Local<Value> EntityClass::setOnFire(const Arguments& args) {
CHECK_ARGS_COUNT(args, 1);
CHECK_ARG_TYPE(args[0], ValueKind::kNumber);
Expand Down
1 change: 1 addition & 0 deletions ScriptEngine/API/EntityAPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class EntityClass : public ScriptClass {
Local<Value> teleport(const Arguments& args);
Local<Value> kill(const Arguments& args);
Local<Value> hurt(const Arguments& args);
Local<Value> heal(const Arguments& args);
Local<Value> setOnFire(const Arguments& args);
Local<Value> setScale(const Arguments& args);

Expand Down
15 changes: 15 additions & 0 deletions ScriptEngine/API/PlayerAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ ClassDefine<PlayerClass> PlayerClassBuilder =
.instanceFunction("transServer", &PlayerClass::transServer)
.instanceFunction("crash", &PlayerClass::crash)
.instanceFunction("hurt", &PlayerClass::hurt)
.instanceFunction("heal", &PlayerClass::heal)
.instanceFunction("refreshChunks", &PlayerClass::refreshChunks)
.instanceFunction("giveItem", &PlayerClass::giveItem)
.instanceFunction("clearItem", &PlayerClass::clearItem)
Expand Down Expand Up @@ -1980,6 +1981,20 @@ Local<Value> PlayerClass::hurt(const Arguments& args) {
CATCH("Fail in hurt!");
}

Local<Value> PlayerClass::heal(const Arguments& args) {
CHECK_ARGS_COUNT(args, 1);
CHECK_ARG_TYPE(args[0], ValueKind::kNumber);
try {
Player* player = get();
if (!player)
return Local<Value>();

player->heal(args[0].toInt());
return Boolean::newBoolean(true);
}
CATCH("Fail in heal!");
}

Local<Value> PlayerClass::setFire(const Arguments& args) {
CHECK_ARGS_COUNT(args, 2);
CHECK_ARG_TYPE(args[0], ValueKind::kNumber);
Expand Down
1 change: 1 addition & 0 deletions ScriptEngine/API/PlayerAPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ class PlayerClass : public ScriptClass {
Local<Value> transServer(const Arguments& args);
Local<Value> crash(const Arguments& args);
Local<Value> hurt(const Arguments& args);
Local<Value> heal(const Arguments& args);
Local<Value> setOnFire(const Arguments& args);
Local<Value> setFire(const Arguments& args);
Local<Value> refreshChunks(const Arguments& args);
Expand Down

0 comments on commit d6556b4

Please sign in to comment.