Re: Circle 3.0 update

From: Danhiel Baker (
Date: 03/28/94

| > yes, I can handle the exp chart et al, and I've got some ideas of how to
| > stretch the spells over most of the levels, and some others to add (as well
| > as a suggestion that TRACK be a practiced skill rather than something anyone
| > can do..
| (Re: track, it already is a skill in 3.0.  If you fail the track, instead
| of giving you a lame message like "You can't tell.", it picks a random
| direction out of the room and points you there instead.  Heh. :))

*grin* sounds good!  If possible, could you have it something that Thieves
and warriors get at low levels (3 and 7), while Mages and Clerics don't have 
it available til around 15 and 12? I think this would be a nice gimme for the
non-casting sorts, who aren't getting anything new (though I've got some
ideas for spell-like skils for high lev thieves, and other spells in general).
In case that wasn't clear, Track should be available starting at lev: 3 for
Thieves, 7 for Warriors, 12 for Clerics, and 15 for Mages.

| I'd be more interested in adding new spells than in stretching the existing
| ones; I'd like to make Circle more balanced overall out of the box.  I don't
| want to go overboard with millions of spells - just enough to make it a
| balanced MUD.  Besides, with the new spell system (which is working
| absolutely beautifully!!), it is EASY to add new spells.  There are
| 'spell templates' for various classes of spells built in to the new spell
| system, so, for example, if you wanted to add a "dissolve" spell, you
| just use the "damage" template and tell it the spell should do, say
| 9d7+13 damage.  You can have more than one template per spell, too (i.e.,
| the 'chill touch' spell which is a damage plus an affect).

What I meant by 'stretching' the table (which I explain a bit better in the
other letter, I must admit,  but I was too tired to finish it :) is to
simply 'pull out' the current spells to be spread over, say, 25 levels 
instead of 15, and then fill in the gaps as well as add one or two HIGH
level spells.  I say this simply to keep the balance - IMO, it is extremely
difficult to balance a mud that must serve the truely awesomely powerful
and newbie.  Distributing the existing spells over more levels will help
keep everything at a managable level.  Adding other spells in the "holes",
such as a "cure serious", as well as new spells that aren't necessarily
directly combat related will provide variety enough to handle those levels,
and a few higher level spells (25+) that are more powerful could be added
as well.  I simply don't want to see 'nuclear strike' and 'Full Heal Group'
at lev 30 - I'd rather that more 'tools' were added, and more spells that
facilated working things out in some other way than hack-n-slash style of
power-playing.  Spells that cover things that have not been yet would be 
nice;  Player infravision, Movement restoration at various levels, some
sort of indentify spell (perhaps not so complete as the scroll version,
at least not until higher lev version, 'Full Identify').  A 'wizard eye'
type spell would be cool - roughly 'at <mob> look', but for players.
Adding minor spell resistances - such as to fire, lightning, or sleep, etc,
would be nice.  Speaking of which, could we possible get sanctuary changed
back to 'max(18,damage)'?  Making it halve damage on mobs is equivalent to
just giving them twice as many hitpoints, and thus...well, sorta impotent.
If I wanted it to have that many HP I'd have given it to it :).  I grant
that a 1/2 damage Sanct is helpful to players, but I still prefer the max 18
one.  Adding another damage reduction spell that cuts damage by half or 1/3
wouldn't offend me much, 'twere it lev 21 or so :)  'Protection from <align>'
is another good suggestion - my idea for imping this would make the player
so affected not be attacked by those MOBs that are 'AGGR_<align>' (ie,
AGGR_GOOD mobs wouldn't attack a player that is Protected from evil and
of good align (Heh... I think if a player is or becomes evil/good while
protected from that align they should take a 'dispel <align>' equal to
their level...*grin*...or at least the Protection should go away)), and
for those plain AGGRESSIVE mobs that are of right align should get a saving
throw before they can attack that player (another possible impl. would be
to give the player an AC bonus that is only good against attacks by a
mob of the protected align).

| Some other goodies that you will be interested in --
|  --  "action description" now works for wands, staffs, potions, and
|      scrolls.  (i.e., a wand without an action description will just
|      give the default "Ras points a silver wand at Derkhil.", but if


|      it does have an action description, it'll print that instead.
|      It uses the standard "act" format for substitutions (i.e. $n
|      for the user, $N for the victim, etc.)

I like it!
Could you send me a list of the $variables for actions?  I'm not familiar
with them right off the bat. 
|  --  I have filled out the weapon-attack-types table.  (i.e. "slashes",
|      "pierces", etc.)  There are now a dozen or so of them, and I've
|      reworked the system so that it is EASY to add new ones.  I'll send
|      you the new table so that you can use the new types on weapons.
|      Also, if you have suggestions for additional verbs, I'd love to hear
|      them.

Very nice!  Anyway that we could get specifiable attack-verbs for bare-handed
mobs added, so that we won't have snakes missing you with their 'hit'?  An 
additional field is a possibility, but a table wouldn't be bad - it could
have such things as bite, strike, punch, claw, etc...
|      I am also going to write certain "standard" mob-fight-procedures
|      (i.e one for magic user, one for cleric, etc.) which do things based
|      on the mob's level.  (magic_user is already written -- if the mob
|      is lev 3-4 it casts mag missile, higher levels cast, say, fireball,
|      etc.)  I'm going to add a "MOB_MAGE" and "MOB_CLERIC" bits to the
|      flags, so that you (the area writer, generically) can activate those
|      spec-procs from the area files instead of from the C code.

