Well of Souls
(c) 1998 -2005 Synthetic Reality Co.

You have found the Well of Souls REALLY OLD RELEASE NOTES PAGE

If you were looking for more recent release notes, you want: recent release notes.

If you were looking for even OLDER release notes, you want: even older notes:

Otherwise, keep reading here to see positively prehistoric release notes.

7/7/2002 ALPHA 69 INCLUDE:
COMPATIBILITY: Excellent! (In the sense that your old characters still work) but incompatible with other versions, so once you uprgade you only see the existence of other people who have upgraded.

BUGFIX: Fixes broken scene lock. (also known as the "I am too scared to PK" bug.)

BUGFIX: Character's with spaces in their name may now petition to join (and leave) guilds.

Cheat characters may now throw money and items to ACTORS (important for some new quests, and for world developers who must depend on cheat characters to get work done).
New Slash Command: "/web" opens web panel (showing previously fetched web page). I couls have sworn this was already in there. My apologies if it is redundant.
FLEE is slightly easier than in A68, based upon a SECRET ALGORITHM. But still harder than it was two versions ago.
Bugfix: Fixed a bug with the "HIDDEN_CLASS nn" command which could trigger the hack detector.

6/16/2002 ALPHA 68 INCLUDES:
COMPATIBILITY: Excellent! Well, sort of. You will only be able to play with other people who have A68. However, all your old un-hacked characters should continue to work (and most hacked characters will probably also continue to work, but hopefully some will break :))
SOUL MIGRATION MEASURED. I've added a memory of the soul ID each character is created under (look in the Karma section of the Diary) so you can sort of track characters which are being shared around.

Of course, this also affects characters which are imported/upgraded to a GS.
NEW SERVER RULE: noMigration.
A server may now optionally demand that only characters created by the same soulID can be played on that server.

Note that this is also akin to "only characters created in A68 or later" since no migration information exists for older characters.

This is sort of that "full character wipe" some people have asked for in the past, but implemented as an optional server rule.

Good for tournaments and such.
THIS TIME FOR SURE you can enter an unlocked camp by clicking on any member of that camp. Honest. For real.
DEFAULT SKINS FOLLOW GENDER. This was a tough bug to find. Thanks to those who stood in a scene for a long time to help.
OK, you can now toss items and cash to 'actors' in a scene and, if the scene supports it, something might happen. Don't start doing this at random (unless you want to get rid of items or money) until you're pretty sure the world you are in supports it.

World Developers:

1.) It is only sense when the scene has 'ended' (just like the right-click on actor event). It then brings the scene back to life at a specially-named label.

2.) The label name is @eventActorGiveN where N is the actor number used in the ACTOR command. When that label is called, several stock cookies will have been set for you.

3.) The stock cookies are:

#<item.id> either the item ID or 0, if it was gold.

#<item.goldGiven> The amount of gold given, or 0 if it was an item.

Since item.id will have been set (overwriting any old value it might have had, the as-yet-to-be-mentioned item accessor cookies will refer to the item just given)

Interestingly enough, I think anyone in the scene can do the giving (though the computations are only done on the scene host -- the only one who runs the script engine).
NEW STOCK COOKIES: #<item.xxxx>
These cookies let you get information about the 'current' item (set by new itemGIVE event or by you manually setting item.id)

#<item.id> read/write Sets current item id for the remaining cookies (which are read-only)

#<item.name> its name
#<item.class> its class number
#<item.price> its price (in store)
#<item.level> its level
#<item.element> its element number
#<item.attack> its A points
#<item.defense> its D points
#<item.hp> hp it gives when consumed
#<item.mp> mp it gives when consumed
NEW STOCK COOKIES: #<monster.xxx>
#<monster.id> (read/write, the id #) Set this first and then all the other cookies refer to this. It is the ID # of the monster in question. If you set to a value outside the legal range, it will use index 0 instead (the so-called monster multiplier entry)

It is also set each time a monster is killed, so it is likely to be the id of the last monster killed (not necessarily in this scene)

The rest of these cookies are read-only

#<monster.name> its name
#<monster.dex> its dexterity
#<monster.agi> its agility
#<monster.sta> its stamina
#<monster.str> Its strength
#<monster.wis> its wisdom
#<monster.level> Its level number
#<monster.element> Its element (number)#<monster.hp> its max HP points
#<monster.mp> Its max MP points
#<monster.attack> its A points
#<monster.defense> its D points
#<monster.expPts> How much XP it pays.
#<monster.gold> how much GP it pays.
#<monster.alignment> monster's alignment
#<monster.skin> skin name of monster
NEW STOCK COOKIES: #<scene.xxx>
These are all read-only and apply to the current scene only.

#<scene.id> ID number of scene
#<scene.bkgnd> bkgrnd jpeg (might have path info)
#<scene.fx> FX number
#<scene.weather> weather number
/dice 3d12 (rolls 3 12-sided dice and sends results to everyone)

/pdice 2d6 (rolls 2 6-sided dice and shows results only to the roller)

so, nds is n s-sided dice (with some limits) and if you give no argument at all, it repeats last combination.
If someone has already placed their move against you (including monsters), you cannot run away before it hits you. Just like a real game. I intended this for monster situations, but I imagine this will turn into some big PK deal which will have to be dealt with in yet another release.
4/13/2002 ALPHA 67 INCLUDES:
* Humans may not possess chaos spells. With luck this doesn't break any worlds...
* Changing your status to ghost using a memory hacker.... 'nuff said.
* Shop window position remembered
* Enter camp by clicking on any member of camp, but only if not actually locked by host.
* Scene clients will hopefully see actor 'jump to new position' instead of walk. (when so commanded by script, I mean)
* MONSTER GROUPS CAN BE NON-RANDOM. I hope this makes you happy. in the GROUPS table, use entry 0 (zero) to enable this, as in:
0, 1
then ALL your monster groups will be non-random. You don't get to turn it on and off on a per group basis.
Existing worlds should not be using entry 0, so they should be unaffected (their monster groups will continue to be random).
* A WORLD CAN HAVE UP TO 88 CHARACTER CLASSES. There is some cause to worry here, as people will need to upgrade to A67 before it is completely safe. Frankly... well... I dunno. We'll see, I guess :-)
#<str.uniform> Host's guild uniform
#<str.name> Host's name (redunant)
#<str.soul> Host's soul ID
(either "Soul n" or "XXXXXXXX")
* NO STRCAT COMMAND ADDED, because you can already do this:
SET test, #<test>new stuff added to end
Let's you compare two string values, similar to the 'c' function of the same name
STRCMP "apple", "zulu"
IF> @aComesAfterZ <-- wrong!
IF= @aIsSameAsZ <-- wrong!
IF< @aComesBeforeZ <-- correct!
The test is NOT case sensitive.
Not as powerful as the 'c' function of the same name, since you are not told WHERE the substring exists. But this lets you see if a string contains another string, as in
STRSTR "The Long String", "Long"
IF> @YesLongWasInTheLongString
The test is NOT case sensitive.
* Fixed a situation where someone could semi-permanently lower your maxHP to 1 (sadly, they can still do it temporarily - via memory hacking, but you should now recover with next incarnation.)
When set, the little white link squares on the mini map will NOT be seen until you have visited the link in question.
2/8/2002 ALPHA 66 INCLUDES:
This is mainly a bugfix and minor tweak release, with a dose of anti-hacker changes.
Tighter Security for World Versioning. World authors are encouraged to /version their worlds early in the development process.
New Map Flag: No PKer Resurrection (applied to most maps in Evergreen, but optional for other worlds.) This prevents PKer characters from casting the resurrection spell on other players.
File menu includes "Check on line for New Worlds" which allows you to browse and download worlds while still playing the game.
11/25/2001 ALPHA 64 INCLUDE:
RELEASED: 11/25/2001
MOTTO: A Questing We Will Go

NOTE: There was no version A63. A63 was used for pre-release testing. You should upgrade directly from A62 to A64, thank you!

DEVELOPER INFO: http://www.synthetic-reality.com/wosDev0.htm
GOLDEN SOULS: http://www.synthetic-reality.com/donate.htm
COMPATIBILITY: Excellent! Except:

1.) It is a play-incompatible upgrade, in the sense that you can only play with other people who have upgraded to A64. Earlier versions will be invisible to you. Your characters, for the most part, are unchanged (see below).

2.) Well.... world developers should take note that I have changed/repaired the AUTO_MAX command (in the levels.txt file) so that it generates *exactly* the min and max you specify. This means that MP/HP values for old worlds will all change (go up, in fact).

