Post #1 · Posted at 2015-09-23 04:55:32pm 8.5 years ago
Xavious | |
---|---|
Member | |
644 Posts | |
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 · Posted at 2015-09-23 05:25:49pm 8.5 years ago
Kyzentun | |
---|---|
Member | |
3,209 Posts | |
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 · Posted at 2015-09-23 05:33:05pm 8.5 years ago
Xavious | |
---|---|
Member | |
644 Posts | |
Reg. 2007-05-28 | |
I figured this might end up being simple, for those in the know at least, thanks.
Post #4 · Posted at 2015-09-23 06:47:30pm 8.5 years ago
Quickman | |
---|---|
Member+ | |
6,058 Posts | |
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)