Howabout 'MOB_WARRIOR' and 'MOB_THIEF'?  Have mobs that kick and bash 
(which reminds me - does a 'bashed' MOB_spellcaster stop casting like
the bash description promises?), and aggressive thieves that backstab to
enter combat, and try to steal gold (and objs? *grin* hate to loose your
recall on your way to a fight...) when not fighting?  If you do add the
mob_warrior&thief, be aware that these skills are also stat based, and
something other than the default 11 stats will need to be passed as 
arguments here or the mobs will be the lousiest fighters and backstabbers
that you've ever seen - I think that 15 gave such mobs a good, fair chance
on Shine (where we had both :).  If you REALLY want to some work adding
flags I'll suggest the a few we add on Shine - FOLLOW_WIMP and USE_ITEM.
It's tempting to ask Trew for the code and rework USE_ITEM myself if
need be!  I think we can all appreciate a mob that can pick up a better
piercing weapon and wield it, and then sneak-follow a fleeing character 
out of the room and attempt to backstab them :)  Needless to say, we got
complaints from players that they had 'fled from the mugger, and then
I just died!  Nothing even was there to attack me!' Oh, those were the
days *smirk*
Oh, as JIC there is no MOB_STEAL flag, has the glitch that makes the
thief_proc buggy been fixed?  I know that the fix was posted here...
|      I will send more details of how the mage and other specprocs work.
|      People better at D&D than me are free to tune up my ideas.  Overall,
|      a mob of level L has an L% chance of doing _something_ per round of
|      combat.  Thus, level 30 mobs will cast spells at you or your group
|      once every 3 rounds on average; level 1 will almost never cast spells.

That sounds good, though maybe a *bit* more likelihood of casting would
be good.  Maybe (L/60)% chance, so that a level 30 mob would have a 50%
chance of doing *something* (which IMO should include casting spells that
may be less than their own lev - perhaps have them randomly select from
all "combat" spells within 10 levels below them).  Alternativly, if they
are going to cast the 'best' spells (or close) then use (L*3/2)%.  This
would mean that a 10th level mob casts 3/20 instead of the 2/20 you have
in your example (or 3/18, with L/60%).  If you add the warrior and thief
procs, the backstab should ALWAYS be attempted as a first-strike, and a 
warrior should attempt to kick-bash at (L*2)%.  Oh - if you have a Sleep
spell amoung those being cast, if you could make a special provision
so that the mob will switch targets if there are more available it
would be more effective (unless the spells are already directed at ANY
group member, not just the tank ;) so that the mob doesn't simply awaken
the character again with their next hit.

| Circle 3.0 is shaping up very nicely indeed!  I'm thrilled to death with
| the new magic system.  It makes writing special procedures MUCH easier.
| (There are now various points of entry into the magic system depending
| on what you want to do.  To get a mob to cast a spell is a snap -- just
| write "cast_spell(ch, victim, SPELL_FIREBALL)" and the new magic system
| takes care of saying the words, setting the level appropriately, etc.
| Every other major 3.0 system has been coded (with the exception of OLC,
| which is not quite done yet.)  I hope to have a test port up soon.
| NOTE:  If there are any area writers out there who have an ORIGINAL area
| they'd like to contribute to the official 3.0 package, write to me!!
| The current schedule is:
| 1.   Put an "alpha test" port up with Danny's new world files.
|      Get people to play, find bugs, give comments on the world.
| 2.   Fix bugs, have Danny fix any bugs people find in the world
|      files.  Put a test port back up.  Release a beta version of
|      the code to a limited number of developers.
| 3.   Continue to take bug reports on my test port, and collect bug
|      reports from the Imps who have been selected as beta sites.
|      (Hopefully, they will be putting up their own test ports as well,
|      and not just sitting on the code and looking at it. :))
| 4.   RELEASE 3.0!!!  Whoo hoo!
| It's so close now that I can taste it.  3.0 will be great!
| Things that still need to be done:
| --   I need someone who knows D&D to write saving throw & exp tables.
|      Danny said he could do it, but if someone else knows D&D well,
|      they can take the load off of him.

One request I have for the saving throw tables, if someone else does them,
is that they be done on a percentage basis rather than a d20.  Saving throws
will (well, should) still automatically fail when a '1' comes up, but now
that will be a 1% chance rather than a 5% chance!  The exp tables I'd like
to handle myself, and I think the final say on them will be somewhat
dependant on what new spells and skills go in :)  Heck, they can't take
THAT much of my time - the titles are there, they just need some decent
| --   The spell table needs to be fixed up.  There are only spells up to
|      level 15, and I've taken out some of the lame ones like ventriloquate.
|      Since Circle is a "base" code, I don't want to go overboard on the
|      spells, but I at least need input as to how to make the spell system
|      balanced for a 30-level MUD.
| Jeremy

See my blathering about this above, and for Jeremy, in the long reply I 
finally mailed today :)  I certainly would like to see some new skills
go in for warriors and thieves to balance this, and I'll post those that
I've thought up when I've got a decent list.  I'll also try and throw
together a proposal for a new spell table based on the stretching idea
to see what ppl think...

Danny, the Font of all, Knowledge!

| Danhiel Baker // Derkhil CatSpawn         /) /)     Fade away
|  <-*NEW*           ( o o )    into the
|                    = x =     ethereal grey...
| Work: 542-0123  Pager: 369-2781          m     m    
+-------------------------------->       ***(=======-
Note the new email addr....

This archive was generated by hypermail 2b30 : 12/07/00 PST