This will be most noticable in worlds which set the max Hp/Mp above 5000 or so, since before it was nigh impossible to autom_max to that level, while now there is almost no limit. (I think you'll run into math errors if you auto_max *too* high, so please keep it reasonable. What character class could possibly need more than 5000 HP without some sort of circular inflation going on?

Which is to say, I don't warranty the operation of the game for characters in excess of 5000 HP/MP., but auto_max will no longer be the cryptic thing it was.

Well, this affects ALL worlds which use the auto_max command, so I recommend checking into it, if you are a world developer.

IF YOU ARE JUST A PLAYER, you will notice (probably) that each character you incarnate under A63 for the first time might suddenly drop to 1HP. Just visit some healing location asap and you should be OK.
[Bug fix] scene client synchronization..

Hey, guess what! I finally found why laggy clients often miss the beginning part of the scene script! For example, coming in just after the Soul Brother healed everybody...

This version should be a bit more reliable in that regard... however the down side is that everyone will have to wait until the laggiest party member makes it into the scene. (well, I have a timeout, so you don't have to wait FOREVER, but still it probably means you will see the start of scene delayed a bit when in parties.. or PK-attacking). Those of you who are lobos (you hunt alone!) shouldn't notice a thing.
[Bug Fix] MJ discovered the property editor didn't show the proper number of available frames for "right-hand" equipment (well, and shields, and armor).
[Bug Fix] Woo hoo! Just found a place where I didn't have some range-checking. If you had more than 4096 skins in your skins folder, you were at risk of crashing pretty darn well! Most likely right when you opened your book of skins, but it could have happened at any time.

On a related note, when I added the optional MAGIC frame, I didn't update the guideline remover, so you'll see some guidelines in the upper frames until A63. The truth is a bit weirder than that, but this explanation will have to do for now.
SMALL MIX UPGRADE. For your convenience, banished IP numbers are now remembered after reboot.
NEW OPTION: Stop Web Stuff on Return to Game.

Someone WANTs it to do that, someone wants it to NOT do that. Now *you* get to choose. Default is to stop.

Now, I was joking before about the lying and everything, but I want you to know I am not ignorant of the mischief involved in Guild Pages with big crud on them, or starting a file download to induce lag in your camp for gosh knows what reason. But you could do that with a separate browser window just as easily, so there is no point in my worrying about it. Just be nice.
GEE, NO ONE commented on how groovy the 'right click to see who is on the server' list looks now. (Last release). That ragged edge bugged me, so now it is all neatly drawn and has colors and everything.

Anyway, I forgot to mention it for A62. Anyway, A63 has a similarly tiny change. I moved the Population column to the left of the Rules column. It just seems nicer to me that way. Also, if you refresh and then re-sort by the same column, it doesn't flip the order. (if you just resort WITHOUT refreshing, of course it still flips).

Small things, but attention to detail is where it's at.
FOR THE SUSPICIOUS PEOPLE OUT THERE who do't believe in the power of math. New slash command "/fail" will tell you how often your spell SHOULD be failing, and will then cast it for you 100 THOUSAND times and then report how many times it DID fail.

"With magic ratio 90%, casting Freeze, element Water (training 6.934) should succeed 99%.. actually failed 991 out of 100000 tries. (0%)"

This differs from a real cast in battle only by the amount you wait for the charge meter to charge. As you will recall, the charge meter works by giving you an effective boost (or diminishment) of your training. So if you wait for it to charge fully, you will actually have your spells fail a bit less as a result. The "/fail" command shows success with a 'neutral' charge. (about half-charge)

To use this command, press SPELLs button, pick a spell, then type "/fail"
On the EQUIP screen, you may now double-click on an entry in the list to equip it.

Golden Souls can now petition to join a guild without having to be 20 hours old or achieveing level 20.

They can also create new guilds with 'young' characters, but must still have played WoS overall > 100 hours and the guildmeister character must still be level 60 or above.

To recap that, a golden soul may petition almost immediately, but is still restricted when it comes to creating a new guild. Just not *as* restricted.

Note: This change has no effect for non-Golden Souls, who have the same restrictions as before.
SIMPLE GENDER SUPPORT ADDED. A world designer may optionally include a "gender.ini" file which defines up to 4 genders for their world. A player's choice of gender can then be used to influence scripted dialog in quests.

Please see WoS\Worlds\Evergreen\gender.ini for details.
A SCRIPT CAN SET THE PLAYER GENDER by setting the #<g.num> cookie to 0, 1, 2, or 3.


SET g.num, 1

Sets the scene host's gender to 1.
World Developers may now have invisible monster and/or actor skins, as they see fit. Only heroes are intended to not have invisible skins. Invisible includes "really dinky" by the way, so now you can have actors which are dinky.. say.. individual buzzing flies.

This causes a popup menu to appear. You specify what text goes in the menu. You also provide a label to go to for each possible menu selection.

If the user dismisses the menu without choosing one of the menu choices, execution continues with the next line of the script.

Otherwise, the script does a GOTO to the selected label.

For example:

1: What is your favorite color?
MENU "red=@pickedRed", "green=@pickedGreen"
1: What, you liked neither red nor green?
1: I like green, too!
1: Red is the DEVIL's color!

The MENU command will not terminate until the user picks something from the menu, or dismisses it. It's possible that packet traffic is messed up during this time, as well... I hope not.

You can have up to.. oh.. 8.. oh 16.. oh 10.. oh 15.. oh.. some small number, of choices in the menu. Each choice is described by a quoted string, like:

"Hey Bob!=@pickedHeyBob",

Don't forget the quotes. The "=" in the middle separates the label "@pickedHeyBob" from the menu text "Hey Bob!"

With luck, cookies will work inside the menu text...

The menu appears wherever the mouse is at the time...

Maybe in A64 I'll let you include separators, checkmarks, and disabled menu entries by using funky labels.... maybe


Perhaps there IS light at the end of the tunnel, Dorothy!

I am pleased to announce the very first asynchronous event:


(Where N is replaced with an actor ID number)

The use of this is quite simple. Just add this label to your scene's script, and I will GOTO it automatically when the scene host RIGHT-CLICKS on the actor in question.

So, if the host RIGHT-CLICKS on actor 3, I will GOTO the label:


If that label doesn't exist, then well.. I won't care. The right click will act like an old fashioned right-click and just make you walk there.

At this point, I lack the ability to give you a special cursor for when you are pointing at a right-clickable actor.

NOTE: Events only work after your script has ENDED (at least for now). So events "wake a dead script back up" and it jumps to the label specified, with all the actors, BGs, weather, etc right where it left it at the last END command.

You might do something like this (for example)

ACTOR 1, "Treasure Chest", ...

N: You open the chest and find a pony!

And, when used with the MENU command, you could try various actions on the chest (pick lock, break lock, open, close, etc.)

You can have doors which can be opened by verb or right click (and which cause GOTO SCENE commands as suitable).

Lots of fun possibilities are yours at last.

OK, this is sort of complicated... and at the same time, kinda unlimited. So tready carefully.

It is now possible to make spells which "summon" monsters (who then fight on behalf of the summoner).

See spells.txt for details, but basically you set it up like a disease spell. There are four magic numbers for the basic summons

SUMMON_SAME (summons another of whatever monster it is cast upon, and you can cast it on yourself, if you are a monster, I mean)

SUMMON_SAME_ELEMENT (summons a monster of the same element, but not necessarily the same monster. Level of summoned monster can be no higher than the lower of the levels of summoner and target)

SUMMON_RANDOM (summons any random monster whose level is not higher than the lowest of summoner and spell target.. can't summon un-tamable monsters)

SUMMON_SPECIFIC (the spell includes the ID of the monster to be summoned. No level limits imposed)

Ok, that's how you define the spell itself which does the summoning, but who can cast that spell?

1.) Any human who learns it. So you probably want to restrict how it is learned.

2.) Only monsters with the NEW MONSTER FLAG (4 - "Can cast summon spells") and those monsters are still restricted in the other ways by element, level etc as to whether or not a spell, in general, can be cast.)

Altogether this makes lots of ways to have it not work. So be patient. I am only enabling a single monster in evergreen to summon, and not enabling it for heroes at all.

What if you case SUMMON_SAME_X on a human? Well, nothing. You can try it, but no monster will appear.

Summoned monsters always appear on the right (sorry, but pretend they are sneaking up on you or something). They have a green shadow (like a pet) if they are fighting for you.

Frankly, I am not sure how a summoned monster will feel about other humans than you in the scene. I suspect they will obey the map flags, much as the pets do.

XP sharing is similar to sharing with pets. If a summoned monster helps out, you get less XP for yourself.

