CA2_SPIN+CA2_MULTIABILITY doesn't grant both

Status
Not open for further replies.
Yeah, the title makes no sense, I know.
Anyway, in character wads, in S_Skin, setting Ability2 to "CA2_SPIN+CA2_MULTIABILITY" (I know plusses should work, as they do in skinflags) doesn't grant both spinning and multiability. But I see no reason for that, as CA2_NONE = 0, CA2_SPIN = 1, CA2_MULTIABILITY = 2, and 3 is unused, so why shouldn't one be able to combine spinning and multiability?
I know there already exists a Lua script for that, but it would be nicer to have it so Ability2 is combinable.

Also, why doesn't the skinflag SF_SUPER allow super transformation in SinglePlayer/Co-op/etcetera? And why does SF_WATERSKIP not exist? Both could be really useful. At least the latter. Like, if I want a character that can Thok as well as run on water (for example a character that floats/flies as default movement, but should be able to Thok anyway).

Sorry if there already exists a "bug report"/suggestion for this. And I know it's not directly a "bug", but still, the suggestions thread is all clogged up... plus it's sort of a bug, I hope?
 
Last edited by a moderator:
I really don't know what to make of this, that just isn't how the game works. No, you shouldn't be able to use pluses there because those are your three options. No spin OR spin OR multiability. Combining them would be contradictory since not spinning is part of what the multiability setting is supposed to do. If it were possible to do it the way you wanted, why would someone have gone through the trouble of making a Lua script for it?

The SF_SUPER flag is the flag you use to use custom super sprites, it has nothing to do with actually turning super. Custom characters turning super in single player has been purposely removed since 1.09.4.
 
I really don't know what to make of this, that just isn't how the game works. No, you shouldn't be able to use pluses there because those are your three options. No spin OR spin OR multiability. Combining them would be contradictory since not spinning is part of what the multiability setting is supposed to do. If it were possible to do it the way you wanted, why would someone have gone through the trouble of making a Lua script for it?
Exactly. If it existed, there wouldn't be a need of that script. Besides... why should SRB2 have limits on what one can do?
Lua? Sure, you can go be as creative as you want, make new characters with fun abilities, new map things with amazing gimmicks, even completely new ways to play!
Simple to implement yet very useful things (Spin+MultiAbility without a script, turning Super in singleplayer, running on water with an ability other than swimming, etcetera)? Nah, why would we want that?



The SF_SUPER flag is the flag you use to use custom super sprites, it has nothing to do with actually turning super. Custom characters turning super in single player has been purposely removed since 1.09.4.
...No, SF_SUPER is an unsettable flag only used by the vanilla Sonic to tell the engine he can turn Super outside match/etcetera. SF_SUPERANIM or SF_SUPERANIMS is the skinflag for using super-specific sprites.
And yes, I know it has been removed in 2.0, but if we're allowed to even use Lua, why aren't we allowed to do something as simple and even useless as turning super in singleplayer?
 
Abilities are not flags. You can only enable one at once because they overwrite one another.

As for the skinflags, there are already workarounds but I do agree that SF_SUPER should be settable for non-sonic characters.
 
Last edited:
Abilities are not flags. You can only enabled at once because they overwrite one another.
Still, though, I don't think it should be too hard to just apply both spinning and multiability if the value for ability2 is 3. Not necessarily checking if it is bitwise including 1, then applying spinning, and bitwise 2, then applying multiability, but just checking what the 3 means. It sounds simple enough to me, as they do already have the coding for spinning and multiability, seperately, meaning they could copy-paste and combine it if the value is 3. But then again, I don't mess with the source code of it, so I dunno.


