[Quest API] Fix Lua Door/Object Create Methods. (#2633)

# Notes
- Lua door/object create methods were `void` type instead of `uint16`, so you couldn't get the entity ID of the door you created.
- Converted Perl's door/object create methods to return `uint16` instead of `int` as well.
This commit is contained in:
Alex King
2022-12-11 14:08:43 -05:00
committed by GitHub
parent 46f993ef71
commit 70719852d6
2 changed files with 44 additions and 34 deletions
+16 -16
View File
@@ -1348,42 +1348,42 @@ int Perl__getlevel(uint8 type)
return quest_manager.getlevel(type);
}
int Perl__CreateGroundObject(uint32_t item_id, float x, float y, float z, float heading)
uint16 Perl__CreateGroundObject(uint32_t item_id, float x, float y, float z, float heading)
{
return quest_manager.CreateGroundObject(item_id, glm::vec4(x, y, z, heading));
}
int Perl__CreateGroundObject(uint32_t item_id, float x, float y, float z, float heading, uint32_t decay_time_ms)
uint16 Perl__CreateGroundObject(uint32_t item_id, float x, float y, float z, float heading, uint32_t decay_time_ms)
{
return quest_manager.CreateGroundObject(item_id, glm::vec4(x, y, z, heading), decay_time_ms);
}
int Perl__CreateGroundObjectFromModel(const char* modelname, float x, float y, float z, float heading)
uint16 Perl__CreateGroundObjectFromModel(const char* modelname, float x, float y, float z, float heading)
{
return quest_manager.CreateGroundObjectFromModel(modelname, glm::vec4(x, y, z, heading));
}
int Perl__CreateGroundObjectFromModel(const char* modelname, float x, float y, float z, float heading, uint8_t object_type)
uint16 Perl__CreateGroundObjectFromModel(const char* modelname, float x, float y, float z, float heading, uint8_t object_type)
{
return quest_manager.CreateGroundObjectFromModel(modelname, glm::vec4(x, y, z, heading), object_type);
}
int Perl__CreateGroundObjectFromModel(const char* modelname, float x, float y, float z, float heading, uint8_t object_type, uint32_t decay_time_ms)
uint16 Perl__CreateGroundObjectFromModel(const char* modelname, float x, float y, float z, float heading, uint8_t object_type, uint32_t decay_time_ms)
{
return quest_manager.CreateGroundObjectFromModel(modelname, glm::vec4(x, y, z, heading), object_type, decay_time_ms);
}
int Perl__CreateDoor(const char* modelname, float x, float y, float z, float heading)
uint16 Perl__CreateDoor(const char* modelname, float x, float y, float z, float heading)
{
return quest_manager.CreateDoor(modelname, x, y, z, heading, 58, 100);
}
int Perl__CreateDoor(const char* modelname, float x, float y, float z, float heading, uint8_t object_type)
uint16 Perl__CreateDoor(const char* modelname, float x, float y, float z, float heading, uint8_t object_type)
{
return quest_manager.CreateDoor(modelname, x, y, z, heading, object_type, 100);
}
int Perl__CreateDoor(const char* modelname, float x, float y, float z, float heading, uint8_t object_type, uint16_t size)
uint16 Perl__CreateDoor(const char* modelname, float x, float y, float z, float heading, uint8_t object_type, uint16_t size)
{
return quest_manager.CreateDoor(modelname, x, y, z, heading, object_type, size);
}
@@ -4036,14 +4036,14 @@ void perl_register_quest()
package.add("completedtasksinset", &Perl__completedtasksinset);
package.add("countitem", &Perl__countitem);
package.add("countspawnednpcs", &Perl__countspawnednpcs);
package.add("createdoor", (int(*)(const char*, float, float, float, float))&Perl__CreateDoor);
package.add("createdoor", (int(*)(const char*, float, float, float, float, uint8_t))&Perl__CreateDoor);
package.add("createdoor", (int(*)(const char*, float, float, float, float, uint8_t, uint16_t))&Perl__CreateDoor);
package.add("creategroundobject", (int(*)(uint32_t, float, float, float, float))&Perl__CreateGroundObject);
package.add("creategroundobject", (int(*)(uint32_t, float, float, float, float, uint32_t))&Perl__CreateGroundObject);
package.add("creategroundobjectfrommodel", (int(*)(const char*, float, float, float, float))&Perl__CreateGroundObjectFromModel);
package.add("creategroundobjectfrommodel", (int(*)(const char*, float, float, float, float, uint8_t))&Perl__CreateGroundObjectFromModel);
package.add("creategroundobjectfrommodel", (int(*)(const char*, float, float, float, float, uint8_t, uint32_t))&Perl__CreateGroundObjectFromModel);
package.add("createdoor", (uint16(*)(const char*, float, float, float, float))&Perl__CreateDoor);
package.add("createdoor", (uint16(*)(const char*, float, float, float, float, uint8_t))&Perl__CreateDoor);
package.add("createdoor", (uint16(*)(const char*, float, float, float, float, uint8_t, uint16_t))&Perl__CreateDoor);
package.add("creategroundobject", (uint16(*)(uint32_t, float, float, float, float))&Perl__CreateGroundObject);
package.add("creategroundobject", (uint16(*)(uint32_t, float, float, float, float, uint32_t))&Perl__CreateGroundObject);
package.add("creategroundobjectfrommodel", (uint16(*)(const char*, float, float, float, float))&Perl__CreateGroundObjectFromModel);
package.add("creategroundobjectfrommodel", (uint16(*)(const char*, float, float, float, float, uint8_t))&Perl__CreateGroundObjectFromModel);
package.add("creategroundobjectfrommodel", (uint16(*)(const char*, float, float, float, float, uint8_t, uint32_t))&Perl__CreateGroundObjectFromModel);
package.add("createguild", &Perl__createguild);
package.add("createitem", (EQ::ItemInstance*(*)(uint32))&Perl__createitem);
package.add("createitem", (EQ::ItemInstance*(*)(uint32, int16))&Perl__createitem);