From: Artovil <artovil@ARCANEREALMS.ORG>
> At 09:07 2001-12-11 -0500, Carlos Myers wrote:
> >From: "krenshala" <krenshala@JUMP.NET>
> > > I am currently looking at limits.c and noticed that checks for a
> >particular
> > > class are handled via IS_<CLASS>(ch) (e.g., IS_CLERIC(ch)). I also
see
> >that
> > > checks for particular AFF bitvectors are accomplished through the
> > > AFF_FLAGGED(ch,<FLAG>) function.
> > >
> > > Has anyone (aside from me :) considered coding an IS_CLASS(ch,<CLASS>)
> > > function that can replace the IS_<CLASS>(ch) functions? I would think
> >this
> > > make a nice simplification of the existing code.
> >
> >The problem I have with this is I think that will make things _harder_ to
> >read and understand.
> >
> >Let's compare:
> >
> > if (IS_MAGIC_USER(ch))
> > send_to_char("You are a magic user", ch);
> >
> >to:
> >
> > if (IS_CLASS(ch, CLASS_MAGIC_USER))
> > send_to_char("You are a magic user", ch);
> >
> >Now tell me. Which of those two arguments do you find easier to
understand?
> >
> >Carlos
If you check my next post you see that I come to a similar conclusion. :/
> Have to reply. Actually, I find the second version easier to understand;
> which depends on what you are used to I guess. The reason as to why the
> latter macro would be good could be that he does not want to modify
utils.h
> AND structs.h every time he adds/removes/changes a class? Perhaps lazy,
> but it has a point, since the utils.h file is included in every large file
> in the mud, and on some puters that takes ages to compile (but since he
> changes both files it doesn't really matter, yes). It's just a layout
> issue I guess.
>
> The first version requires a macro for every class, which is kind of
> redundant. The second version only requires the actual defines in
> structs.h and the macro in utils.h to work, plus it is easier to do a grep
> on IS_CLASS() than on every darn class there is.
>
> I have about 10 different magic classes in my MUD, which "forced" me to
> make a macro, IS_MAGI(ch) so that I could check if they were a magic user
> or something else. This is useful with checks for spells, potions, and
> other things, at least for me. That is a bad thing, since I have to
change
> both structs.h and utils.h whenever I decide to change the layout of my
> classes (which doesn't happen very often, of course). I'd rather have the
> second version here if I could. :)
>
> Just my two cents...
>
> Regards,
> /Torgny
This is the situation I was invisioning when I thought of it. And in the
next post I -do- mention that it would only really help if you plan to have
a large number of classes.
Larry
Larry Robinson
krenshala@jump.net
:wq
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
| Newbie List: http://groups.yahoo.com/group/circle-newbies/ |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/24/03 PDT