Post #1 · Posté à 2015-09-23 04:55:32pm il y a 8.6 années
Xavious | |
---|---|
Member | |
644 Messages | |
Reg. 2007-05-28 | |
Something I'm curious about, and forgive my ignorance, but how possible is having the difficulty names be dynamic based on the rating, like the old ones present in early games?
So instead of a difficulty list like this:
1 BEGINNER
3 BASIC
6 DIFFICULT
8 EXPERT
Something like:
1 SIMPLE
3 ORDINARY
6 GENUINE
8 EXORBITANT
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20. I'm just wondering how tricky something like this would be to implement, and which SM versions could handle it, if any (most likely SM5, I imagine).
So instead of a difficulty list like this:
1 BEGINNER
3 BASIC
6 DIFFICULT
8 EXPERT
Something like:
1 SIMPLE
3 ORDINARY
6 GENUINE
8 EXORBITANT
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20. I'm just wondering how tricky something like this would be to implement, and which SM versions could handle it, if any (most likely SM5, I imagine).
Post #2 · Posté à 2015-09-23 05:25:49pm il y a 8.6 années
Kyzentun | |
---|---|
Member | |
3,209 Messages | |
Reg. 2008-02-20 | |
"I'm honestly pissed off." |
It's trivial if you create a custom actor for displaying the difficulty. Just fetch foot rating from the Steps, and use it to look up a name in a list.
-- at global scope
local rating_names= {
"simple", "kantan", "ordinary", "nisemono", "neko", "genuine", "hebi", "exorbitant", "harenchi", "yarashii"
}
-- inside some ActorFrame
Def.BitmapText{
Font= "Common Normal" InitCommand= function(self)
self:xy(_screen.cx*.5, _screen.cy):diffuse{.8, .8, .8, 1}
end,
CurrentStepsP1Changed= function(self)
local foot_rating= GAMESTATE:GetCurrentSteps(PLAYER_1):GetMeter()
-- The 'or' operator returns its second operand if its first operand is false or nil. So this handles the case where foot_rating is
-- greater than #rating_names and there isn't a name for the rating.
local name= rating_names[foot_rating] or "shiranai"
self:settext(name)
end
}
-- at global scope
local rating_names= {
"simple", "kantan", "ordinary", "nisemono", "neko", "genuine", "hebi", "exorbitant", "harenchi", "yarashii"
}
-- inside some ActorFrame
Def.BitmapText{
Font= "Common Normal" InitCommand= function(self)
self:xy(_screen.cx*.5, _screen.cy):diffuse{.8, .8, .8, 1}
end,
CurrentStepsP1Changed= function(self)
local foot_rating= GAMESTATE:GetCurrentSteps(PLAYER_1):GetMeter()
-- The 'or' operator returns its second operand if its first operand is false or nil. So this handles the case where foot_rating is
-- greater than #rating_names and there isn't a name for the rating.
local name= rating_names[foot_rating] or "shiranai"
self:settext(name)
end
}
Post #3 · Posté à 2015-09-23 05:33:05pm il y a 8.6 années
Xavious | |
---|---|
Member | |
644 Messages | |
Reg. 2007-05-28 | |
I figured this might end up being simple, for those in the know at least, thanks.
Post #4 · Posté à 2015-09-23 06:47:30pm il y a 8.6 années
Quickman | |
---|---|
Member+ | |
6,058 Messages | |
Reg. 2013-08-17 | |
"five minute white boy challenge" |
Quote: Xavious
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20.
1-2 = Beginner
3-4 = Simple
5-6 = Ordinary
7-8 = Genuine
9-10 = Marvelous
11 = Superior
12 = Paramount
13 = Exorbitant
14 = Catastrophic
15 = Awesome
16 = Ridiculous
17 = Unbelieveable
18 = Evolutionary
19 = Revolutionary
20 = ???
(not saying this is how it should be but it's how i'd re-structure it for 1-20)