Fixed various quest-related script commands - including: setquest, erasequest, completequest, checkquest - to fix crashes caused of null pointers (sd).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16866 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
cookiecrumbs 2012-11-07 23:13:04 +00:00
parent 7bb8c706d2
commit a45c1dc469

View File

@ -15682,7 +15682,8 @@ Questlog script commands
BUILDIN_FUNC(setquest)
{
TBL_PC * sd = script_rid2sd(st);
struct map_session_data *sd = script_rid2sd(st);
nullpo_ret(sd);
quest_add(sd, script_getnum(st, 2));
return 0;
@ -15690,7 +15691,8 @@ BUILDIN_FUNC(setquest)
BUILDIN_FUNC(erasequest)
{
TBL_PC * sd = script_rid2sd(st);
struct map_session_data *sd = script_rid2sd(st);
nullpo_ret(sd);
quest_delete(sd, script_getnum(st, 2));
return 0;
@ -15698,7 +15700,8 @@ BUILDIN_FUNC(erasequest)
BUILDIN_FUNC(completequest)
{
TBL_PC * sd = script_rid2sd(st);
struct map_session_data *sd = script_rid2sd(st);
nullpo_ret(sd);
quest_update_status(sd, script_getnum(st, 2), Q_COMPLETE);
return 0;
@ -15706,7 +15709,8 @@ BUILDIN_FUNC(completequest)
BUILDIN_FUNC(changequest)
{
TBL_PC * sd = script_rid2sd(st);
struct map_session_data *sd = script_rid2sd(st);
nullpo_ret(sd);
quest_change(sd, script_getnum(st, 2),script_getnum(st, 3));
return 0;
@ -15714,9 +15718,11 @@ BUILDIN_FUNC(changequest)
BUILDIN_FUNC(checkquest)
{
TBL_PC * sd = script_rid2sd(st);
struct map_session_data *sd = script_rid2sd(st);
quest_check_type type = HAVEQUEST;
nullpo_ret(sd);
if( script_hasdata(st, 3) )
type = (quest_check_type)script_getnum(st, 3);