URL: <http://gna.org/patch/?4409>
Summary: Script-defined achievements Project: Freeciv Submitted by: jtn Submitted on: Sat Jan 4 21:33:10 2014 Category: None Priority: 5 - Normal Status: None Privacy: Public Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any Planned Release: _______________________________________________________ Details: Another one from the half-bakery. The new achievements we have on trunk come from a small set hardcoded in the server (Map_Known, Spaceship, Multicultural). However, it strikes me that you really want to be able to define ruleset-specific conditions that we (developers) wouldn't have thought of, which looks like a fine application for Lua scripting. How would this work? * Could use achievement type of "None" or "Script" which is never true in the core achievements code. * To signal achievement, should script call into server, or vice versa (or both)? ** If scripted achievements are to follow the existing tie-break resolution arrangements, that suggests server sends a signal to script saying "has this player achieved this achievement" in the achievement checking phase. (Script probably shouldn't change game state here.) * How to handle achievement messages? Currently they're hardcoded in the server. ** Even without scripting, there's an argument these should be ruleset-defined; for example, if the alien ruleset had achievements, it would say "You're the first one to launch spaceship towards Alpha Centauri!" which seems unlikely to be the obvious destination starting at Deneb. The existing messages use format strings but this would be unnecessary, as they only have values substituted that are also ruleset-defined. _______________________________________________________ Reply to this item at: <http://gna.org/patch/?4409> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev