Alright, so this is in the Coding forum because it could apply to all the bases housed here. Now, down to business.
Affects in Smaug are are conglomeration of spaghetti, goo, probably some glue, and I wouldn't be surprised to see some twist-ties or zip-ties too. They're disgusting, bulky, and probably horribly, horribly expensive. I get a headache, and it kills my drive to work on my mud whenever I look at them. And sadly, I need to work on Affects. I need to update them to use std::bitset. Which is no easy task considering how entwined they are with everything in Smaug.
So I had this idea. What if.. instead of trying to decipher this pile of spaghetti/glue/goo/twist-ties/zip-ties.. it was ripped out, and rewritten from the ground up. Fantastic idea. But wait. If I don't know what all they do while they are entwined in all these other things. How do I rewrite them? Where do I begin? What do I do with them? Seriously. It quickly goes from daunting, to scary. So I figured if it's going to be done, it might as well be done with active community involvement. Much like the weather revision. The difference here is, I'm not going to do this solely by myself. We, as a community are going to develop this. How? I dunno, hadn't figured that part out yet. Sadly, I'll probably end up doing most of the work. But at least it will benefit most people. So. Here's the plan.
K. So isn't that a fantastic plan? Yeah, I thought so too. Huh? I didn't say anything. Oh, that's because I have no plan. I don't even know where to start. Seriously. Where do we need to start. I think the first step should be to compile a list of all the stuff that is currently part of the Affects system. And see if there's anything that is entirely not needed. (And yes, David, I know about your complaint about what they're called.
) Then we need to figure out what things should be being affected, what things shouldn't, how to handle it. We'll also need to hash out a plan to deal with spell affects.
And here's where I elicit a groan from all you hardcore C junkies. I refuse to contaminate this new system with bitvectors or extended bitvectors. If we do anything of that sort, we'll be using std::bitset. *pauses for groans* K, stuff a sock in the groaning. SmaugFUSS, SWRFUSS, SWFotEFUSS, and AFKMud all compile as C++. Why limit ourselves to 32, and 128. std::bitset is limitless with all regards to a MUD. That's probably not the wording I wanted. When it comes to a MUD, you're never going to reach the limit of a std::bitset. Yeah, that's what I meant. So why not? Any objections to this better have a damn good reason why we should be limited to 128, and why we shouldn't enjoy the fruits and ease of C++. Also, a viable alternative to std::bitset would be awesome as well. "I don't like C++" doesn't count as a good reason, btw. C++ is C with extras for making life easier. So if you don't like C++ you don't like an easy life. So.. Totally off topic. Anyway. Thoughts? Volunteers? I forgot what I wanted out of this. XD