OK, all your EQUIPPED ITEMS have, as you know, A and/or D points associated with them. They also have an ELEMENT setting which up until now made no difference in defense. (though the element setting DOES make a difference in attack power, but that's old news)

The NEW news is that the D points are now also affected by your equipment's element.

It works like this:

Say you have a shield, and it has element of water and 45 D points. It has an additional, secret, *magical* 45 D points to offer you as well. But that is derated by the element of the attack.

So, if you get hit by non-magic, you get NO benefit.

If you get hit by FIRE magic (opposite of water), you get NO benefit. (water is weakest to fire)

But if you get hit by WATER magic, then you get all 45 extra Defense points.

If every piece of equipment you were wearing, were all WATER element, you would have effectively DOUBLE your normal D points when attacked by water.

You only get the benefit of magical armor for the 8 basic elements. For chaos elements you get no benefit.

I mean, if you step from map1 to map2 and the music is the same song for both maps, it should simply keep playing the music in progress.

Turns out I broke this when I added support for music in the THEME stuff.

Whoopdeedoo! If you are the host of the scene, then that little label above the health meter will have asterisks, as in:

* Emperor 99 *

It will also be in GOLD PRINT if you are a golden soul. Yet another amazing GS perk!

This cookie, which you probably only want to check in the 'standard camp scene' script, returns one of these values:

0 - this is not a PK attack fight scene
1 - I *am* the PK Attacker in this fight
2 - I am the VICTIM of a PK Attack, in this fight

The idea being that a carefully crafted standard fight scene could apply special temporary map flags if a PK Attack took place on a certain map or something.

Please note: PK Attacks use the STANDARD CAMP SCENE (not the standard fight scene).

Haunting someone and then returning to the well when they are in a place you haven't been yet (so to speak) does NOT cause you subsequent incarnation to go straight to that place.

This is probably opening a pandora's box of hacking but hey.. YOU ASKED FOR IT!

You can now change the scene host's character class by script, by setting the #<num.hostClass> cookie, as in:

SET num.hostClass, 3

He is now class 3! (and that is counting from ONE like all good class enumerations.)

Now, I suspect there are lots of bits of UI which won't really reflect the new class information until the next fight, or possibly even require a trip to the well.

There is also some chance this will set off one or more of my famous hack detectors... so I don't want to be the first to try this on a cherished character...

I did put in one limitation.. You can't morph to a class which has a different NO_GIFT setting, and you can't morph out of a class which has a no gold setting. Hence, you can't morp from scav to something easier, and then back to scav after eating a bunch of seeds. Technically it should be up to the world developer to implement such restrictions, but I felt evergreen was safer with this in place.

When you morph, your level might be changed (see HIDDEN_CLASS). You will definitely be reset to the new class's START_HAND, START_ELEMENT training levels, and will be handed the START_ITEMS, START_SPELLS, and START_TOKENS of the new class (without losing any old items, spells, or tokens)
New Character Class Thing: HIDDEN_CLASS

If this is set, then the class does not appear on the New Character dialog as an available class choice. (and hence the only way to achieve it is by the setting of a new class after the fact by script)

You can provide an optional argument with the HIDDEN_CLASS command, as in:


If present, then someone morphing to this class will be reduced to the specified level. You can only DEMOTE a level in this way, not PROMOTE one.

This toggles a coordinate display in the upper right. As you point the mouse in the scene, the (x,y) coord of the mouse is shown in the upper right. In the 0-100 coord system of scenes, of course.

This lets you bind a URL to an item, so that when you USE the item (on yourself), you are taken to a web page. (like the HTML script command, sort of)

The URL is tucked away into arg15, normally used for the SOUND EFFECT for the item. (It is a buffer of MAX_PATH in size, which is not super incredibly huge, so good luck cramming in a monster URL.

If the URL begins with "http" then it searches the real web, otherwise it looks for a local file in WoS\Worlds\WorldName\HTML (just like the quest language HTML command)

Note that you have to make the object a 'permanent quest object' if you don't want it to be consumed each time it is read.

Much as I hate to admit it, Weasel was right. Gotta be a first time for everything, right? Seriously, thanks Weasel, and thanks Darangen for pointing out it happened with FIGHT2 as well (I was able to repeat it there.)

If this flag is in effect, then battles pay no reward to the surviving players. (no GP, no XP, and no Items Found).

The idea is to use the Quest FLAGs command to turn this on where you feel it is appropriate (the script will be giving some other reward).

Any use of healing potions or spells result in only 1 HP of health restoration (this was easier and funnier than 0). OK, due to a weird corner I painted myself into, healing spells will provide 2 HP of relief, while healing potions will provide 1 HP.

The idea is that you might use the FLAGS command in your standard CAMP scene to disable healing for PK Attack scenes (on some maps).

MP recharge is still allowed. (after all, mister sword user gets infinite bashes with his little sword).

This one is a bit weird, and only works when cast on a human, not a monster. It causes an item to be used on the target.

Mainly this is for Darangen's requested "Use Ticket on Target" spell, but it has wider application (some less logical than others.)

This could, of course, be abused by the world developer to some degree (use seed, use html, etc.) so show proper restraint, please.

You know, those two bug me. I think I will disallow them.

This command lets you "lock" a scene, in the sense that newcomers can not enter it (at all).

The idea is to use this in the standard fight scene to lock a camp against latecomers in a PK Attack.

However, this does NOT prevent a 'party' of attackers to attack a 'party' of victims. Also, there is probably some lag time involved before the lock propagates, so people can probably get in if they are quick about it.

Frankly, the full power of the LOCK is not yet known, and will be tested in combat! I have it set up so as to maybe allow more complicated locks in the future, but for now:

LOCK 1 <-- locks the scene
LOCK 0 <-- unlocks the scene (I hope!)

More as a proof-of-concept than anything else, you will notice while camping in MacGuyver Castle that a little lock icon appears in the upper right of the scene.

The scene host can right-click on this to lock and unlock the camp.

see quest.txt for example script code (scene 2 - standard camp scene)

Sorry it took me so long to get around to this one. Frankly I don't know if this was already possible or not, via some weird SET command, but now you can just ask.

For example:


This will tell you how many of item 44 the scene host has in his or her pocket.

OK, you can now have a monster 0 in your monsters.txt file. If you do this, you aren't really creating a monster.

I use the numbers in this entry to act as "scaling percentages" for some of the algorithm values.

So, say you have a 75 in the 'xp' column of monster zero. This means ALL monsters will pay only 75% of 'normal XP' for their level (except those monsters whose XP you have set manually, of course).

You can thus tweak the algorithms for 10 different monster attributes. (see monsters.txt for details).

Along the same line, you can add a ID#0 'spell' which really just tweaks the algorithms for ppCost, mpCost, and damage (painful spells only.) See spells.txt for details

Tickets won't work when this flag is set.

The top right minimap is uninformative when this flag is set

This makes some of the diseases stop working (stun, confuse, etc.) Well.. OK, this affects BUT the buff/debuff diseases.

This makes the buff/debuff disease spells stop working.

Yeah, well, we'll see I guess. Basically if a PK Attack takes place in Evergreen:

- no healing is allowed
- no tickets are allowed
- no diseases other than debuffs are allowed
- camp is locked (no newcomers) until fight is over.
- but people can still flee by regular PK rules.

I imagine this will need some tweaking to obtain maximum satisfaction. This is achieved via scripting, by the way, and does not affect other worlds.

UNless it all goes horribly wrong, of course..
KARST GETS A SUGGESTION IMPLEMENTED. SAP now works. Well, it doesn't do what I originally planned, but it *does* make sense all the same.

While you are "sapped" your spells all cost 3x as many magic points as normal to cast.

You do get one freebie though, since you can start the cast so long as you have enough 'normal MP' So, say you have 2 MP left and are sapped. You can still cast a 2 MP spell (which will then try to drain you of 6MP, leaving you just at zero).

It's a feature.
AND POISON WORKS, TOO. Oh you're going to hate being poisoned. While poisoned, it's just like MAP_FLAG_NO_HEAL (but just for you!)

Healing potions provide only 1HP, and Healing spells provide only 2HP, while you are poisoned.
ANTIDOTE CLASS WORKS. And what is poison without an antidote item, eh?

So, itemClass 2 is now a real class. I set it up (see items.txt for details) so that you bind the antidote item to the specific disease you need it to cure, hence you can cure any of the following:

Paralyze, 5 debuffs, poison, sap, stun, gag, numb, sleep, and confuse.

A 'cure' is the same as one application of the equivalent cure spell.

Now, I think some of these diseases prevent you from using items, so you can't cure them *with* an item. In such cases, your only hope is for a friend with the appropriate heal spell.

9/25/2001 ALPHA 62 INCLUDES:
* [Bugfix] Returning to the well in the middle of a fight, left you in 'fight state' from which you could not 'flee' (or leave the game even).

Until A62, the work around is to not return to the well in the middle of a fight. If you get stuck, I *think* you can get unstuck by re-incarnating.
* NEW QUEST - The Pokegatchi Quest

This one starts and ends in the Westin Pokegatchi Arena. You MUST have a pet (you can buy one) since it must do all the fighting (you can use as many pets as you like.)

Let me know if this is challenging enough. You must collect the 10 badges (heh heh), after which you will get a suitable reward.

Hopefully these will be self-evident, or understood by the documentation on the A62 Quest Lingo Dictionary (to be pushed with A62). These are all "read-only" cookies:

To save myself typing "hostAge" = #<num.hostAge>, OK?

hostAge, hostTotalAge, hostHP, hostMP, hostMaxHP, hostMaxMP, hostSTR, hostWIS, hostSTA, hostAGI, hostDEX, hostHandSkillN (N=0-7), hostElementSkillN (N=0-7), hostGP, hostPP, hostTNL, hostHaloPoints, hostPets, hostPetLevel, hostPKs, hostDeaths, hostKills, hostRating, hostHuntSkill, timeHour, timeMinute, timeMonth, timeDay, timeYear, timeDoW, mapFlags, and countDown.

Hopefully that's enough to choke on for this release.

The scene MUSIC command takes an optional second argument which, if 1, means "do not loop"

MUSIC "victory.mid", 1

I'm not sure how useful this will actually be, but hey, that's YOUR job

During a scene ASK command, this icon appears in the lower left of the scene to let you know that you really are expected to type something. Only the scene host will see it.

This is to help distinguish between REAL questions and RHETORICAL questions.

And, just for fun, I also play the sound effect "ask.wav" at the start of the question. This file is optional, however, and not currently present in Evergreen or the standard theme.

Note: this is NOT a popup dialog box. But just in case people confuse it with that, I guess I will make it a player option.

Arguments 4 and 5 of the spells table are now under the developer's control.

Use '0' if you want an algorithmic value.

This could potentially break old worlds which were copied from Evergreen back before I changed all these arguments to 0 (quite awhile ago now).

Note that negative numbers have the same meaning as before, and that you cannot algorithmically set the 'damage' of an element 0 heal spell (i.e. works same as before, since you always had to come up with a value).

The official "ambient sound generator" is just too darn sophisticated for its own good, so it is inconvenient for me to open the API completely.

Instead, I have more or less given you what you asked for.

SOUND "filename.wav"

plays a sound one time, as usual

SOUND "filename.wav", 1

causes the sound to loop forever (until end of scene or something else shuts down all sound)

SOUND "", 2

shuts down all looping sounds.

Now, these are REALLY looping. The sound repeats as soon as it finishes, so if you need a delay between repetitions, you have to add silence to the wav file (ick, ick, yuck) Luckily, true silence will compress well in the wave file, so it will not necessarily make your file much bigger. Still, it's icky.

And sorry for the inverse definitions of loop between MUSIC and SOUND, it's just that the default values (0) were opposite to begin with. Oh well.

When you press the "Return to Game" button from the embedded browser screen, I now issue a STOP command for you automatically, so any scripts, animated GIFs, banner fetches, etc. should stop. (instead of, for example, continuing to popup advertising windows)

So long as they are learnable in the first place, you can now forget a spell you know (right-click on it and choose FORGET).

For example, you can NOT forget "Stun" since it is a quest prize and unavailable at the Spell Store (so to speak).

But I highly recommend setting your PC to a windows resolution greater than 640x480 (A dinky screen is about the only reason to forget a spell, IMHO)

If your script says:

N: Then a knock was heard at the door

The sentence will appear as "Narration" (those lines of text which appear in the main scene window itself).

You can also say:

NARRATION Then a knock was heard at the door

But I doubt that will be as popular.

If you type:

/r this is a whispered message.

It will be whispered to whomever you have selected on the Player List (MAPS list). It doesn't alter your official whisper target, so it's a convenient way to whisper a quick reply to someone who has just whispered to you, but with whom you don't feel like opening an official IM.

Argument 13 of the items table (Find Probability) can now have an extra 'dotted' value, as in:


The first number is still the probability (weird probability math unchanged). The optional second number is a monster ID. If this is non-zero, then only that monster can drop that item.

So, you can ONLY find that item after killing that monster (in that scene). But you are not GUARANTEED to find that item each time you kill that monster.

(this is independent of whether you also choose to sell the item in a store, which would probably defeat the whole purpose.)

You can now see people's language rating (PG-13, R, G, XXX, etc.) in the far right column of the MAPs list.

There is also a right-click menu option in the chat window to automatically mute anyone above a certain rating.

Mothers rejoice!

Each character class may now be given as many as 8 spells "at birth" via the "START_SPELLS" command in the LEVELS table.

World Developers rejoice!

Accepts either local or global arguments.

HTML "http://full.url/file.html"


HTML "myLocalPage.htm"

(determined by whether it begins with "http://")

Local pages are assumed to be in an option "HTML" folder of your world, as in:


You can have sub-folders in the HTML folder, if you like. Whatever you type is assumed to come right after the "...\HTML\"

And it comes with a new option to turn it off, if you feel at all nervous about it.

The noPK rule now simply means that you cannot incarnate with a PK character. To play on such a server, you will have to have a nonPK (yellow happy face) character

The allPK rule now means that you cannot incarnate with a nonPK character. To play n such a server, you will have to have a PK (red devil face) character.

This brings these rules more into alignment with the 'noMod' and 'noCheat' rules, which also simply prevent incarnation of inappropriate characters (as opposed to adjusting in-game limitations). It also allows detection of players who are mix-hacking. Feel free to report such players, as I would like to implement permanent banishment for all mix hackers.
* TABLE LINE PARSING ERROR CORRECTED. It turns out there was a significant weakness in the line parser. It was noticed as something odd in the Property Editor, but actually had other possible side effects (for example if you had a tab character AFTER the field, but BEFORE the following comma. Anyway, probably not worth documenting in detail.

The design goal for table parsing is that either a space, tab or comma can terminate a field, but only leading whitespace should be skipped at the front of the following field (it was also skipping "leading commas" which led to confusion when empty fields were present) I guess we didn't have that many empty fields lying around before the prop editor

It's not like it had any chance of working anyway :-)

And they're free. The mermaid gives you one on the way in, if you don't already have one.
* ELEMENT TRAINING CHANGE. You know how you get trained a bit in an element each time you cast a spell of that element? Well, now that bit of training is a bit more, depending on the level of the spell. Hence casting a level 9 spell will give you more training than casting a level 1 spell.

I should probably do something similar for hands, but they don't have the moral equivalent of spell levels.
* SPELLS TABLE ARG2 (ppCost) can now be set by world developer. (use -1 for can't be learned, 0 for 'set by algorithgm' or N>0 for the value you want to set manually.)
* Skin PAIN frame used during heal. (coz Josh said so. )

This OPTIONAL frame will be shown during magic attacks, if present. So if you want it to show up you need to have all these frames:


you MUST have all frames up to, and including, the magic frame. If you don't care, then leave your skin as it is and the [fight] frame will be shown for both physical and magical attacks, as always.

Currently, the Book of Skins is unable to preview the magic frame for you.

Again, this is OPTIONAL and does not affect existing skins, which continue to work as before.
* NEW MAP FLAG: 1024 (getting into the big numbers now!) "NO HIT"

This flag, when set, prevents a human from hitting any monster or pet (other than to heal it). When used in combination with flag 1, it makes a map where only pets can fight. (and where a player must depend on a pet to defend them)

This allows a scene to override the map flags for the duration of the scene. Whatever you use for 'n' will become the effective map flags for that scene. Setting "FLAGS 0" will restore the flags to the real map flags for the current map.

8/12/2001 ALPHA 61 INCLUDES:
* COMPATIBILITY: Excellent! But I had to change the packet format in an attempt to frustrate the recent rash of hackers, so A60 won't be compatible with earlier versions (your characters will be fine, you just won't be able to play with people running older versions).
* [bugfix] The "untamable" and "0% chance" warnings on spells should now only be seen by the person casting the spell.
* [bugfix] By george, I do believe I found the problem behind disappearing seeds (et al) and it only took about 8 hours and the consumption of 12,000 seeds to do it. Maybe more than 8 hours, come to think of it. Time flies when you're eating seeds.

Since this is probably the 10th time I have devoted a day to fixing the disappearing seed problem, I think this is officially the most horribly complicated-to-discover bug of all time, WoS-wise. Basically, in the end, it was the moral equivalent of a threading issue, only all the culprits were windows messages within a single thread. Let's hope this really is behind us now.

Second in line of horribility was the Disappearing buttons bug, which in the end I believe is due to the Windows function WritePrivateProfileString() disturbing the current directory on some versions of windows (but not all). Could well be an official bug (like the wacky versions of the rich edit control which were shipped with the early release of Windows 2000.) But I am now immune to such inconstancy on the part of Emperor Gates.
* Party members should no longer miss out on the early part of the scene. It used to be that a laggy connection could result in party followers not seeing the first few things which happened in a scripted scene when the leader entered it. This could be dialog, shop buttons, or even missing characters. This was due to some transport layer efficiencies (you don't get data for scenes you are not in, but there was a gray area from the moment YOU think you are in the scene, to the moment the MIX server thinks you are in, and packets during that window were never seen by the laggy client.)

Of course, it was great for bandwidth to not send you that data, so this is a small step backwards, bandwidth-savings-wise.
* new slash command "/clear" empties the chat window completely. Not a cheat. So finally you can gossip about the boss and delete it quickly :-) By the way, I increased the size of the scroll-back buffer a couple releases ago (so that all the data from the battle simulators could be seen). Hopefully this didn't create any new problems, but one must tread carefully with the rich edit control.
* 'confused' cheat/modders cannot accidentally hit/give to non-cheat players.
* Found some weird scene problems in parties (which seem to have appeared about the time I added cut scenes...) Anyway, I took the opportunity to address a lot of little party snafus (like making sure that scene clients see NPCs facing the same direction as the scene host... and other squirrely little facts). Please note: although never mentioned explicitly, it is a good idea to not have more than 32 frames (or so) in a monster/villager filmstrip.
* Bringing up a Web Panel no longer puts you into a weird unkillable mode, capable of soul capturing, etc. Park on a link or something before opening a web panel. The game continues beneath the panel.
* If you are on the web panel when someone PK attacks you, then the web panel will disappear automatically and you will be PK Attacked.
* However, if you are truly idle (haven't touched mouse or keyboard for a few minutes) you are still protected from being PK Attacked, as before.
* Character 'rating' now changes only if the fight occurs on a "ladder" map (Map flag "ladder", whether the server is a ladder server or not). In Evergreen, this means PK Arena)
* Cheat characters who accidentally summon pets while on-line will no longer lose their pet (they will just refuse to come out.) Freeing your pet, under such circumstances however, will cause it to be lost.
* %Rn macro no longer crashes with n=0 (which is a silly value to pick in the first place, of course..)
* Golden Souls No longer see Guilt Trip Page every 20 hours. They see it every 15 seconds! No.. just kidding, should be spared ever seeing it at all.
* If the person in question has disabled "send skins" you should no longer see the option to fetch their skin.
* Soul Diary Peppier, due to:

1.) Only loads full list of names the first time you use it. (d'oh!)

2.) Pops open immediately, showing old info about character, if any.

3.) When slow-pokey laggy ping response from character arrives, page updates with newest data. (this is most likely the delay you were most noticing before.)
* Failed spells are no longer ever magnificent
* You can no longer FLEE a fight until it is your move. The fleeing itself is still 100% effective. The message is the same as for a sticky fight scene: "you try to escape but are drawn back in.. blah blah blah"

This is an extremely gentle flee failure, but I expect to hear lots of bad things about it in any case.
7/23/2001 ALPHA 58 INCLUDES:
* COMPATIBILITY: Excellent! But all A57 Scavengers will be transformed into a new class called "x-treme!" (necessitated by the massive hacking of the original scavenger class). A *new* scavenger class is also provided for new characters to choose.
* [BUGFIX] The message "That would be a lag-kill" appears on some machines when you cast heal upon yourself (actually I would think when you did aything to a human, if it were going to happen to you at all.) Workaround seems to be to go to solo mode and cast heal on yourself and then return to multiplayer mode.
* [BUGFIX] I accidentally removed wisdom from your pet fleas... this sucks because even though I am re-enabling it, you probably had it drop all the way to zero and will have to re-learn it again from scratch. Sorry about that! This goes for several other very low level monsters (<10). On a related note, Goblin Catapaults were supposed to be untamable, and will be again....
* Error message when you try to tame the untamable. Also a 0% probability message if you have no chance of the spell working (the ones which fail on monsters above your level)
* Scavengers/Extremes (NO_GIFT classes, I mean) can give stuff to anyone they want, including pets. They just can't accept stuff from other players.
* SCENE STEPPER. Type "/stepper" to open the scene stepper (it will mark your character as a cheat, however). This lets you single-step through a scene, even setting breakpoints. It's a world developer thing. See more info in WorldDev forum.
* Miscellaneous Gratuitous Esthetic Changes.

For no real reason, I was suddenly motivated to clean up all the little window backgrounds. Josh might be pleased that I have gone in a very simple direction. On the other hand, it represents change, so it's bad, right?

I am tempted to include a "classic" theme for people who miss the old look too much.

Anyway, I just spent probably 12 hours re-doing the Soul Diary... again. And I am converting all the "books" to Yet Another Look. (Except Soul Diary and Book of Wisdom, which are jst wordpad and notepad respectively and will never look the same as everything else.).

You'll notice the Soul Diary is pretty different, and if you can't find the DELETE and SORT options, they are now hidden in a right-click popup menu.

Anyway, I think this is the definition of a thankless task, since NO one is happy in the end
* You can now EQUIP while the soul brother is jabbering away. You only have to wait for it to be your turn during an actual fight.
* CHARGE METERS RECHARGE FASTER BASED ON Strength and Wisdom. (wisdom speeds magic charge, strength speeds physical charge)
* NEW MONSTERS IN EVERGREEN. I added about 40 new monsters.. well maybe not quite that many, and re-placed almost all the maps using varying sized monster circles (new feature) and added terrain to some maps so as to encourage walking a path of increasing monster difficulty. Here is the 'suggested order' of maps, with their average monster levels

1.) Evergreen (1-50)
2.) Wyrm Cavern (30s)
3.) SpringWell (40s)
4.) Animal Kingdom (50s)
5.) Fort Rondtree (60s)
6.) Maze of Eternity (70s)
7.) Isle of Light (low 80s)
8.) Sea Kingdom (high 80s)
9.) Goblin Rock (90s)
10.) Rune Ruins (100s <-- new monsters)
11.) Inferno (110s <-- new monsters)

