Browse Source

Follow up to 6581bac
* Fixed some compile errors.
* Clarified documentation for script command achievementupdate a bit more.

aleos89 7 years ago
parent
commit
f4338adab7
2 changed files with 7 additions and 6 deletions
  1. 4 1
      doc/script_commands.txt
  2. 3 5
      src/map/script.c

+ 4 - 1
doc/script_commands.txt

@@ -9808,6 +9808,9 @@ player or the supplied <char id>. If the player does not have the achievement ac
 the <type> value.
 Returns true on success and false on failure.
 
-See 'achievementinfo' for valid <type> values. Excludes ACHIEVEINFO_LEVEL and ACHIEVEINFO_SCORE.
+See 'achievementinfo' for valid <type> values.
+- ACHIEVEINFO_COMPLETE, ACHIEVEINFO_COMPLETEDATE, and ACHIEVEINFO_GOTREWARD require the
+  specific value returned from 'gettimetick(2)'.
+- Excludes ACHIEVEINFO_LEVEL and ACHIEVEINFO_SCORE.
 
 ---------------------------------------

+ 3 - 5
src/map/script.c

@@ -23400,12 +23400,10 @@ BUILDIN_FUNC(achievementupdate) {
 
 	if (type >= ACHIEVEINFO_COUNT1 && type <= ACHIEVEINFO_COUNT10)
 		sd->achievement_data.achievements[i].count[type - 1] = value;
-	else if (type == ACHIEVEINFO_COMPLETE)
-		sd->achievement_data.achievements[i].complete = value ?  true : false;
-	else if (type == ACHIEVEINFO_COMPLETEDATE)
-		sd->achievement_data.achievements[i].completeDate = value;
+	else if (type == ACHIEVEINFO_COMPLETE || type == ACHIEVEINFO_COMPLETEDATE)
+		sd->achievement_data.achievements[i].completed = value;
 	else if (type == ACHIEVEINFO_GOTREWARD)
-		sd->achievement_data.achievements[i].gotReward = value ? true : false;
+		sd->achievement_data.achievements[i].rewarded = value;
 	else {
 		ShowWarning("buildin_achievementupdate: Unknown type '%d'.\n", type);
 		script_pushint(st, false);