This is very verbose, and one can imagine LOTS of achievements that would want to use the notion of completing rides and disallowing warping/teleporting. I propose a modular system for the BIGAL DSL that would make the "Magic Kingdom Mountaineer" achievement look like this:
achievement {
name "Magic Kingdom Mountaineer"
description "Ride the three mountains of Magic Kingdom without warping or teleporting"
icon "IRON_SPADE:20"
reward "MONEY:500"
activators {
completeRide(id: 1) && completeRide(id: 2) && completeRide(id: 3)
}
deactivators {
warpOrTeleport()
}
}
It's important that the state scopes don't conflict, I should be able to use the completeRide module in a module or achievement that has its own rodeIt variable.
Currently, in order to write the "Magic Kingdom Mountaineer" achievement, you must write this:
This is very verbose, and one can imagine LOTS of achievements that would want to use the notion of completing rides and disallowing warping/teleporting. I propose a modular system for the BIGAL DSL that would make the "Magic Kingdom Mountaineer" achievement look like this:
and modules that look something like this:
It's important that the state scopes don't conflict, I should be able to use the
completeRide
module in a module or achievement that has its ownrodeIt
variable.