These are just averages as each map has a healthy range of monsters available with the easier ones closest to its doorway.

And you are, of course, free to play the maps in any order.

Anyway, I hope this is my LAST major revamping of monsters in Evergreen, and only minor tweaks from here on. I feel silly moving monsters around in the same world for a year, but this is really the first time they have been 'sensibly' laid out (mostly... there are still some flaws regarding things like ice creatures in Inferno...)

Anyway, the new monsters fill in all the missing monster levels, and add a bunch of new high-level monsters, so it's probably going to be a level-fest. Gob Cats are no longer top of your list, I imagine.
* NEW SILLY THING: HALOS. For people who just can't get enough of maxxing their characters, I present the "Halo"

Remember that little bouncing Halo on the Status Panel? That's real now. Click on it to open the Halo Point dialog, where you can buy ... Halo Points. (Each Halo Point costs 1,000 PP). Collect 1,000 Halo Points and you get a Halo.

Yes, that's right, a Halo costs 1,000,000 PP. One MILLION PP. And you can have up to TWO THOUSAND HALOS.

Is that enough maxxing for you?

No.. wait a minute... you can have up to two MILLION Halos. That's TWO THOUSAND BILLION PP. At 100 PP per monster bash, that's 20 billion bashes.

What's a halo good for? well, presently nothing but two things:

1.) Something to brag about.
2.) Something to cry over when your character breaks.

Well, OK