As for the skinflags, there are already workarounds but I do agree that SF_SUPER should be settable for non-sonic characters.
SUPER AWESOME NINJA TO MEGA HYPER SONIC TRANSFORMING, DOO DOO DOO DOO DOO, DOO DOO DOO, *Random babbling* WOW, *Random babbling* SUPER MEGA BAHBAH, WHOAAAHHH!* **
* I don't know if that's what Hyper Mysterious Shadonic One-Hundred Twenty-Three Thousand Three-Hundred Eleven even says.
** Please kill me.
but are there any that when you double jump with +50 rings and all emeralds, you turn super with full invincibility (except for fall pits, crushers, etcetera), not losing 10 rings per hit? (It would be simple to check if the gametype is singleplayer/co-op/race(?)/competition(?), so that doesn't really matter.)

I even tried hooking up P_DoSuperTransformation to a console command, turnsuper, and even if I use devmode 1, getallemeralds, devmode 0, hit Tab to make sure I have all emeralds, and then use "turnsuper" while in the air after jumping Edit: With 50+ rings ... I did transform, and the music did change, but as soon as transforming was done, it would revert to non-super, before even displaying 1 frame as super other than transforming.

Oh, and also, if you jump as Sonic with all emeralds, thok with less than 50 rings, get rings in the jump before landing, and press the jump button again before landing, you will also turn super, despite having thokked already.

And for waterskipping, try finding a workaround which lets you use homing thoks both above and under water, even ones from above water down into water, but still being able to run on water, and also jump then land on water, even after thokking in the air.
 
Last edited:
Exactly. If it existed, there wouldn't be a need of that script. Besides... why should SRB2 have limits on what one can do?
Lua? Sure, you can go be as creative as you want, make new characters with fun abilities, new map things with amazing gimmicks, even completely new ways to play!
Simple to implement yet very useful things (Spin+MultiAbility without a script, turning Super in singleplayer, running on water with an ability other than swimming, etcetera)? Nah, why would we want that?

I wouldn't call this SRB2 having 'limits' on what it can do, since it can be done. They went through the trouble of adding Lua support and now people can add whatever they want that's missing. And how do you know that it's 'simple to implement'? The devs can't reasonably add every single random feature everyone comes up with.

I'm kinda getting a 'Lua is too hard' vibe from your posts.

And yeah, I got confused about the SF_SUPER flag. But really though, not even Tails and Knuckles can turn super in single player, why should everyone's fan characters?

Still, though, I don't think it should be too hard to just apply both spinning and multiability if the value for ability2 is 3. Not necessarily checking if it is bitwise including 1, then applying spinning, and bitwise 2, then applying multiability, but just checking what the 3 means. It sounds simple enough to me, as they do already have the coding for spinning and multiability, seperately, meaning they could copy-paste and combine it if the value is 3. But then again, I don't mess with the source code of it, so I dunno.

I think the problem here is that the abilities aren't like flags, they don't really have values. Those aren't values so much as slots. They could just as well be a, b, and c as 0, 1, and 2.
 
I wouldn't call this SRB2 having 'limits' on what it can do, since it can be done. They went through the trouble of adding Lua support and now people can add whatever they want that's missing. And how do you know that it's 'simple to implement'? The devs can't reasonably add every single random feature everyone comes up with.

I'm kinda getting a 'Lua is too hard' vibe from your posts.
Yes. Yes it is. For me. (Well, actually it isn't, but I can't do "complicated" things (waterskip while being able to thok, for example) without at least a little help.)
But if you're up for it, I'd like to see Lua giving spinning multi-thok for a character that can run (and jump) on water and transform super in singleplayer if having all emeralds and 50+ rings. I would really like to see that done with Lua alone. Especially as this thread has been turned into an "Invalid", and thus won't be "fixed"/added.
Nah, just kidding, I'm not challenging you, it can probably be done somehow, I just don't know how to (yet).


And yeah, I got confused about the SF_SUPER flag. But really though, not even Tails and Knuckles can turn super in single player, why should everyone's fan characters?
So Sonic The Hedgehog shouldn't be able to turn super, if one makes a version of him with just slightly different values for things, or animations or sounds or such?
And the reason everyone's fan characters should: Sonic can. (Lame argument, I know.) And Tails and Knuckles could in the classic games, too. Plus it was possible pre-2.0. Just like "waterskip = 1", which I think would be "skinflags = SF_WATERSKIP" or etcetera in 2.1, if it existed. I was actually really expecting it to be possible with 2.1, when Lua was announced.



I think the problem here is that the abilities aren't like flags, they don't really have values. Those aren't values so much as slots. They could just as well be a, b, and c as 0, 1, and 2.
And then d could be for spinning and multiability. Or 3, whichever you prefer. Whether they'd turn ability2 into a suitcase flag or not is up to them, but it would at least be appreciated if there was a definitely 100% faultfree spin+multiability that could be set without Lua scripts. But there isn't, and probably won't be.

Oh, well. Off to steal and edit probably without releasing learn more Lua.
 
This doesn't even BELONG here. The thread should've been in suggestions, not bug reports. That's why it was marked as invalid.

As for learning lua, read up on basic syntax. Look at the source code. Browse the wiki. Look at MI's documentation thread. Lua is incredibly easy, but only if you aren't lazy.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top