arantor / smf-achievements Goto Github PK
View Code? Open in Web Editor NEWAn Achievements mod for SMF, aimed predominantly with Characters support.
License: MIT License
An Achievements mod for SMF, aimed predominantly with Characters support.
License: MIT License
Some achievements can apply retroactively, e.g. some of the more coarse achievements (total posts made, for example, seems like it wouldn't really matter when the posts were made)
But some should only be applicable once the achievement itself is made, and especially based on posting in a specific board, this should only be applicable once the achievement itself exists.
Therefore when creating an achievement this should be a checkbox.
Achievements once unlocked on an account/character should show progress, e.g. '89% complete' with a coloured bar.
When certain currency thresholds have been reached, allow for an achievement to be granted, e.g. xyz gold in account. Achievements should only be granted once if currency based as currency levels will naturally fluctuate.
Achievement should not be revoked if amount drops below (but this is kind of a given anyway)
Tracks number of topics started by an account/character combination (so that if a character is moved, it doesn't re-count towards achievements)
Should be filtered based on all boards, IC/OOC, select boards.
Achievement on anniversary of account/character creation.
Have a tab on the character area to show character achievements.
Currency should be able to be split into tiers, in the same way Guild Wars 2 (for example) has a total amount of coins, split into gold, silver, copper, where 100 copper = 1 silver, 100 silver = 1 gold. This should be available in the mod, in three tiers, where the tiers are configurable both in name and value.
Or, in a different context such as Harry Potter where there are 17 Sickles in a Galleon, and 29 Knuts in a Sickle (493 Knuts to a Galleon), even if the internal value is stored as a single master value, the display should represent this split.
Admin can create achievements flagged as manual, as in they cannot be awarded for any technically-driven reason, can be revoked once given and admin can update a user with an achievement from the user's profile.
Given a specific topic id, the first reply to that topic (i.e. one started by an admin, so the first person to respond to it).
Have an area in profile for account achievements. (Main character can link same place, and if characters mod not present, don't filter by character)
Should be configurable in admin area. There is also a cooldown preventing character spamming, gift max once per week (duration also configurable in admin area)
Achievement tracks are not shown to users until unlocked for that user. A given achievement is unlocked once 5% of its requirement is fulfilled, and once 5% has been reached, the user should receive an alert to tell them so and then mark the achievement track unlocked on their profile. (Does not apply to manual, for meta achievements give the admin the option whether to show at 5% or whether to show only at completion)
Receipt of an achievement should be able to grant an additional group (or groups) to account receiving achievement, e.g. buying access to group via purchasable achievement.
Achievements should be allowed to be flagged as purchasable (with a max limit on number owned), e.g. a Nimbus 2000 achievement, paying the value out of currency.
On achievements being given/earned, the account could also receive a value of money.
When an account/character combination makes a post, track it, and be able to award once an account/character combination has made x posts. Filtering should be on all boards, IC/OOC boards, set list of boards.
Deleting a post should cause this counter to decrement.
Some achievements - especially things like post based - will be tiered. These multiple achievements remain as separate achievements (e.g. a post count track issuing achievements at 100/250/500 posts) but for display purposes in the profile should be considered as a single set of achievements together.
Meta achievements should be based on users having set achievements, e.g. a user has all the achievements of a given kind, this should trigger any meta achievements whose criteria are 'all of x achievements'.
An achievement should be available if an account (or character) has a set of groups, for example an achievement might be available if across all characters in an account, a set list of three groups is matched. This should also be available as a per-character match.
For example, an achievement for having at least one character match in all four school houses across an account (by virtue of having one group per character that is relevant). Or an achievement for having one character match at least two groups.
From the postbit, there should be a link to the achievements list, a.k.a. Trophy Room for the character in question.
Account/character can also pick up to two of the achievements, to fit in the 160px space under the profile picture/group names.
Likes received for an account/character combination (so likes received before/after a character is transferred to another account don't contribute to achievements)
Should be able to filter on all boards, IC/OOC, select boards.
Probably should recount this once a day owing to likes granted/ungranted.
System should be able to track a currency amount per account, various places can add to account, some achievements will be purchaseable, some achievements will gift currency on receipt.
System should also track in/out movements and have display for account.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.