[0.13] Moddable achievements possible?
Posted: Fri Jul 01, 2016 10:23 am
Obviously modded achievements don't work because mods disable achievements, but in my recent bout of brain farts, I noticed that the new achievements are defined as prototypes in data/base/prototypes/achievements.lua. These achievements have no documentation at all from what I can see, so I've put upon myself to get the parameters for them.
Code: Select all
--All/achievement (so-long-and-thanks-for-all-the-fish)
name = "string",
order = "string", --order messiness
icon = "directory",
--build-entity-achievement
to_build = "item-name",
--research-achievement
to_build = "item-name",
until_second = number
--finish-the-game-achievement
until_second = number,
allowed_in_peaceful_mode = boolean, --if excluded, is true
--group-attack-achievement
amount = number
--construct-with-robots-achievement
amount = number
steam_stats_name = "string", --some sort of record.
limited_to_one_game = boolean,
more_than_manually = boolean
--deconstruct-with-robots-achievement
amount = number
steam_stats_name = "string" --some sort of record.
--deliver-by-robots-achievement
amount = number
steam_stats_name = "string" --some sort of record.
--train-path-achievement
minimum_distance = number,
steam_stats_name = "string" --some sort of record.
--player-damaged-achievement
type_of_dealer = "entity-name",
minimum_damage = number,
should_survive = boolean,
steam_stats_name = "string" --some sort of record.
--produce-achievement
item_product = "item-name",
amount = number,
steam_stats_name = "string", --some sort of record.
limited_to_one_game = boolean
--produce-per-hour-achievement
item_product = "item-name",
amount = number,
steam_stats_name = "string" --some sort of record.
--dont-use-entity-in-energy-production-achievement
last_hour_only = boolean, --if excluded, is false
excluded = "item/entity name",
included = "item/entity name",
minimum_energy_produced = "string" --energy
--kill-achievement
type_to_kill = "entity",
in_vehicle = boolean, --if excluded, is false
personally = boolean, --if excluded, is false
amount = number,
steam_stats_name = "string" --some sort of record.
--dont-craft-manually-achievement
amount = number
--dont-use-entity-in-energy-production-achievement
allowed_in_peaceful_mode = boolean, --if excluded, is true
excluded = "item/entity name"
--dont-build-entity-achievement
dont_build = {"list", "of", "item/entity names"}
allowed_in_peaceful_mode = boolean, --if excluded, is true