Skip to content

Commit

Permalink
minor tweak on achievements and lua death counter
Browse files Browse the repository at this point in the history
  • Loading branch information
ShadowMario committed Sep 29, 2024
1 parent fc5db96 commit 072a6d3
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
23 changes: 15 additions & 8 deletions source/backend/Achievements.hx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ typedef Achievement =
@:optional var ID:Int;
}

enum abstract AchievementOp(String)
{
var GET = 'get';
var SET = 'set';
var ADD = 'add';
}

class Achievements {
public static function init()
{
Expand Down Expand Up @@ -87,16 +94,15 @@ class Achievements {
}

public static function getScore(name:String):Float
return _scoreFunc(name, 0);
return _scoreFunc(name, GET);

public static function setScore(name:String, value:Float, saveIfNotUnlocked:Bool = true):Float
return _scoreFunc(name, 1, value, saveIfNotUnlocked);
return _scoreFunc(name, SET, value, saveIfNotUnlocked);

public static function addScore(name:String, value:Float = 1, saveIfNotUnlocked:Bool = true):Float
return _scoreFunc(name, 2, value, saveIfNotUnlocked);
return _scoreFunc(name, ADD, value, saveIfNotUnlocked);

//mode 0 = get, 1 = set, 2 = add
static function _scoreFunc(name:String, mode:Int = 0, addOrSet:Float = 1, saveIfNotUnlocked:Bool = true):Float
static function _scoreFunc(name:String, mode:AchievementOp, addOrSet:Float = 1, saveIfNotUnlocked:Bool = true):Float
{
if(!variables.exists(name))
variables.set(name, 0);
Expand All @@ -111,8 +117,9 @@ class Achievements {
var val = addOrSet;
switch(mode)
{
case 0: return variables.get(name); //get
case 2: val += variables.get(name); //add
case GET: return variables.get(name); //get
case ADD: val += variables.get(name); //add
default:
}

if(val >= achievement.maxScore)
Expand Down Expand Up @@ -279,7 +286,7 @@ class Achievements {
}
return getScore(name);
});
Lua_helper.add_callback(lua, "setAchievementScore", function(name:String, ?value:Float = 1, ?saveIfNotUnlocked:Bool = true):Float
Lua_helper.add_callback(lua, "setAchievementScore", function(name:String, ?value:Float = 0, ?saveIfNotUnlocked:Bool = true):Float
{
if(!achievements.exists(name))
{
Expand Down
1 change: 1 addition & 0 deletions source/psychlua/FunkinLua.hx
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ class FunkinLua {
set('misses', 0);
set('hits', 0);
set('combo', 0);
set('deaths', PlayState.deathCounter);

set('rating', 0);
set('ratingName', '');
Expand Down

0 comments on commit 072a6d3

Please sign in to comment.