3.) Something to hack. Would it matter if I asked "please don't hack?"
* NEW MINI-QUEST. The Brother of the Gateway has a little job for you. It's baby's first quest
* MORE CLASS TUNING. Some hand/magic ratios have been fiddled to balance better, and the total HP has been increased to make PK battles last long enough to be interesting.
* HAND BONUS. You now will find that, all else bing equal, you wield more damage with a weapon of your class's hand (if any) than a weapon of a different sort. That is to say, a sword user will do better with the soul sword than with the soul bow, all else being equal. This also applies to enchanted weapons like staffs and books. A bow-user will do better with an enchanted bow than with an enchanted sword, all else being equal.
* Dying at level 100 (and dropping to level 99.9) should now update your max hitpoints correctly.
* Recovering 100 after dying to 99.9 should no longer give you a second crack at the ability point dialog. Actually, there is never an ability point dialog for 100-ness. 100 is a reward unto itself.
* Pet Needler is now available for sale from the Beastmaster in MacGuyver castle
* Color tables should no longer turn your pants invisible
* NEW FEATURE: Monsters can now be given a 'transparency' flag which makes them semi-transparenly ghosty ish. This is the 'unrealistic' technique of not drawing every other pixel of the skin.
* Book of Options lets you disable the deciLevel notifications if they bug you. (Remember, you're the only one who sees them anyway.)
* Battle Simulator is NOT broken, it just obeys the current map flags, so it won't work while on a noPK server unless you are in the arena. Go figger! Also a new battle command "/battle3" goes into more detail than you could ever hope for. The battle simulator might become a cheat command someday, so enjoy it while it's hot.
* Scavengers now start with equal training in all hands. x-tremes start at level 1 or so, new scavengers start at level 4 or so.
* COOKIE COMMANDS: SET, ADD, SUB, MUL, DIV, MOD now support %-macros. So you can say:

SET x, "%K2"
ADD x, "%K11"

and have it do the expected thing.
* No more WoS version hopping... I hope. In case you were never informed, this is considered 'hacking' albeit a pretty low-level form of it.
* Midget Monster scales sent to scene clients (now everyone can appreciate the midget eyebrawl)
* And hey, the Midget Eyebrawl can now be tamed. My gift to the masses.
* You *should* no longer lose a level 99 pet which you tamed while you were level 100 but can't control after you get killed down to 99.9 It won't battle for you (until you return to 100), but it won't run away either. This is untested, sadly, so my fingers are crossed.
* NEW SOUND EFFECTS. Theme designers will no doubt be both happy and sad that I have re-done a bunch of the sound effects. The good news is that you now have more control over theme sounds (since I don't use "sword5" for almost everything!) The bad news is you have to come up with some new sounds if you don't like my new ones:

FoundItem.wav <- when you find something
ListClick.wav <- click in list box
CloseDialog.wav <-- close most dialogs
OpenDialog.wav <-- open most dialogs
Disincarnate.wav <-- disincarnate
Incarnate.wav <-- incarnate
MessageBox.wav <-- most message boxes
ButtonClick.wav <-- main buttons along bottom

These next ones will be used if found, but I don't have any sounds for them yet (feel free to suggest)

pkattack.wav <-- when attack starts
camp.wav <-- when you camp
flee.wav <-- when you flee fight
fleeFailed.wav <-- if flee doesn't work
exit.wav <-- when you exit camp
walk.wav <-- when you click on map to move
fight.wav <-- when you fall into monster fight
link.wav <-- when you drop through link

In general, I replaced all those loud sword5 slashes with much softer and gentler sounds. I suppose I should make a 'classic' theme for people who were used to all that noise :-)

7/14/2001 ALPHA 57 INCLUDES:
* COMPATIBILITY: Excellent! However, if you are a world developer and ignored the warning last year to stop using 'joshTownies' and 'joshMiscellaneous0' in the MONSTERs folder (you should use 'joshTownsFolk' and 'joshMiscellaneous' instead).. well, today's the day your world gets broken. The patch will erase your copies of these files, so if you haven't already kept copies and placed them in your world's MONSTERS folder, then your world will not be showing the skins you expected.

Another compatibility issue is the moving of all your saved hero files. No longer will characters be stored in a "savedHeroes" folder inside of the world's folder. Instead, they will be saved inside a folder of the same name in a NEW WOS FOLDER: "save"

The first time you incarnate with A57, all your saved heroes for that world will get moved automatically to the new location (unless you tell me not to, in which case you're on your own!). No files will be deleted, and you really shouldn't have to do anything yourself. Just bear in mind that they live in a new home, and from now on it is the SAVE folder than you want to make backups of.

One more little thing. You will notice that your world diary will appear to have disappeared. You will find your original in your WoS folder "WoS\diary.doc" If you want to keep it, drag it to the new location, which would be: "WoS\Save\Evergreen\diary.doc" The change allows you to have a separate diary for each world.
* [BUGFIX] The %Cn command was printing the wrong class name. In that command a value of '1' should be the first class in your world's levels table (the class with the '100' prefix) Internally I count from 0, but I *try* to hide that from you here.

I also changed the little-known "/class n" command to use a value of n which was ones-based.
* [BUGFIX] Ooops. Turns out I was setting free some pets which didn't need to be set free. Ones that you had spent a long time on... Hope you kept backups...
* [BUGFIX] OK, now world developers really CAN set a monster's XP manually... honest you can! This time for sure!
* [BUGFIX] Should start playing proper music when you incarnate (used to always play main map music, no matter which map you incarnated onto.) I hope this doesn't break anyone.
* [BUGFIX] Eureka! I finally realized why the FIND button on the quest search dialog didn't seem to step to the next occurence each time it is pressed! (and it was suitable dumb, too!) So now those 4 buttons realize their full destiny. The first time you press, it starts from top of file, next time it starts from just after first hit. Unless you switch to a different one of the four buttons, in which case it starts from the top again. i.e. what I personally find convenient :-)
* [BUGFIX] Addressed Large Font Issues. There were some fonts which were not benefiting from my 'large font adaptation' code (I hate large fonts, and you should too). Anyway, hopefully fewer of my buttons will have text spilling out the top of them.
* [BUGFIX] It used to be that if your MIDI device was already in use by another application that WoS would keep trying to use it several times a second, resuling in a lot of lagginess (which would go away when you disabled music from the SOUNDs menu). Now it only checks back every 30 seconds or so. (so there will be that much delay before the music resumes once you shut down media player, or whatever was holding on to the MIDI device).

A57 includes 6 new weather types (as used in scenes and spells).

They are, in fact, the original 6 static and snow 'weathers' but with the ability to use any of the WoS 256 colors (instead of just white).

The new weathers are specified by a four digit number:

4xxx for light staticky snow
5xxx for med. staticky snow
6xxx for heavy staticky snow
7xxx for light snow
8xxx for med. snow
9xxx for heavy snow

where xxx = 000 - 255 and is a palette color index (one of the 256 'standard WoS colors).

(see World Dev Forum for example color indices) or click http://www.synthetic-reality.com/wosPalette.gif
* NEW WORLD_DEV FEATURE: Each world has a separate "World Diary" now. As a world designer, you should provide an initial diary for your players, even if it is blank. Use wordpad to make a file called "blank_diary.doc" and place it in your world's folder. It will then be used as the starting diary contents for a new player (not a new character.. diary is common to all characters used in a world).
* NEW WORLD DEV FEATURE: The HANDS table can now have an optional 3rd argument - a sound effect to be used as the default sound effect for all weapons of that hand. If you leave it blank it will pick a sound at random (as it used to do). If an item has a sound called out for it, the item's sound takes precedence, of course.
* NEW OPTION: "Hide spells I cannot learn"

This defaults to ON, so you'll have to turn it off to get back to the old behaviour. When on this hides all the red-X spells in the Learn Spell dialog. Good news is that there is less to scroll through. Bad news is you can't window-shop for future spells. It's your choice.
* NEW OPTION: "Confirm Link Images"

This is for world developers. (I default it to ON, since that seems to be the 'easiest' mode for a new developer. Old developers will have to turn it off if the new behaviour bugs them.) Basically, there was some confusion when adding links about the need to have opened and selected an OBJECT before actually clicking to add a link. With this option on (and in an emergency), I pop up a little object image chooser each time you click to add a link. It's actually kind of nice, so I think I will use the feature myself. It helps you ignore the OBJECT EDITOR a bit longer.
* PERFORMANCE ENHANCEMENT. Some background threads now consume less CPU than before. Perhaps you'll notice. Perhaps not.

These can be used in casual chatting, or with fancy cookie math.

%Rn generates a random number from 1 to n (where 'n' is between 1 and 30,000). So %R6 is the equivalent of rolling a single six-sided die, resulting in 1 through 6 as a result.

%En returns the item ID number of the piece of equipment equipped in that slot (using the class numbers from the items table, so:

%E10 yields ID number of current helmet

Since there are 8 different slots for the right-hand equipment, a special form is provided:

%E0 yields the ID number of the currently equipped right-hand item.

The %En macro is pretty unenlightening unless you use it with cookies, as in:

SET handItem, %E0
1: I see you are equipped with the %I#<handItem>
TAKE I#<handItem>
1: Not anymore!

I'll let you puzzle that out on your own. Hopefully it works

To soften the blow of making "/monster" a cheat, I have brought it back... a little. Instead of it being on constantly, it now pops on only while you are hunting. And instead of showing you everything, it shows you more information based on your hunting level and whether or not you have fought the monster in question in the past. By the time you reach hunting level ... 9 (I believe), you pretty much get what you had before (I mean the equivalent of "/monster") only you only see the information during the hunt itself.

So, the levels of hunting skill (without telling you the explicit numbers, since they might change are)

- see nothing
- see a question mark
- see just the monster skin
- see the monster skin and name
- see the monster skin, name, and level
- see all that and the range circle.

The monsters appear to walk around a bit which hides the true center of their range circle. The higher your hunt level, the smaller the radius of their wandering (by hunt level 9 they are pretty much right on top of their range-centers)

Also, the higher your hunt level, the further away you can see monsters while hunting.

I have to warn you that this feature is cool enough that I might be forced to make it a Golden Soul perk. I need money for rent, you know.
* NEW OPTION: Enable Monster Radar. On the off-chance that you hate monster radar, or it lags your PC to use it (or it has a horrible crashing bug), I have added an option to turn it off (in the Book of Options).
* PETS NEED LESS FOOD. I slowed down the rate at which food leaves the pet's tummy (by quite a lot, actually. A full tummy should last 4x longer as a result). Other qualities still age at the same rate. Hope that doesn't upset anyone. (also, your pets get a bit more exercise and happiness just from your calling them out in battle).
* SCENE COLOR TABLES. See description of color tables below, but you can also apply a color table to a scene (by adding an extra, optional, argument to the end of the SCENE command). It colors ALL characters in the scene (actors, monsters AND heroes), so you can darken characters in a cave scene, tint them in an underwater scene, etc.

This changes the color table in the scene and applies to all characters already in the scene (people who drop in later will see the original scene color table though... sorry.)

The arguments are possibly confusing, so check this out:

COLOR 15 <-- set all characters to colorTable 15.

COLOR 1015 <-- apply colorTable 15 to existing colors... So, if you already dimmed them once, this will dim them some more.

COLOR 0 <-- restore character colors.

COLOR 2015 <-- Apply color change 15 to the background jpeg (and this almost never looks nice, by the way, but dimming isn't TOO bad.) And this is always 'another coat' as it were. So you can dim the background

COLOR 2000 <--- restore original background.

So, with these you can sort of do 'fades' in your CUT scenes.... sort of. fade outs at least.

Documented in monsters.txt, you can add Yet Another Dotted value to argument 3 which sets a monster's 'color translation table'

arg3 = 1.2.3 means scale 1, flags 2, colors 3

Each color table (0-255 possible, but only about 30 implemented) swaps around the order of the standard palette to achieve a color shift to an existing monster skin, without having to draw another skin file (thus saving 25K of download space, at the expense of artistry). However, most of these swaps look pretty good. It's up to the world designer to be prudent, of course.
* NEW SLASH COMMAND "/pal N" where N is 0-255 lets you try out a color table without restarting WoS or reloading the world. All new monsters and actors which enter the scene will be translated by the specified color. table 0 "/pal 0" returns you to the normal colors. Note this overrides any colorTable settings you have in your world and ALL actors/monsters will get this manually applied color table.
* NEW ARGUMENT TO ACTOR COMMAND: color Table is added just past the starting Y location. It's optional (and it's absence means 0, which means 'no translation of colors') so you can ignore it until you want it.
* NEW SLASH COMMAND "/dist N" intended to help world developers plan their monster placements. (though players could use it to check the hunting-areas of various monsters, I 'spose... I'd still like to have a nice GS feature on that subject someday...) Anyway, N is a map number (0- whatever), or -1 for all maps (be prepared to scroll). It just shows monster distribution by level and by element. It doesn't give you any position information (the monster placement editor already does that for World Developers). This command only works for 'placed' monsters, not monster groups or monsters in scenes.

Well, really it's more than one button, but it's pretty slick. This is for world developers only and you access it by the "/version" command (you have to version your world first). If your world is "/versionned" then you can push the PUBLISH button on that same dialog. It automatically creates the ZIP and INFO files for your world, archives them to a folder based on the version number, and prints a page of instructions to follow to get your world published to the masses. It's cool.
* NEW QUEST COMMAND: 'HOST' or 'H:' lets the world designer put words in the mouth of the scene host, as in:

2: Hey, %1, I am actor 2.
2: %1, say 'Kick Me!'
H: Ok, um, Kick Me! <-- appears to come from host.
2: Don't mind if I do!
FIGHT 255, 255, 255
* FASTER MIX SERVER LISTS. If you are a server hopper, you should experience fewer delays now as you return repeatedly to the MIX server list screen.
* PK ATTACKERS START AT LEFT OF SCREEN. Or at least I hope they do. The goal being for the attacker and members of his or her party to appear on the left (like monsters) while the victim (and their party) appear on the right. This is tough to test in advance... my fingers are crossed.

There are now several cookieMath commands which modify an existing cookie in some way:

ADD cookieName, "3" <-- add 3 to cookie
SUB cookieName, "5" <-- subtract 5 from cookie
MUL cookieName, "6" <-- multiply cookie by 6
DIV cookieName, "11" <-- divide cookie by 11
MOD cookieName, "10" <-- modulus operator (remainder from integer division)

And, oh heck, I will have these set the IFc result, as if you had followed each by a COMPARE #<cookieName>, "0"


SET A, "5"
SUB "5"
IF= @AisNowZero
IF> @AisNow>Zero
IF< @AisNow<Zero

* NEW QUEST LANGUAGE COMPARISON COMMANDS. Fairly simple and brain damaged, I document by example:

IF= @theyAreEqual
IF> @AbiggerThanB
IF< @AlessThanB

The COMPARE command subtracts B from A and saves the result in a special place which doesn't get munged until the next time you use the COMPARE command (or one of the MATH commands: ADD, SUB, MUL, DIV or MOD.

The three IFx commands test that special result and jump to the label if the result was as indicated. So your IFx command doesn't HAVE to immediately follow the COMPARE command, though I suspect it generally will.

Arguments A and B are interpreted as signed decimal numbers. For now you are stuck with constants and cookies. So, you can do:

COMPARE #<cookie>, "2"
COMPARE #<cookie1>, #<cookie2>


But you can NOT (yet at least) say:

COMPARE I143, "3"

but I am walking slowly in that direction.

Details in "levels.txt" but this lets you give up to 8 items to a newly created character. (Each class can start with different items).

Details in "levels.txt" but this lets you give up to 8 tokens to a newly created character (each class can start with different tokens). These might be the tokens you use to lock links on a class-basis, for example.

This command lets you define what an acceptable party member should look like, and causes players who do not match that condition to be kicked from the party. A world designer would use this command just before executing a GOTO LINK command where only qualified people were allowed to go.

As in:

PARTY "C5+T23"

This would kick anyone from the party who was not class 5 or did not possess token 23. The conditions are the same as for the IF command, but are evaluated AT THE CLIENT. (cool, huh?) I mean each individual player is checked for their OWN copy of token 23, rather than just riding along on the scene host's token 23 (as the IF command does).

To stay in the party, the condition must evaluate to TRUE for you. Note that if you don't use some command like GOTO LINK after this, you're sort of wasting it. It won't boot people from the scene who are not in the party after this, so unless the party moves on to a new location, you won't notice right away that anything happened.
* NEW DEATH BENEFITS. When you die, you still lose half your PP. However, you no longer lose half the XP earned To Next Level. Instead you lose *less* XP to drop you back to the beginning of your current deciLevel. deciLevels (described below) are 'safe' and (except for one case) you cannot drop down to a lower deciLevel.

Woo hoo, your character can now reach level 100 (100.0 to be exact). This level is unique however, in the sense that if you die at this level, you DO drop a deciLevel (to the start of 99.9) and you have to re-earn (from scratch - previously earned XP doesn't count) that final deciLevel. If nothing else, this gives highest-level players both something to do, and something to fear when entering into battle (it just wasn't right for them to have NO risk.)

Every other deciLevel is safe, however. (fingers crossed, at least!)
* NEW WORLD OPTION: Token-Locked Links. Hold on to your hat, the axis of the earth must have shifted! The link editor has a new option (I am documenting a bit in an advance here) so you can assign a token number to any link (0 means no token required, and is the default). Without that token, a character (or more accurately, the leader of the party) will not drop into the link. You CAN drag your friends through the link by leading the party. The link still shows up on the map, by the way (though I might change that, since you get absolutely no explanation as to why you can't drop through it without the token... Yeah... I think I'll make the link name and 'white box' invisible if you don't have the token. But the link itself will be visible... or will it? Oh decisions, decisions... and I don't want to provide all 16 option combinations.)
* NEW MONSTER OPTION: Alignment. This is no doubt going to confuse the world, either with its subtlety or its inadequacy . You can optionally append an alignment (name, not number) to the monster's ELEMENT (argument 4 of the MONSTERS table)

For Example:

"3" <-- monster is of element 3
"3.evil" <-- monster is of element 3, alignment 'evil'

As a world designer, your alignments can be anything you like (ascii only, less than 15 characters, no spaces or punctuation, please).

Exactly how alignments will be used is a little in the air, but to meet what I think is Merlin's big need at the moment, I will update at least one cookie with the alignment in it. For example, in this case, a cookie would be created called:


And it would automatically be incremented each time you killed a monster of alignment 'evil'

Some of your monsters might be 'evil', some might be 'tasty' and some might be 'goofy' while the rest are not assigned (no cookie generated for the unassigned ones).

#<KM.evil> would be the sum of ALL monsters killed of alignment 'evil' (e.g. 3 BWs + 6 Imps = 9 total)

* NEW ITEM OPTION: Token Required To Equip. Details in the ITEMS.TXT file (argument 5, minimum level required). You can now optionally add a token requirement, hence:


Means "must be at least level 12 AND in possession of token 45" before you can EQUIP this. (and, I hope, before you can use it on yourself as well, so maybe it will work on potions, too.)

This obviously has many uses, and I don't know why I resisted it for so long. (Loric gets the 'last straw' award). If you give each of your character classes a unique token, you could then make some items only equipable by those classes. Or.. if you set all the 'wooden' armor to require one token and all the 'metal' armor to require another, you could then pass those tokens between your classes such that some guys could only use wood, others both, etc.

See the START_TOKENS and START_ITEMS features for getting your classes off to a good start.
* [CRASS $ THING] Another minor Golden Soul Perk, the list of MIX servers now supports right-clicking on server names to pop up a little menu of options. It only works with the new version of the MIX server that ships with A57 though. I hesitate to say what is in that menu, lest you think it is cooler than it really is. But one thing you can do is 'rate' servers (no rating, love it, like it, and hate it) and get a little icon next to the name of any server started on that same PC. Again, a little perk of golden-ness.
* [CRASS $ THING] Yet another GS perk to be announced after A57 is released. Sort of cool, but not critical for the enjoyment of the game. I'd document it now, but it might turn out to not work until A58. But it's something people have asked for, so I hope to sell at least 2 GS's off of it
* [CRASS $ THING] CHATTING WITH PETS. Golden souls will now be able to have small conversations with their pets. With emphasis on 'small.' Stating your pet's name, while in a scene, will call that pet into your scene. As in:

"Bitey, help me!"

Your pet's name must be the FIRST text on the line, so:

"Help me, Bitey!"

Will have no effect. If you follow the name with a comma, then the rest of the line is interpreted as a command (the 'come into the scene please' command is inferred and all commands will draw the pet into the scene)

The only real *command* at present is:

"Porky, run!"

Which tells your pet to run away. (Porky being an example pet name of course). Everything else you say to your pet just calms it and makes it a bit smarter. Also, if you're in a scene and you type your pet's name, it will try its best to enter the scene with you (even if only to run away because it is mad at you, so watch out!)

You can go ahead and call a new pet into the scene without making the first one leave (it will leave automatically).

I think I might let pets with enough wisdom talk back in english occasionally, depending on their mood...

"Bitey: quit bossing me around, you %3!"
"Porky: I love you, %1!"

But, for now, they only growl a little in response to your talking to them.

Anyway, this meets my criteria of being of no real use to the player (hence a non-golden-soul hasn't really lost out), but is slightly entertaining and new. Plus it's probably all buggy! So it's a perfect perk of Golden Soulness

Oh, talking to your pet calms it, and makes it a little less stupid (like playing frisbee with it.) Summoning it to battle exercises it (a lot more than before), and the pet will now talk back to you a little, though not as wonderfully as I would like. (secret plan: put in an 'eliza' program for pets with high wisdom)

In general, I would have to say pets are more easily cared for in A57.
* [CRASS $ THING] The slash command "/monster" is now a cheat... unless you have a Golden Soul. Sorry, it was just too tempting to resist.
* NEW CHARACTER CLASS OPTIONS. Details in levels.txt comments, but these can be set on a per class basis:

NO_GIFTS - means class cannot accept items or gold pieces from other players (but can get them from scripts)

MAX_WALLET nn - sets the most this character's wallet can EVER carry. This only lets you lower the normal game maximums. It's a flat limit which affects all levels. Set it to 0 (zero) to deny the class the use of gold. (no shopping!)
* EVERGREEN HAS TWO NEW CLASSES: Beggars and Scavengers (aka Spartans). Scavengers cannot use money, and cannot accept gifts. Beggars can carry a few GP at a time (a couple hundred), but can accept regular item gifts.

If you throw more money than a character can hold, the excess is simply lost.

Scavengers have a fairly high ratio for both hand and magic (since they really have to work hard), while beggars have a 50/50 split.

These are 'novelty classes' and not to be considered 'balanced' relative to the other classes. It is expected that they will be weaker than the other classes, though a Spartan might be pretty tough if he or she manages to find some good equipment lying around. Please note that without money, your access to seeds is very limited.

You can thank (or blame) F'nok for this concept.

As promised, the book of skins is now the ONLY way to pick a skin for your character. The only noticeable side effect of this is that you auto-incarnate right after completing your new character definition. I suspect this is a good thing in general, though it defers understanding of the INCARNATE button until the second time you play, which will probably confuse a couple people... But overall, I suspect fewer people will be confused in the long run.

If a world designer's ACTOR command points to a missing skin file, or refers to a pose number not present in that file, the engine will substitute something legal instead of showing nothing (or crashing). So worlds depending on 'joshTownies' should still work, in general.. you'll just see a lot of ghouls.
* NEW OPTION: Remember Window Positions.

This defaults to ON which is life as usual (windows pop up with the size and position you last set them to). Turn it OFF (and then restart the game) and windows will appear with their default size and position the next time you invoke them. This is mainly to help you recover from weird window size changes.

I also changed the way window size restorations were handled, so hopefully these snafus will no longer occur in the first place.

A released pet (or one that escapes into the scene, when called while cranky enough) now remembers who enslaved it and exclusively battles that player. Such a monster also pays no XP or GP reward when killed.

Josh has provided us with another excellent pet, as well as a few more perfect pixels in all the other skins :-)

Orbmaster has contributed another four wooooonderful original composition MIDI files. Very atmospheric. Thanks to all the contributions, every map of Evergreen now has its own original composition. Amazing! Thanks! Also I switched to the 'new music.ini' technology (now a year old, of course!) so I don't have to rename the midis to the name of the world, hence you get the glory of the author's file name, PLUS the installer is smaller because I have no duplicate files with different names...
* COOKIES (string variables for world developers).

These are variables stored in a hero's .INI file. Only the scene host's cookies are used (so a SET command only sets a cookie for the host).

To set a cookie, say:

SET cookieName, "cookie string"

To use the contents of a cookie, say:


To add a number to a cookie, say:

ADD cookieName, "amount to add"

For example:

SET insult, "%3"
SET info, "I am a level %V, %C"
1: Hey, #<insult>, you said: #<info>
SET loop, "5"
ADD loop, "-1"

The #<cookie> things are 'expressed' before the script command line in processed, and can be present in any script command argument

SET itemNumber, "45"
1: This is item %I#<itemNumber>

which 'expresses' to:

1: This is item %I45

cookie names must be alphanumeric only, with no spaces or punctuation in them. While they are not expressed recursively, you can do some basic indirection, as in:

SET cookieName, "favoriteColor"
SET #<cookieName>, "Blue"

1: your favorite color is #<favoriteColor>


1: your favorite color is Blue

I have added a single extra digit of precision to your level. So now you go from level 1 to level 1.1 to 1.2 etc up to 100.0 (not 100.9) - yes, level 100 at last. Did you feel the earth move?

You only see your deciLevel when looking at the STATS panel for your own character. You have no idea as to the deciLevels of other players.

Only your whole level changes really do anything, so the situation is pretty much identical to before where that goes. For example, you only get Ability Points when achieving a whole level, you only announce to other players on the server when you get a whole level. Only your whole level is used to meet level limit requirements on weapons and such.

The TNL meter still shows XP required till next whole level.

It's sort of like a little kid wanting to say "but I am eight AND A HALF."

You do get a little message and sound effect locally when you go up one or more deciLevels (which is the whole idea.. a little reward feedback in the middle of the doldrums.)

When you die, rather than losing half the XP earned to your next whole level, you instead drop down to the start of your current deciLevel. (But you do still lose half your PP.)

In general, when you die, you now lose LESS xp than before. And rez-killing can only knock you to the start of your deciLevel (not all the way back to your whole level).

The only exception to this is level 100.0 (the shiny new super cool level). Dying while 100.0 will drop you to 99.9 So a top level player now faces a modicum of risk. 99.9 is 'safe' however, so the risk ain't much.
* ADVERTISING CHANGES. Well, the BAD news is that you will now see that stupid ad of mine every TWENTY hours instead of every FIFTY hours. But the GOOD news is that if you get a GOLDEN SOUL, you won't have to see it all those 'catch up' times. I mean, if you already have a thousand hours, you'll only have to see it once to get caught up (and then again every 20 hours after that). Of course, if you don't have a golden soul, and you have a thousand hours, then you're going to be seriously bugged catching up on your ads. This is another good reason not to use speedHack, by the way
* NEW MIX SERVER (1.10) with several enhancements, including:

> Password Protected Servers (you can use this either as an actual password, or as a "please say YES if you are over 18" sort of thing.) The player must, in any case, type what you set as the password, before they can interact on your server. Presently you won't know a PW is required until you connect to the server (obviously, it would be better to be able to filter locked servers from the main list)

> Generally more attractive button layout. I had been trying to keep the window super small before and got in the habit of cramming buttons in willy-nilly. The buttons are still teensy, but slightly less hard to find.

> New option: Sernum Required. In case someone connects without a sernum... well, they can't interact.

> Option settings are now remembered for the next time you run your server.

> 'Ban Browser' lets you see who all you have banned in the past (and forgive them without having to remember their soul ID). This was actually quite nice as it made it easy to purge about a hundred expired banishments which were just clogging things up.

> 'expert IP thingy' helps people with multiple network cards publish the proper IP address. You still can't simply enter the IP address of your choice (after all, you are not really the one in control of that, according to mister Internet, and the point is to let people find you.) However, you might have both a modem dialup connection AND a lan-based connection to the internet, with two different IP addresses. MIX might be guessing incorrectly from your point of view (left to its druthers, MIX will always choose the 'newest' interface, which usually is the modem, since it generally gets dialed after the lan interface has already been established. SO, what do you do?

1.) Let it fail first, make sure you have a problem. Look at the IP address that MIX claims to be "listening at", say it shows "" (four numbers separated by 3 periods. Ignore the colon and port number bit at the end).

2.) Make a command decision: "I *know* that's not the right address!"

3.) look in your MIX folder (for most of you, that's inside your WoS folder) for a file called "preferences.ini" open it with WordPad.

4.) Re-read my instructions, I said WORDpad, not NOTEpad. Notepad is confused by the line feeds.

5.) Look, how many times do I have to say it? do NOT use NOTEPAD for this, OK?

