Prototype/Achievement

From Official Factorio Wiki
Revision as of 12:53, 17 July 2017 by LazyFridge (talk | contribs) (added "limited_to_one_save" property, as well as the example at the bottom of the page.)
Jump to navigation Jump to search

Basics

This Prototype Definition is used for the in-game achievements.

Extensions

Mandatory Properties

type

Type: Types/string

Specification of the type of the prototype.

Built-in Achievement types:

 "build-entity-achievement",
 "research-achievement",
 "finish-the-game-achievement",
 "group-attack-achievement",
 "construct-with-robots-achievement",
 "deconstruct-with-robots-achievement",
 "deliver-by-robots-achievement",
 "train-path-achievement",
 "player-damaged-achievement",
 "produce-achievement",
 "produce-per-hour-achievement",
 "dont-use-entity-in-energy-production-achievement",
 "kill-achievement",
 "combat-robot-count",
 "dont-craft-manually-achievement",
 "dont-build-entity-achievement",
 "achievement",

name

Type: Types/string

Unique identification of the prototype.

icon

Type: Types/FileName

steam_stats_name

Type: Types/string

Unusable by mods, as this refers to unlocking the achievement through Steam.

General Optional Properties

Note: more achievement-specific types will be in their respective Prototype page.

until_second

Type: Types/unsigned

This lets the game know how long into a game, before you can no longer complete the achievement.

 until_second = 60 * 60 * 8, --8 hours. 60 being seconds, 60 being hours, and 8 being the amount of hours.

allowed_in_peaceful_mode

Type: Types/bool

If this is set to false, you cannot complete the achievement on the peaceful difficulty setting.

 allowed_in_peaceful_mode = true,

limited_to_one_game

Type: Types/bool

If this is true, the player carries over their statistics from this achievement, through all their saves.

 limited_to_one_game = false,

Example

 {
   type = "kill-achievement", --This is for the achievement "steamrolled".
   name = "steamrolled",
   order = "e[kill]-a[steamrolled]",
   type_to_kill = "unit-spawner",
   damage_type = "impact",
   in_vehicle = true,
   personally = true,
   amount = 10,
   steam_stats_name = "spawners-killed-by-impact",
   icon = "__base__/graphics/achievement/steamrolled.png"
 },