6.) Anyway, I told you this was an expert feature, so here goes... add, if necessary a new section called [wrongIPs] and then add your known-to-be-the-wrong-one IP address and set it equal to "1" as in:

[wrongIPs] = 1

7.) If you are a world-class nerd with lots of interfaces, you can add additional known-to-be-wrong IPs to this list (though I strongly suggest that you let MIX display an IP address before you bother to disqualify it.)

8.) If you are clueless and try to disqualify the only interface you've got, I will patronizingly ignore your request and use it anyway. This is the big EXPERT feature (i.e. no tech support). Good luck, brave code-warrior!
* NO REWARD FOR CORD-PULLING. If you lose your connection in multiplayer mode, you stop being able to target other human players. So if you pull your modem out of the wall to trap the soul of another player in your scene, you can no longer earn rating points for killing the ghost that doesn't fight back.

At least that's the theory.

And sorry it took me so long to understand this (I don't have a modem, that's my excuse! and I would never think to pull my DSL cable!)

Now, if the other guy pulls HIS cable, then you can still pound on him, probably. Which is to say the situation there is the same as before, whatever that means. No improvement, but not worse than it was.
* MONSTER PHYSICAL ATTACKS NUDGED UP A BIT. They are still weaker than their magical attacks, but a bit stronger. You will notice it most as a 'naked' level one player where the monster attacks will be significantly higher. But once you put on some clothing it doesn't look all THAT different and the difference tends to get less the higher you go. I plan to raise it more over the next few releases until everyone screams uncle! Uncle Dan! Make it stop!
* FASTER WORLD MENU SCROLLING. Well, the number of available worlds is increasing, so scrolling through them one at a time has become tedious (especially once Evergreen is no longer on the first page of worlds!). Anyway, so now I step through them 3 at a time. I mean I show 4 at a time, but when you push to scroll I move 3 up/down the list instead of just one.
* GOOFY MENU CHANGES. Probably the less said about this the better. I don't need your abuse!
* IMPORT ZIP FILE ENHANCED. We have a growing problem with hosting world files on free web servers. They don't like WoS fetching the ZIP file automatically because they think you aren't seeing their advertising (of course, generally you ARE seeing their ad, but they don't know that). So they add extra javascript stuff (slowing down everything) to make sure you can only fetch a file by clicking manually on one of their links. When WoS tries to fetch automatically, instead I get a little HTML error message file.

So, in A57 I 'detect' this has happened (not very sophisticatedly, I admit. I just assume it failed if the file I get is too small to realistically be a world ZIP file). If I think this is what happened, I pop up a message explaining what you need to do, which is:

1.) read the web page you are looking at and click on the "download the ZIP" link which the world designer will have placed there, knowing that their web host has this issue.

2.) let the browser download and save the ZIP file to disk (while you look at the advertising).

3.) REMEMBER WHERE IT SAVED IT (Desktop is always nice)

4.) Push the IMPORT button WoS is showing you all this time. And tell WoS where you saved the ZIP file. (WoS will prompt you for the file path, but if you leave that blank it will bring up a windows file browser instead)
* NEW SLASH COMMAND "/mags" This calls the "magnificent attack" routine one MILLION times and then tells you how many mag hits you got. You should see about one in 50. This is for you math-skeptics, though I doubt it will convince you: "But I got heads 4 times in a row, that PROVES heads are more likely than tails!"
* NEW SLASH COMMAND "/pwd" This tells you your 'current working diectory' and is intended to be used by people with disappearing buttons. It should show the path to your WoS folder and my theory is that when your buttons disappear it will instead show the path to somewhere else, and you'll recognize that path and tell me and then we'll know what is changing the path. But since this version also no longer depends on that path (for the most part), you may never see your buttons disappear again, so this command might not be useful. Well, it will still be good to know, so after your buttons WOULD have disappeared, see if the path has changed anyway :-)

This is an attribute for character classes. This lets you set the 'first incarnation' location on a per class basis (so all your elf class characters start off in Elf Town, etc.) It's optional (otherwise everyone starts at link 0 of map 0) and having multiple start points puts the onus on you for those start points to exist and make sense. A new player generally needs access to informatin and resources which you will need to provide at several locations (possibly) to make it make sense. If you specify a map or link which doesn't exist, I don't promise to behave gracefully. In fact, I will probably crash. Documentation is in "levels.txt" But basically you just add something like:


(start on link 12 of map 5) in the front of each character class you don't want to be born at (0,0).

This only affects the first incarnation, of course. subsequent incarnations take you to wherever you left off (last link visited).

And I still lack the ability to incarnate into a scene, so you'll appear on top of the link specified.

5/29/2001 ALPHA 56 INCLUDES:
* COMPATIBILITY: Excellent! Except that you can no longer use skins which contain certain wacky characters. (Currently the wacky list is just [, ], and =.) But the writing is on the wall, so to speak) If your favorite skin has a wacky letter in it, just rename it without the wacky letter and you'll be de-wackied. Long time players will have heard me whine about wacky letters in skin names for a long time now. Of the 4000 skins I have collected, surprisingly few have these characters in them. But enough do that I suspect SOMEONE out there is going to feel hassled about this. Oddly enough this only affects your ability to pick a new skin for yourself. If you are already wearing a wacky skin, you'll squeak by for awhile with no problems. Still... expect more letters to become wacky over time, perhaps.
* [BUGFIX] The MP meter on the Train Pet dialog was not updating in real time (it updated only when the HP changed, not when just the MP changed). Hopefully it works better now (though it might be off a little when you're not the scene host)
* [BUGFIX] I found the long lost reason for why you sometimes showed up with the adventurer skin when entering someone else's scene. (or at least one way). If the scene host doesn't have your skin, he appends a '*' to the end on his map list, and unfortunately, I pass that back to you (and everyone else) and it gums up the works. In case I didn't already establish this, using a * in a skin name would be a bad idea in general and soon a VERY bad idea... For now I am removing the * entirely. How many people knew that * meant you didn't have the skin yet?
* [BUGFIX] The doublespeed option was completely broken in A55, so no items could give you doublespeed... Sorry about that. Gonna mean for slow walkin' until something more significant forces a push of A56.. (pray for a bigger bug!)
* [BUGFIX] The guidelines which magically re-appeared in the Book of Skins are gone again now :-)
* [BUGFIX] Element training.
* [BUGFIX] Being in the Well no longer prevents maxAFK timeout.
* [HACKFIX] No more illegal hand and magic ratios.
* [BUGFIX] TAKE command, no longer GIVEs when your pocket was empty.
* [BUGFIX] Invalid actor numbers should no longer be as incredibly dangerous as they were. Actors 0-9 should work now, but I'd avoid depending on actors above 7 until you're sure everyone has A56.
* [BUGHUNT] I'm still trying to track down why some people have their buttons disappear after awhile. In THIS version, when your buttons disappear, see if they are replaced with little green squares instead. (And let me know).
* [BUGFIX] Skin xfers were suddenly no longer resumable from where they left off, and always starting from the beginning again (very frustrating if you have a perennial dropped packet problem). While I understand why it broke (new world versioning), I can't swear it is fixed until I see it in action (requires both sides to be A56). Fingers crossed, it IS fixed in A56.
* NEW FEATURE: In Your Face QuickStart Popups. The quickstart instructions will now automatically pop up each time you run the game, for the next 3 times you run the game. You will see them just after your first incarnation that day. (that game run, I mean). So you will see a total of 3 of these unexpected popups in your entire life. Pretend you're a new user, since that's normally who will see this.
* NEW FEATURE: Skin Categories. For now, this is just on the book of skins, but soon enough the book of skins will be used to pick the skin of a new character. Use right-click in the category window to add a category, then DRAG skins from the skins list to the category of your choice. Click on a category to see only the skins you put in that category. Or click on "All Skins" to see.. um.. all skins you have.
Categories are a personal choice, and your categories are not seen by anyone else. The skin files themselves are still held all in one folder (the SKINs folder, of course). But that folder now gets a .INI file for each category you create.
The "List Uncategorized Skins" command is incredibly slow (if you have 4000 skins, I mean), but will be useful to you when organizing your categories over several sessions. BEar in mind that skins with funky characters in them ( '[', ']', and '=') are not categorizable, so it will confuse you when you THOUGHT you already categorized them and they keep coming back.
This is why I no longer let you select such skins to wear. But I keep listing them to remind you to either delete them or rename them.
The BoS is now a more 'standard looking' dialog (black and yellow etc) and has a couple new features in addition to the category stuff. Double-click on a skin name to open it with your favorite bitmap editor. Point in the preview area and see the credits as long as the mouse stays in the preview. In fact you only see the credits when you point, so that you can get a clear picture of either the credits or the skin itself.
* NEW FIGHT FEATURE: '*' As a world designer, in the FIGHT opcode, you used to have to choose between "fight the monsters from this part of the map" or "fight this specific list of monsters" But NOW you can have both. Just use "*" to mean "the usual map monsters" So:
FIGHT *, 1, -2
Would mean to fight the regular monsters from this area (same as having pushed the HUNT button) PLUS an evil monster 1, and a friendly (mercenary) monster 2.
If you fiddle with the FIGHT command(s) in your world's SCENE 2, then you should be able to have all sorts of interesting fights in response to just general HUNTs (not specific scenes, I mean). For example, a mercenary, or bounty hunter, or whatever who appears in regular hunt scenes based on randomness, tokeness, levelness, cookieness, etc. Only one * is necessary, additionals are ignored. The * represents a group of monsters, not an individual monster.
* NEW FEATURE: PASSWORD PROTECTED CHARACTERS. You asked for it, you finally got it, you'll be sorry you asked for it :-) Type "/password" after incarnating to set or change the password for your character. Thereafter you will need the password each time you incarnate that character.
CASE IS IMPORTANT and there is no way to recover your password if you forget it. So tread carefully..
To remove your password, type /password again and leave the edit boxes empty.
p.s. Give this feature a REAL GOOD WORKOUT on a character you don't care about. If it turns out to be buggy in A56, I don't want you to have ruined too much in the process.
* NEW FEATURE: WEAPON ELEMENTS. If a weapon is set to any element but 0 (and I hope you followed the A52 warnings, world designers, to set all your elements to 0), then the weapon will be 'of that element.' For example, a "Fire Sword" and will be most effective against the opposite element. The effect is pretty pronounced... so fire hits water about 50% better. fire hits fire about 90% worse. So an element-weapon is actually likely to be worse than a regular weapon, except when used against the proper element. I will, of course, have to avoid providing a weapon which makes it even easier to kill catapaults, of course. In fact, evergreen has NO elemental weapons yet, so that answers that! THis is for other world designers, not me I only tested this for the regular elements (1-7 in this case, since 0 is not legal here). In theory you could bind a weapon to one of your chaos elements, but it probably wouldn't be very exciting. Same as death, I guess.
* WORLD/THEME CAN OVERRIDE "misc32.bmp" art file. This lets you change the little teensy campfire and clashing shield animations shown on the main map.
5/22/2001 ALPHA 55 INCLUDES:
* COMPATIBILITY: Marginal! You might see a modder warning when trying to play worlds other than Evergreen until the world author updates their world to be compatible with A55. (See world Dev forum for info).
ALSO your wallet and pockets will get smaller, so if you are carrying more than you need in gold or items, get rid of it before upgrading (or you'll lose it completely). I mean, buy some stock, and feed your pets your spare armor. See below for new portage limits.
[BUGFIX] Weird mis-use of the "mirror" skin no longer causes your Equip/Pet screens to crash you.
[BUGFIX] Apparently most of the stuff I put in before to prevent the use of hacked pets was, in fact, not even working. Silly me. It should work better now. You *will* lose your pet BWs now...
* SKIN UPDATES BY JOSH. Josh has been up to his zero-defect skin tweaking tricks again, so expect your old favorites to be even less old and even more favorite. (If you're like me, you might want to archive the older versions since, for example, the new assassin rocks, but the old assassin rocked, too...) But don't let Josh see you hanging on to an old version!
* DEFERRED LOADING OF IE. In theory, the embedded copy of IE won't get loaded until just before you use it. This might speed up your load time and/or performance. Until you use the web, then you will have to wait longer. You'll probably see some ugly red "could not load browser" window until it gets loaded. My experience with IE tells me this is a somewhat risky change, so please let me know if IE is now broken for you (and wasn't before, please).
* NEW QUEST (assuming I don't forget the link file this time!). This makes the 'cold wolves' and the 'lost dudes' into a real quest, plus an old friend has something new to say...
* NEW PORTAGE LIMITS. This is sort of like not being able to carry as much, but I think you'll see it isn't much of a limit. For each item (unique item ID number), you can only carry as many at once as your level plus one. So at level 10, you can carry 11 whatevers. But that's 11 of EVERYTHING, not just 11 things total. At level 99 you are back to where you were before with room for 100 of everything in your pants.
* NEW WALLET SIZE. Many of you have asked to be able to carry more than a million GP in your wallet. Not only are you NOT getting that (you losers!) you are getting ANTI-THAT. Your new character's wallet will hold only 20K GP. It then expands another 10K for each level up. So at level 99 you are back to being a millionaire in your wallet.
* NEW WAY TO BECOME A MODDER: Mess with your computer's calendar. Be sure your calendar is set correctly when you create a new character. Your character won't be able to travel 'into the past' any more. I imagine this will inadvertently affect some nice people who just haven't paid attention to their computer's calendar. This could also be an issue when moving characters between PCs. It will warn you before actually marking the character, so back out if you see the calendar warning.
* NEW MAP FLAG: No Pets. A map with this flag set will not support the use of pets (though you can still tame as normal, you just can't summon)
* NEW MAP FLAG: No Eavesdrop. You will no longer hear-via-eavesdrop if you or the other person is on a map with this flag set. You can still whisper, shout, IM, etc. across this boundary. It's not a cone of silence, just a reduction of background noise.
* NEW SERVER RULE: "noPets" removes the ability to summon pets at any time on that server. I don't know if anyone asked for this, it was just easy to implement It's optional, of course, as are all server rules.
* NEW THING: SHARE POINTS. I keep track of the number of times you hit monsters and establish your portion of the total 'share points' which are then used at the end of the fight to share the total XP/GP. More on this later.
* EXPERIENCE AND GOLD ARE NOW SHARED PROPORTIONALLY TO LEVEL. OK, it's a done deal. Now we'll see how we REALLY felt about easy levelling... sure everyone *said* it was ruining the game... It is no longer to your advantage to fight alongside a more powerful partner... since if they take part in the battle, they will get the lion's share of the XP/GP.
* NEW CHEAT COMMAND "/share" will enable a little message explaining what your share of the XP/GP was, so you can compare notes (yes, I expect this to be buggy and require several patches to get right...) Each time you hit a monster, you generate N share points, where N is your current level. So a level 5 player generates 5 share points per 'bash' while a level 99 player generates 99 share points per bash. Your share of the reward is equal to your percentage of the total share points. So if you contributed 10 share points, but the total pool was 345, then you only get 10/345 ths of the total XP/GP. (i.e., not much).
* SO HOW CAN YOU ACTUALLY HELP NEWBIE PLAYERS? I dunno. Stand by their side and just heal them if they need it (healing them *will* earn share points for YOU, so they won't want you to heal them when they don't need it. This was so heal-only characters wouldn't be denied XP.)
* SO, HOW CAN YOU HASSLE PEOPLE? Well, I think the big scream now will be: "99ers are coming into my scene and grabbing all the XP so I get practically none!" As a non-PKer you can keep them out (lock party/scene). As a PKer I guess they could do the same thing before merely by killing you in the first place, so it's not much of a change. The life of the young PKer is supposed to suck, anyway.
* NO MORE MODDING OF MONSTER PLACEMENT AND LINKS WITHOUT GETTING MARKED A MODDER. And thank you, junior hacker kid, for adding this hassle to everyone's life.
* NEW 'CHEAT' CODE "/outline" puts a little 3D outline around the buttonbar buttons. This is just to help debug people with 'disappearing buttons' If your buttons disappear, try using this command when starting the game and see if the outlines disappear as well (then LET ME KNOW). Also, if your buttons disappear, type "/funpak" and look for error messages.

This does NOT mark your character as a cheater.
* NEW MAIN MENU OPTION: "Check on line for new worlds." This is now right at the TOP of the MAIN MENU, so people have no excuse :-) It seems to work with the following caveats: After you're done, it takes you to the SOLO mode 'pick world' screen, which I am going to pretend is a feature (encouraging you to try the new world in solo mode first). Also, Monkey Town is broken, and something about Lord FireFox's challenge's website locks up my copy of IE (and maybe yours too).
* NEW OPTION: AUTO-OPEN IM WINDOW ON INCOMING WHISPERS. If you have this turned on, any time someone whispers to you, it will open an IM popup window (if there is not one already). It also moves the keyboard focus to the newly opened window (not if the window was already open). I find this irritating and unnerving, but some people like this sort of thing. It defaults to OFF. (business as usual)
* NEW GLITZ. I copied the channel label code from Arcadia to WoS just for Azaman. With one little change, I remove the label if your chat window is too small, giving you as much space as possible for chat.
* SOUL DIARY CHANGES: Shows #PKs, and the GUILD button now opens your official guild page (last seen uniform) if appropriate. The field where you used to manually enter a guild URL is now a 'public comment' field where you can stick something like "I am married to Glendar the Magnificent"
* NEW COLOR IN THE BOOK OF COLORS: "Guild Text" for the color of people wearing the same uniform as you (but without hats. If you have given them a buddy hat, it will use the buddy color instead).
* ADDITIONAL PROTECTION AGAINST HAND/ELEMENT TRAINING HACKS. If you are in the habit of using a gameHack to poke a bit of extra PP into your training, you should probably stop now.
* NEW FEATURE FOR SPELLS: RequiredToken. A spell which would otherwise appear in the "learn spells" dialog, can now be 'deferred' until the player has a particular token. see spells.txt documentation for details. You can thank Loric (and my apologies to anyone suggesting this or similar in the past when I was not yet receptive.)
* SCENE FIGHTS CAN NOW BE 'STICKY' That is to say, you cannot flee unless you wait 20 seconds without hitting. Hence, you will die if you are not ready for that fight. To get this effect, use the "FIGHT2" command in a scene (it does not apply to regular monster fights). UNlike PK Attacks, you can also leave immediately after winning the fight, if you like. FIGHT2 works just like FIGHT only it is sticky. Use it for big boss fights.
* ALL ITEMS ARE BOOTS (so to speak). What I mean here is that any item can imbue you with special terrain capabilities. See items.txt for details (spellbinding now has a sub-argument). Individual items are still limited to a single effect, but you could equip the "ring of firewalking" and the "shield of water crossing" at the same time as the boots of "incredible velocity" and all 3 effects would be present.
* QUEST LANGUAGE VIRTUAL MACHINE ACCELLERATED. Heh heh, sort of pretentious to call it a VM, but why not? I used to limit the execution speed to 10 instructions per second (not for any particularly good reason) and now I don't. The 10/sec limit was most noticeable if your script had a lot of branchig instructions and deferred actors. You would see actors pop in with noticable delays from the start of the scene. For the host, that should now all be pretty instantaneous. Of course, for the slaves, the individual actor appearances are still delayed by whatever lag is present, so it might not make much difference there. But overall, this is a good thing. You still need to watch out for infinite loops, however, and such loops will have a bigger impact on the cpu load should they occur.
4/30/2001 ALPHA 54 INCLUDES:
COMPATIBILITY: Excellent!. Will even keep running past may 1st, 2001 even :)
* [BUGFIX] Turns out it had been ignoring the minLevel field of the ITEM table when you went to use an item on yourself. Most noticably the use of seed by players below level 35. Geeee, I *wonder* why no one pointed this out before :-) (cact pointed it out, so blame him some more)
* [BUGFIX] the chat messages "X has incarnated" were printing golden soul ids in hex (I want the goldens to be in decimal for no particularly justifiable reason other than my general idiocy and willingness to make things a lot harder than they need to be.)
* [BUGFIX] The "TAKE" opcode was actually giving, in the case where the item was a pet. This is no longer the case. However, you still can't take a pet from someone by
using this command.
* [BUGFIX] The "GOTO SCENE" command, if it sends you to the surface of another map (not if it drops you into a scene on the new map) should now change the music to the new map's music.
* SERVER RULE: noPK now allows PKing on 'dangerous' maps (map flag 4). So, on a noPK server, you should only be able to PK on a map with this flag set. For example, PK Arena in Evergreen. In the case of Evergreen, it's pretty easy to avoid accidentally visiting that map :-)
* NEW SERVER RULE: "allPK" is the opposite of "noPK" sort of, only there are no safe areas at all. This is the "snert magnet" rule :-) All maps are dangerous. See, the great and wise Samsyn meets the needs of all his children. (if you set both rules, by the way, noPK wins).
KM23 killed monster 23 at least once
KM23.5 killed monster 23 at least 5x
KB15 killed by monster 15 at least 1x
KB15.4 killed by monster 15 at least 4x
KM0 Has killed at least one monster (of any kind)
KM0.5 Has killed at least 5 monsters (of any kind)
KB0 Has died at least once (for any reason)
KB0.5 Has died at least 5 times (for any reason)
* AFK HOURS NO LONGER COUNTED FOR CHARACTER AGE. Um, this is 'truly idle hours' I mean. You can still age while "manually AFK" just not if you actually walk away from your pooter. Oh, also, running the HalfLife clock accelerator is now a 'hack' so don't.
* SHAPESHIFTER MONSTERS AVAILABLE. If a world designer sets a monsters skin name to "mirror" then that monster will appear with the same skin as the player. (in some cases this will mean every player in the scene sees themselves, in others it will mean everyone sees a copy of the scene host's scene. I am unwilling to predict which at this time :-)
* GUILD HALL MAINTAINS ENEMY/ALLY UNIFORM LISTS. You can see where I am headed here (another case of my almost listening to the masses ) Be sure to make these just comma separated lists of guild Uniforms. If you put other words in these lists.. well.. who knows what you'll get. So, Allies might be: "WoS, CoS, LoH" and Enemies might be "SoV, FBI, FoS" Avoid the temptation to say "and" etc. Eventually the game will read these when you put on a uniform and then some game features will react. There IS a maximum length to this string, so don't get wacky on me, OK? You don't HAVE to have an opinion of EVERY guild... Also, your minions will only see the current list when they don their uniform, so if you have an active hatred matrix, get your members to change their uniforms frequently... um, you don't have to actually CHANGE your uniform, just select the UNIFORM option from the guild list, that freshens the list automatically even if you CANCEL the actual uniform change.
* GUILD UNIFORMS COLORED IN MAP LIST. Uniforms will now be white, if of no particular interest, green if same guild as you (what you are wearing right now), yellow-green if an allies guild (at time of last Uniform check) and red if an enemies guild.
* FULL SERVER REJECTION RETURNS YOU TO MAIN MENU. You also get to watch it say "Scanning.." but that is a cool feature, not a bug.
* MORE FIND PROBABILITY CHANGES. IN addition to minimizing duplication of discovered items (I hope) (and thanks, LGH for noticing), I fiddled with the interaction of the GP and FP fields of the item table to give more possible combinations of losable quest items. See the new items.txt for details.

4/17/2001 ALPHA 52 INCLUDES:

3/17/2001 ALPHA 51 INCLUDES:

2/19/2001 ALPHA 50 INCLUDES:

2/5/2001 ALPHA 49 INCLUDES:

12/21/2000 ALPHA 48 INCLUDES:

10/11/2000 ALPHA 47 INCLUDES:

10/8/2000 ALPHA 46 INCLUDES:

9/8/2000 ALPHA 45 INCLUDES:

9/3/2000 ALPHA 44 INCLUDES:

7/7/2000 ALPHA43 INCLUDES:

7/7/2000 ALPHA 42 INCLUDES:

7/5/2000 ALPHA 41 INCLUDES:

6/30/2000 ALPHA 40 INCLUDES:

5/19/2000 ALPHA 39 INCLUDES:

5/11/2000 ALPHA 38 INCLUDES:

4/15/2000 ALPHA 37 INCLUDES:

4/9/2000 ALPHA 35 INCLUDES:

4/8/2000 ALPHA 34 INCLUDES:

3/24/2000 ALPHA 33 INCLUDES:


Anyway, none of this is binding. Please don't develop anything too elaborate with these tools as all is liable to change and then you will be mad at me.


Well of Souls (the RPG) is the copyrighted property of Dan Samuel of Synthetic Reality Co. All rights reserved. Eventually this will be a shareware program which will require a registration fee to be played longer than a certain evaluation period.

People contributing Worlds will probably not see any return on their investment short of their credits (and my gratitude). My intention is for the game to make it easy to share worlds with friends. To the degree this web site can be used to facilitate that, I will make my own best effort. I will try not to exercise any censorship, but I might have to provide some sort of rating system for worlds deemed to contain offensive content.

Let me know what you like, what you hate, what you'd like to see, and any other feedback you might have. I'm not in any rush to finish this. It will be done when it is done, and hopefully the development copies will become more enjoyable throughout the process.

Thanks again!

Dan Samuel