Updates file
15th April, 2001 (Build 24b)
Greater use of DisableMagic(), fixing up an intermittent skill usage problem
Added NOHAIR tag for races. Ensures a person is bald when transfering to that race via a gate
Tidied up race gate function, reducing complexity and increasing readability
Fixed house owner sign usage
Fixed house transferance via sign
Fixed few console messages to include newlines / be more meaningful
Fixed firewall crash bug under non-windows operating systems
Removed display of C key from console (no backing code)
Fixed fame decay on death
Added proper relay support for multiple servers on different ports. Note the change to uox3.ini's server layout.
New format:
Server Name
Server IP
ServerPort
eg
Loopback
127.0.0.1
2593
LAN
192.168.0.1
2594
###
WIthout the port, server will NOT start.
10th April, 2001 (Build 24a)
Beneficial spells (Heal, Night Sight, Agility, Cunning, Cure, Protection, Strength, Bless, Greater Heal, Inivisibility ) on murderers will flag you criminal
Races constructor/destructor modified to not cause crashes
Fixed inability to repeatedly cast magic
Fixed cannot use items equipped on other players bug
Shitlist read in as a vector at startup, and run through in memory on login
F key on console will reload the shitlist.ini file
Cannot hide while mounted
Attempting to resurrect a murderer via bandages results in criminality
Attempting to cure a murderer via bandages results in criminality
Attempting to heal a murderer via bandages results in criminality
If you don't have the skill to heal a character, it tells you that you apply the bandages but it barely helps. Their health only goes up by 1 HP.
If somehow on horse while stealthing, will go out of stealth when attempting to walk
Few pathfinding corrections (fleeing NPCs work better)
Slight change to teleport, may fix black liche thing
Stack being refreshed when items added to it
If hidden when mounting a horse, become unhidden
When mounting, creature attacking the mount will stop attacking. Mount will lose any target they may have.
Slight changes to readw3(), to prevent overruns.
Explicit NULLing of files when closed.
Races added a new tag, to help streamline scripts. PARENTRACE # where # is the parent race. This essentially is just a cut/paste job
ie
SECTION RACE 0 // Just happens to be the parent
{
NAME Human
STRCAP 150
DEXCAP 30
INTCAP 120
PLAYERRACE 1
}
SECTION RACE 1
{
PARENTRACE 0 // by using this, they automatically get strcap of 150, dexcap of 30, and intcap of 120, as well as being a player race with the name Human
NAME Midget // we override the name given to us
DEXCAP 60 // increase the dexterity cap
}
In essence, you can picture race 1 being like:
SECTION RACE 1
{
NAME Human
STRCAP 150
DEXCAP 30
INTCAP 120
PLAYERRACE 1
NAME Midget
DEXCAP 60
}
This allows you to streamline races, if you need to. You can extend this to grandchildren, or grand gran children, if so desired. If you have a group of classes belonging to a race, then all the common aspects of those classes could be put in a parent race, and specialize in the child race.
9th April, 2001 (Build 24)
Network.cpp refresh for Linux only. Corrects structure issues involved with firewalling
7th April, 2001 (Build 24)
Provocation will only turn you criminal if target is innocent
Significant alterations to weight.cpp, fixing a number of container issues
Probable fix for multi skiing
Boats can be turned into models
Boats respond properly to OSI macro speech
Writeable books should work correctly
Should fix player logins with third dawn
Inability cast another spell while having a target cursor for current spell
Few memory clearance optimizations
Sound effects corrections
Guild code tidy up (no functional difference)
Can't resurrect offline players
GMs can redeed player houses
NPCs will gain/lose fame/karma on death/kill. Operate same as PCs now. So a nasty mongbat that kills lots of newbs will slowly go very evil.
Player casted gates appear on player, to remove house break in exploit
Map assert changed to if condition. Will print out error messages if attempt to get statics across boundary of map
Fixed unicode emote not displaying
str2num internally calls atoi
Murder dcay timer reset on world load (to fix possible timer issues on both win and lin)
NPCs talk out loud, so that all can hear
IFRACE trigger added
eg IFRACE # // # is a race number from races.scp
Used for item triggers
Changes to HTML status pages
Addition of player information
New section in htmlstrm.scp
SECTION DIRECTORY
{
C:\Inetpub\wwwroot\guilds // Guilds physical directory
C:\inetpub\wwwroot\player // Player physical directory
C:\inetpub\wwwroot\images // Images physical directory
/guilds // web server guild location
/player // web server player location
/images // web server images location
}
In section guild_main, only one file entry now. Put name of file name, it will automatically attach guilds directory in front of it
So if it used to be c:\inetpub\wwwroot\guilds\guilds.htm, it would now just be guilds.htm
So it looks kinda like
SECTION GUILD_MAIN
{
guilds.htm
LINE
LINE
}
New section, PLAYERPAGE
SECTION PLAYER_PAGE
{
LINE
LINE
LINE Player Status
LINE
LINE
LINE Test Player Status!
LINE
LINE Name |
NAME
LINE |
Title |
TITLE
LINE |
Strength |
STR
LINE |
Dexterity |
DEX
LINE |
Intelligence |
INT
LINE |
Kills |
KILLS
LINE |
Race |
RACE
LINE |
Best skills
LINE |
TOPSKILLS 9
LINE This page generated at:
TIME
LINE
LINE
LINE
}
The valid tags player specific are:
NAME // player's name
STR // player's strength
DEX // player's dex
INT // player's intelligence
KILLS // player's kills
RACE // player's race (name)
TITLE // player's title
TIME // real world time
FAME // player's fame (number)
KARMA // player's karma (number)
PROWESSTITLE // Grand Master, and so forth
NOTOTITLE // noto title (ie Infamous, Glorious, and so on)
SKILLTITLE // bowyer, fletcher, skill title
TOPSKILLS # // # is the number of skills to show
Player HTML is dumped out if HTML generation is on, and dumped at world save / player login
IP Firewalling
New file added into uox3 shard directory, shitlist.ini. This CAN be empty if so desired
Format:
x.x.x.x // x can either be a number or a *
eg
192.168.0.* // disconnects any from that subnet
127.*.*.* // all localhost disconnected
1.2.3.4 // specific host disconnected
This will disconnect a client before processing anything
21st March, 2001 (Build 23)
Linux criminality fixes
Removed double sell/buy vendor bug
Removed lag steal exploit
Corrected player vendor description/pricing system
Tweaked the basic heal spell a bit lower
Unified linux/windows section searches (should remove ordering problems)
Corrected snooping problem (wrong names, probably skill gain as well)
Converted all findbyserials to calcItemFromSer/calcCharFromSer
Removed double fame/karma/murder count bug
Corrected pet guards
Implemented array/percentages for combat hit messages
NPC Mindblast reduced to 1/3rd of existing power
unmounthorse() converted to character based, not socket based
unmounthorse() moved further up death list
Removal of LSD
Added MAGICEQUIPCHECK to SECTION COMBAT in server.scp. If non-0, then hands checked for equipment. If 0, then can cast with items in hand
Fixed tweak so direction doesn't adjust body
Fixed tweak so can't adjust char's primary stats to 0 or below
Hopefully fixed wholist displaying [] in list
DefaultChar for char handler set to NPC with no account
Reduced rate at which rsist gained from field spells
Inscription resource deletion fix
Healing skill range check performed before skill check (no gain skill from distant player)
str2num adjustments (increases * 10 only on proper digits)
Random drop of things in pack when dropped on PV backpack
Guarding pets added to npcattacktarget()
Added IsCriminal(), IsMurderer() and IsInnocent() to help with simplicity and readability
Poison damage should work in town correctly
Fixed magic invisibility (magic invis allows walking invis, no perma hiding)
Delete single lockpick and not entire pile
Provocation/Enticement code cleanup
Can't stealth while on horseback
Hopefully a working FreeBSD Makefile
28th February, 2001 (Build 22)
Begging fixed so you can no longer beg from offline characters or player vendors
Player vendor bug correction. Can't get items for free any more
Running southwest/east bounce fix
Piled campfire stuff only deletes single item, not stack
Mounting your horse won't delete the character, but move it to a nonreachable position. Same horse will appear when you get off it. Fixes horse stat issues.
NPCs on horses will have onhorse == true on server load (should fix combat animations)
16th February, 2001 (Build 21d)
Makemenu changes to fix coloured ingot issues
Old New
2117 | 1600
2020 | 1520
2025 | 1525
2000 | 1500
2000 | 1500
2000 | 1500
2010 | 1510
2005 | 1505
2005 | 1505
2015 | 1515
2015 | 1515
more1 of spellbook locks it so no more can be added
Summoned creatures leave no corpse
Slowed down shopkeepers some
Title display fixes
Opening pack adjustments (works properly in all circumstances)
Snooping tidied up/made own function
Memsets used in some array clearances
Fixed memset potential crash bug
Dragonskin armour should work better
Shield/weapon holding issues should be greatly improved (Thunderstorm)
Parrying debugging message when combat hit messages are on
Using doors requires 1/2 object delay time
Fixed char -1 issue with potion usage
GMs can place houses anywhere
GMs casting teleport don't have same inhibitions as players
Chopping tree makes character turn to targeted location
Can't GM NPCs
Ghosts can't equip things
SNOOPISCRIME in repsys section of server.scp controls whether snooping is a criminal action. 1 == true, 0 == false
6th February, 2001 (Build 21c2)
Correa backpack usability fix
Integrated makefile from Knox, with minor change, as well as header changes
More combat code changes
5th February, 2001 (Build 21c)
Numerous amounts of tidying up done to source
Taming adjusted: Skill gained from TOTAME to TOTAME * 1.5, no longer open ended
Speech issues with Client 2.0.7 corrected (courtesy of Punt)
Doubled up speech issue corrected
Increased compatability with Non-MSVC compilers
1st February, 2001 (Build 21b)
Corrected an issue that crashed clients if a spellbook was opened
31st January, 2001 (Build 21a)
Lose stamina at reduced rate when on horse
Closed contsp loophole which may have caused late decaying of corpses
Included __cdecl parts on functions that require it (main, any with ... parameters)
Changed default processor optimizations from Blend to Pentium class
Made source __fastcall safe. Class member functions need to be explicitly __fastcall specified to have optimizations
Liche and one snake's sounds fixed (Raftina)
Summoned elementals have proper names (Jedda)
Fishing code mods (Jedda/Chaos)
Corrected a number of the copyright information. Information still not accurate, missing number of bits and pieces. Known that most files didn't exist in 1997.
NW Submissions
==============
* Only GMs retain hidden status on logging in
* Combat speed tuned down slightly
* NPC Archers will only move towards target in combat when LOS is broken. Keeps turning to target
* Offline chars appear to GMs based on server.scp setting
* Weight added to player's cursor when carrying pile of items
* NPCs don't attack through floors
* Taming distance increased to 4
* Object delays disregarded for GMs
* Can't mark locked down rune
* Laston added to 'cstats
Freelancer submissions
======================
* GCC Warning-free compiliation (on default level)
* Fixed some MSVC level 4 warnings.
* Moved some stuff from uox3.cpp to files where it is more approperate.
* Removed some unnecessary pestering of the heap.
* regions is now an unsigned char also in linux. (donnot know why exactly there was a difference)
* Some small general beautifies.
* Removed UDP
* Added copyright information on each file
17th January, 2001 (Build 21)
Removal of commands: dry, rain, snow
MINGW32 compatability fixes
Linux compatability fixes
66% chance of totally missing target if archery and closer than 3 paces
More random combat animations (Xuri)
Removed structure packing (untested, should work okay)
Enhanced tweak command (Xuri)
Extraneous comments removed
Can equip tile's with flag3 of 0xC0 in second hand with a single handed weapon (equipable/light source... most lit lanterns, candles, and torches fit this bill)
Fixed exploit so that if you're below minimum skill level you have NO chance of gaining skill
checktimers() slight optimization
Wholist is bigger
Logging in will use the hidden status of when you logged out
Races.scp reloading added to console
Instant logout if near campfire and bedroll (Retalin)
Walking fix for ladders/stages/some stairs (Xuri)
Containergump for tubs fixed (Jedda)
Fishing animation while on horseback fixed (Tom2)
MORE3 and MORE4 will decide the spawning area for Area Spawners(Type 69) (Xuri)
Other fixes (can't remember who did what) done by Correa, Tom2, and Knox.
20th December, 2000 (Build 20g)
Magery should now rise, regardless (though as a temp measure it will rise from scrolls and wands as well).
NPCs can walk into gates
More things are blocked by using teleport: was unable to reproduce tele on water or up vertical axis
Gate fixed
Should fizzle much less with high level skill now (it should be impossible to fizzle at GM level of a 1st circle spell)
Knox's CLUOX wrapper implemented (allows automated restarting, minimize to tray icon)
Many sounds corrected (1st pass only, source submission. Second pass at later date will validate Raftina's list)
House owner targeting shouldn't corrupt housing anywhere near as badly
Number of variables removed from code, due to L4 warnings with VC
Killing with magic will gain you a murder count
Targeting an innocent character with an aggressive spell will turn you criminal.
Failing skill check during casting of a spell will force the spell's delay before casting another spell (avoid exploit).
Slight fixes to NPC restocking (container checks enforced).
6th December, 2000 (Build 20f)
Think fixed stat bug due to dying (needs testing)
Fixed auto account creation bug (password not saving)
NPCs can dispel creatures, bit 17 of SPAttack (KKung)
Items with a DEF of 0 will not be destroyable in combat (Xuri)
Fixed that nasty vial usage bug which would totally corrupt your character
Put in tweak so that AI 2 and not race 0 will attack other AI 2 (subject to other rules, like racial allies)
Veterinary skill used in healing/curing/resurrecting nonhuman body types (Xuri)
Can't train past the skill cap (KKung)
Status bars should work correctly in combat
Can only be interrupted during a spell while casting, not after getting target cursor
23rd November, 2000 (Build 20e TR2)
Believe the 2 on 1 attacker bug is now finally solved
More walking revisions from Knox
Fixed being frozen when casting spell and getting target cursor bug
(Knox: One thing that happened with the merge, was that you lost the ability for things to swim and things to fly. My guess
is that a lot of the tile comparisons are done based on movement type. ie some things won't block for fish that will for people
so I imagine we need to figure out how to make use of CanGMWalk(), CanNPCWalk(), CanFishWalk() and what not)
22nd November, 2000 (Build 20e TR1)
Walking updates (does have probs)
Explosion delay (scripted, server.scp, combat section, EXPLODEDELAY, floating point value)
Hunger healing threshold (server.scp, hunger section, HUNGERTHRESHOLD, 0->6)
Lots of flagging issues resolved
Non-ignition protection
Idle timeout activity (CHARTIMEOUT in server.scp)
Guards should work better
Combat modified, needs testing
No skill check for bandages
Falling forward/backward death animations (random)
25th October, 2000 (Build 20a)
Slight walking correction (Knoxos)
24th October, 2000 (Build 20)
DEVTEAM FIXES
Spam message on console gone
RefreshItem optimization
Lock down checks on items with skills (not all skills)
Balance works correctly
Vendor item restock code cleanup
Displaying of locked down status of an item with single click
INCZ command added
Hair Dye gump (item ID 0x0E27 new style, 0x0EFF old style)
Problematic hue removal (transparent items will persist)
FREELANCER FIXES
Optionable potion usage delay (simple delay, doesn't take type into account) (Thaliq)
Purchasing goods from vendor with money in bank (Gunther/Chaos/Abaddon, scriptable threshold)
Item repairing (Thaliq)
Scriptable health and stamina checks for spell casting (Thaliq)
Combat animations and sound effects cleaned up (Chaos)
9th October, 2000 (Build 19c)
DEVTEAM FIXES
Magic Spellbook memory reduction
NOTE: We have limited legacy spellbook support. As long as you don't add a spell to your spellbook, your old spellbooks should continue to work, but as soon as you add the first spell to it, only that spell will be in it (switches to new spellbook type). To the GMs out there, I would find all your players with spellbooks, take note of the spells they have, and construct new spellbooks for them, deleting the old ones. It also allows for spellbooks to be "prefilled". The new spellbook layout is like this:
MOREX, MOREY and MOREZ are reserved on spellbooks. Each is a 32 bit word, representing a possible 32 spells each word. So the traditional spellbook is represented by MOREX and MOREY only. MOREX contains info on circles 1->4, and MOREY on circles 5->8. Think of each of these as a 32 bit long BINARY number. An empty spellbook would look like: 00000000 00000000 00000000 00000000 Those are your 4 circles. Each circle has 8 bits. Circle 4 is on the left, circle 1 is on the right. Within a circle, the spells count down from left to right. ie 10000000 In this case, the person has spell 8.
For windows users, it is easy to setup the scripts. Open up windows calc, set it to scientific mode. Choose binary. Now fill in the spell configuration you want for a spellbook (we'll use an example of spells 1 and 3 in circles 1->4). It would look like this: 00000101 00000101 00000101 00000101 Now hit the decimal radio button, and it will convert it back to base 10. You should get the number 84215045. Put this in the MOREX section, and the spellbook is prefilled! That's circles 1->4, the same applies to 5->8 but it's for MOREY instead.
Reputation flagging of other creatures should be greatly improved
Monsters of AI type 2 now search a scriptable distance for targets. SECTION COMBAT and the MAXRANGE value determines how far away a monster considers a "valid" target. AI type 2 updated so they won't attack their owner, and there's a slim (less than 10%) chance they'll attack their own race if not the default race. Also, they will not attack racial allies.
Guard attack delay bug should be fixed
Spell interruption should occur for all spells that do damage
FREELANCER FIXES
Gem based armour creation (sorry, can't remember the nickname, and didn't want to put public without permission)
Spawnregions won't save chars. When server starts back up, the spawnregions will respawn, no extra NPCs (Dodger)
Walking corrections (Knoxos)
Boat updated source (Zippy-)
Newbie Item fix (no repeated items) (Thyme)
25 September, 2000 (Build 19b)
DEVTEAM FIXES
Further Mark, Gate, Recall region check stuff (precasting fixes)
Inscription corrections
Build # now in console title on Windows
Spell interruption
Weather bug fix
'wtrig command fix (new syntax 'wtrig hail)
Slight optimizations in combat code
Should disconnect any accounts in use when logging in
FREELANCER FIXES
Tailoring changes for bolts of cloth (Thyme)
Animation corrections (Chaos)
Stat advancement fixes (Gunther)
VERy walking exploit fix (Knoxos)
2 Attacker combat bug (Thyme)
Linux compilation fixes (Knoxos)
Chaos&Order gate stuff (item type 206, WIG)
No requiring house and key for placing vendors (Thyme)
breakConcentration function added (knoxos)
Poison tweaking on EV/BS (Thyme)
Invulnerable character skill gain exploit fix (Thyme)
Invulnerable character damage fix (Thyme)
Summon creature location fix (Thyme)
Healer attacking flag issues (Thyme)
New makefile for linux (Knoxos)
....
and probably more, it's too late to be thinking coherently
/**********************/
What does the STATADVANCE number do? Simply put, this number represents the percent chance that the stat associated with a skill that is used will
go up by one. Each increment of 1 is a 1/10th percent chance. Example: To give players a 4% chance of raising a stat set this number to 40. The default
value of this setting is 20, or a 2% chance. (players would be lucky to gain 1 stat point in a day) Setting this number to 0 will disable stat
advancement completely. A setting of 20 is fairly close to the advancement rate seen from build 19a and earlier. To slow things down to a more
OSI-like setting, set this value to a range between 7 and 10.
/**********************/
11 September, 2000 (Build 19a)
DEVTEAM FIXES
Mark, Gate, Recall region check bug fix
Explosion Potion exploit fix
Header cleanup
Source tidy up to work with STLPort
INDIVIDUAL FIXES
Colour stacking (Gunther/Thyme)
Carving fix (Thyme)
Criminal when carving human corpse (Thyme)
Mining timing fix (Thyme)
22 August, 2000 (Build 19)
DEVTEAM FIXES
NPCS should be 4x faster (NPCSPEED dropped from 0.5 to 0.125)
Wholist/Offlist added (Offlist accessed via 'wholist off)
Tailoring fix
Murder bug fix
INDIVIDUAL FIXES
Stat bounce fix (Gunther)
1st August, 2000 (Build 18C)
Inscription duping fix should be corrected
Smithing code greatly simplified
Tailoring, Carpentry, Tinkering, Fletching and Bowyering now only need resources in one of your packs, not your main pack
Fishing fixes
Players can delete their own chars
15th June, 2000
(COMMITTED BY THE DEVTEAM AS BUILD 18B)
Disable trigger fix
IGNITION compliance
30th May, 2000
(COMMITTED BY THE DEVTEAM AS BUILD 18A)
Healing exploit fix + timing issues corrected
Anatomy check added to healing
Vendor sell fix
29th May, 2000
(COMMITTED BY THE DEVTEAM AS BUILD 18)
SetID fixed, works correctly
Ghosts cannot die
PUT trigger fixed
Healing fixes + time delays
Elemental corpse fixes
Can't sell > 1 of any item that isn't pileable
26th April, 2000
(COMMITTED BY THE DEVTEAM)
OpenDoor macro exploit fix
Horse summoning exploit fix
Writeable book fixes
Slight combat fixes
19th April, 2000
Committed newer crypt for client 2.0.0 (Abaddon)
GetMsg receives new packet 0xBF properly, but doesn't process (Abaddon)
7th April, 2000
COMMITTED BY THE DEVTEAM
Deathstuff no longer has a charcount loop
Port UOX runs on is scriptable, defaulting to 2593
Running uox with the # parameter will now work correctly
Writeable books have been implemented
8th March, 2000
Committing of 15g source
25th February, 2000
Plugged a crapload of memory leaks, stability fixes (EviLDeD)
Few == tests being made now, rather than = (Abaddon)
Proper string comparisons with townstones (Abaddon)
PathFind routine finds correctly (Abaddon/EviLDeD)
20th February, 2000
Rewrote smithing / smelting / mining funcs, work cleaner/quicker (Abaddon)
16th February, 2000
Fixed up carpentry so non-GMs can now create things (Abaddon)
You can now target resources in any of your packs for carpentry (Abaddon)
15th February, 2000
Guards no longer smack down pets in cities (Homey)
14th February, 2000
All item targeted spells (Lock/Unlock/Trap/Untrap) now work (Abaddon)
Xtele and such resend the items in range (Abaddon)
Dupe now dupes a stack correctly (Abaddon)
Added footsteps option to server.scp. In top section, add....
FOOTSTEPS 1
to turn on, 0 to turn off (Abaddon)
Arrows and fireballs fly straight (Ripper)
13th February, 2000
Partial class implementation of wholist, can someone who understands
it PLEASE take a look at it, it's got me stumped completely (Abaddon)
Removed a nasty crash where AddRespawnNPC would open, but not close
the npc.scp. After a long enough period, it died, causing a server crash.
This has been resolved (Abaddon)
Tweaked up protection/arch protection, lasts longer, does more (Abaddon)
Guest entry in accounts.adm now saves properly (Abaddon)
12th February, 2000
Added Protection to spells, it boosts parrying only at the moment (Abaddon)
Arch Protection works, need to enable it in spells.scp (Abaddon)
11th February, 2000
Addition of /removeshop to remove the shopkeeper status of an NPC (Abaddon)
Added the TEffect class as a replacement for the global teffect array
due to the fact that with VC 5 deleting that array caused a crash
This way it's cleaner, code's easier, and works just as well
Tested with 3 open doors, curse, strength and agility all at once (Abaddon)
10th February, 2000
Fix so that you can't equip a 2 handed weapon when already
having equipped a single-handed one (Abaddon)
Addition of bar doors (id 190E) E/W only (doesn't block) (Abaddon)
Added LOS and 10 pace check to opening packs on ground (Abaddon)
Addition of /reportbug, any text following command is logged (Abaddon)
Only make carving motion with fletching if got resources
and target is valid (Abaddon)
Summon creature works, edit NPCLIST 10000 for list of creatures
that can be summoned (Abaddon)
xGM status saved along with the accounts (Abaddon)
Public member of accounts added (EvilDeD)
Reduced item_st by a further 156 bytes. Desc member of item_st
was 256 bytes. The only way this was written to was via speech
and the client won't allow that long a string to be typed in
so we can relatively safely assume we don't need 256 bytes and
that 100 is likely to be sufficient (Abaddon)
Item's desc field saved/loaded to/from disk (Abaddon)
xGM and Public for accounts default and initialize to false (Abaddon)
Added default summon creature list (Xuri)
9th February, 2000
Took out talkingto[], spattackvalue[], oldserials[],
and contcache[]. These arrays did NOTHING, just taking
up space.... (Zippy)
Changed loscache[] and itemids[] to static 1000 size
arrays. This is PLENTY for them, they did NOT need to
be itemcount size, they could even be smaller. (Zippy)
(Depends on the area size, and whether people use a lot of tiles
there's a distinct chance you could exceed 1000)
A few more boat fixes (Zippy)
Reduced item & char struct sizes a bit.(use CHARs, and SHORTs) (Zippy)
8th February, 2000
Brought whomenudata into alignment sizewise with serial
whomenudata was an int, serial is a long, data loss (Abaddon)
Numerous comments, smithing partial fixes (coloured ore) (Abaddon)
7th February, 2000
Major boat fixes, large and medium boats need to be
rescripted. Boat blocking should work *pretty* well now
although there are some places where you can still go
PART way into the land and get stuck. (Zippy)
You can board and leave boats correctly now (Zippy)
3rd Febuary, 2000
Fixed the bug where you could attack a healer to get healed (Eagle)
31st January, 2000
Fixed up setcharflag to use a switch, works cleaner/better (Abaddon)
30th January, 2000
Fixed up a number of triggers like fishing / healing (Abaddon)
Made all the large whomenu arrays the same size (Abaddon)
29th January, 2000
added Name Deeds (type 186) (Eagle)
28 January, 2000
Messageboard.cpp blanked out (per Evils approval)
No OS specific submissions without approval (punt)
27th January, 2000
New loginkeys for 1.26.4 series clients (Westy)
24th January, 2000
Cannot cast teleport and teleport onto a water tile (Ripper)
You can now use hairdye once again (Ripper)
Addition of CALL # to spawn.scp. If greater than 1, then every
time it spawns from an NLIST or ILIST, it generates # amount (Abaddon)
Must be within MAX_RANGE_SPELL of a char to attack it with magic(Abaddon)
Must be within MAX_RANGE_SPELL of item to target it with magic (Abaddon)
Must be within MAXRANGE (SECTION COMBAT) to use Anatomy (Abaddon)
WEATHERTIME in server.scp now indicates how often light/weather
gets updated (Abaddon)
MoveToBag command works once again (Abaddon)
Redeeding a house now removes all keys attached to it, and
generates a proper player vendor deed for each vendor. However,
note when you place that vendor again his name will change. (Abaddon)
23rd January, 2000
Removed an archiving crash
Anatomy exploit removed (Abaddon)
NPC Response fix (Zippy)
Should print out to console save state better (Zippy)
Put back in a line so that /tile works again (accidentally
removed after testing previous fix) (Abaddon)
Must be online to become hungry (Abaddon)
Fixed up the "Can't use skill while casting" bug (Abaddon)
Slight revision to that fix so it will work better (Abaddon)
22nd January, 2000
Fixed a bug where if you smithed an item, but dropped your ingots
between choosing the ingot and the item to make, it would make
the item without removing the ingots. You must have the ingots
in your pack now. (Abaddon/Ripper)
Added support for Fame/Karma tags in advancement objects (Abaddon)
Range check added to Anatomy, must be within 10 paces (Abaddon)
Can no longer lock down a field spell or door in house lockdown (Abaddon)
Can't target someone more than 20 paces away for a spell (Abaddon)
Can't use a skill while casting a spell (Abaddon)
Added function ValidLockDown that determins if an item can be
locked down or not, to help with Lockdown/Release (Abaddon)
Doubleclicking on door of house you own when locked works again (Abaddon)
Dropping a scroll on a spellbook puts it in the spellbook (Abaddon)
(This wasn't working, it was never updating new cont serial)
Fixed a bug so that you only need your key in your pack to open
your house if the door is locked (Abaddon)
MENTAL NOTE: Spellbooks are done horribly. Right now, a full spell book has 64 items within it, and that seems
wasteful when you start to scale the books up a lot. One option is to have a series of fields, you'd only need
8 bytes, 9 for extras potentially, and there is one bit for each spell, present or absent. Granted, if the spells
ever increase in number, then you'll need to add more fields to support the larger number of spells, but I think
that the size decrease tradeoff would be quite significant. Item_st is fairly big, and to remove 64 of them and
replace them with 8 bytes seems like a boon. Then again, there may not be that many spellbooks in the world either.
Just a consideration. (Abaddon)
21st January, 2000
CreateScriptRandomItem() now returns it's index, spawns work
properly again (Abaddon)
Can move invisible light source around in pack as GM (AntiChrist)
Number of numerous gump corrections (Xuri)
(Potion keg, barrel with lids, bushel, basket, belt pouch, wooden box)
Senditem() revisions (AntiChrist)
single clicking a player now shows if they are guarded or not (Ripper)
[Murderer] appended on single click if a murderer (AntiChrist)
Criminal highlighting fixes (AntiChrist)
Monstergate() rewritten to use a switch (Abaddon)
/Tile fixed and works correctly (JustMichael)
Char creation for account 0 properly initializes priv2 setting (Abaddon)
GMs by default no longer see house icons (Xuri)
20th January, 2000
DRASTIC restructure of CWorldMain: (Zippy)
- World is now saved in peices, so the server continues to
work during a save.
- The number saved is scriptable ( server.scp ) SAVE_PER_LOOP
Set this to -1 or 0 to save the entire world all at once
HUGE Lagfixes:
Cut out about 30 itemcount and 30 charcount (Zippy)
for loops, replaced with hashtables and maRegions some of
these were in widely used code, should be a big boost
Declared ptr in SpawnItem (Abaddon)
Walking fix (Dupois)
MagicArrowSpellItem potential crash fix (AntiChrist)
Tweak to reflected MindBlastSpellItem (Abaddon)
Slight crashavoidances in newCastSpell() (AntiChrist)
RefreshItem added so item's spawned from spawn.scp display (Abaddon/JM)
Reveal spell no longer reveals perma-hidden people (AntiChrist)
Chain lightning can be resisted and reflected (AntiChrist)
Magic property set correctly for field spells (AntiChrist)
case 35 added to sound effect for magic (AntiChrist)
Removed rotating crypt check in network.cpp (no longer relevant)(Abaddon)
few changes of *256 to <<8 in npcs.cpp (Abaddon)
RandomSteal weight tweak (Abaddon)
DyeTarget() console print message commented out (Abaddon)
Hides after carving are now in the right layer (AntiChrist)
Can't trigger a disabled item (Magius)
MENTAL NOTE: Monstergate could be switch'd (Abaddon)
Monstergate() tightened with slight script stuff (AntiChrist)
Fix in sellaction() for advanced trade system (Magius)
Fix in buyaction() for advanced trade system (Magius)
PlayerVendors can't be tamed/released (Ripper)
Slight boat plank fixes
19th January, 2000
Fixed html not opening, add FILE tag to html script (Zippy)
Added FILE tag to html script, for writing multipul files (Zippy)
Fixed so that a script now reads a tab as a space removing the
"Invalid command ..." bug (Abaddon)
18th January, 2000
Cancelling axle with gear creation no longer deletes item (Abaddon)
Can no longer combine 2 axles or 2 gears to get axle with gear (Abaddon)
Can no longer combine axle with self, or gear with self (Abaddon)
When in combat, with a target, if you run, you get a 2 sec
attack delay (Abaddon)
Empty shelves gump correction (JM/Abaddon)
If fail spell, saids words of power (Abaddon)
Using an axe on logs works correctly (Abaddon)
Adding scroll to spellbook will no longer spam (JustMichael)
ALL BY DUPOIS
- NPC's (monster/vendors) walking over blocking static objects (ie display cases)
- Vendor training
- Door Macro
- Moongates work just like OSI (you wind up in the gate after teleporting not offset by +1)
- Vendor selling, they now look through your entire backpack for items they will buy.
- Sound effects being sent to everyone on screen when your moving items in your own backpack (removed, should only send sfx to player who owns the pack)
- Sound effects added when other player in a trade window adds or removes an item
- message boards now have a few more features (see msgboard.txt in DOCS dir and msgboard.scp in SCRIPTS dir)
- escort quests added / integrated with message board enhancements
17th January, 2000
Multis set correctly in walking (CheckForHouseBan()) (Zippy)
Endtrade possession fix (Dupois)
No name player made items (JustMichael)
name2 initialized in inititem (Abaddon)
Horses dying no longer die on dismount (JustMichael)
Weight being way too high on trade window fix (JustMichael)
16th January, 2000
HTML Code fix (Zippy)
Added ifdef for crash protection and took out realmain() (Zippy)
Gender bender bug fix (Dupois)
Few script/item load fixes (Abaddon)
Racial effect save on item (Abaddon)
/zerokills now flags properly (AntiChrist)
/setmurder updates flag quickly (Abaddon)
/tilew crash catch (AntiChrist)
all_items_all() added to /wanim (AntiChrist)
cCommands::MakeShop spawnitem crash prevention (AntiChrist)
cCommands::AddHere crash prevention (AntiChrist)
cCommands::DupeItem requires a pack (AntiChrist)
Guildstone placement crash avoidances (AntiChrist)
|1 changed to &1 in cGump::input (AntiChrist)
Deedhouse crash prevention (AntiChrist)
addthere with a crash prevention, and RefreshItemusage (AntiChrist)
House release code slight textual change (Abaddon)
closescript() added into cItem::CreateScriptItem (AntiChrist)
closescript() added into cItem::CreateRandomItem (AntiChrist)
cItem::CreateRandomItem crashfix (AntiChrist)
closescript() added into cItem::CreateScriptRandomItem (AntiChrist)
closescript() added into cItem::SpawnItemBackpack2 (AntiChrist)
closescript() added into cItem::AddRandomItem (AntiChrist)
Numerous more closescript() added (AntiChrist)
Item -1 checks in necro (AntiChrist)
healing speech revision (AntiChrist)
TreeTarget fixes (AntiChrist)
Enticement fixes (AntiChrist)
CreatePotion crash fix (AntiChrist)
AdvanceStats fix (AntiChrist)
Buying from a player vendor now requires a backpack (AntiChrist)
NPCs will trigger in case 24 of targ::multitarg (Magius)
House list code revised and debugged (AntiChrist)
Crashfix in targ::ownertarget
11th January, 2000
/getlight command added for aiding in debugging (Abaddon)
Day/Night cycling partially works (Abaddon)
Removed some old commented out code (Abaddon)
cGuilds::Read changed from ifs to if/elseif (Abaddon)
cItem::CreateScriptItem changed ifs to switch (Abaddon)
cItem::GetScriptItemSetting changed ifs to switch (Abaddon)
cGump::Button changed to have some switch statements (Abaddon)
Addition of /showdetail command (Abaddon)
NOTE: CreateScriptItem and GetScriptItemSetting should call a function so there's a unified read. NPC class should also add that in the future as well.
10th January, 2000
Newbie begger crash fix (Abaddon)
try/catch no longer execute if crash protection is off (Abaddon)
Hidden players show up when they walk again (Abaddon)
Beard colour restrictions work correctly (Abaddon)
Hair colour restrictions work correctly (Abaddon)
Skin colour restrictions work correctly (Abaddon)
Singleclicking a murderer will show their name in red (Abaddon)
Impowncreate now highlights murderers correctly (Abaddon)
Earthquake is now in racial highlighting alignment (Abaddon)
9th January, 2000
cItem/CharacterHandle classes for handling item/char memory (Zippy)
Addition of try{}catch(...){} to main for crash protection (Zippy)
(Note, this slows things down, and now it won't crash to the correct line in the debugger, it's nice and shuts down (with crash protection of 0. Try/catch takes a 5-10% performance hit in C++, because of extra stuff it needs to track, you may want to not actually release a switch based version, but a #ifdef one, because even with a switch turned off, you will find that it still takes the performance hit because of what it needs to track... Abaddon)
CRASH_PROTECTION added to server.scp SECTION SERVER:
0 - Off, on an unhandled exception server will shutdown
1 - Save only, on an unhandled exception server will save and shutdown
2+ Save & Restart, server will save and restart on an unhandled exception, after
10 restarts, server will shutdown. (Zippy)
Items/characters that are hidden will only be sent to GM clients(Zippy)
5th January, 2000
Stealing crash fixes (Abaddon)
Paperdoll crash fix (Abaddon)
20 December, 1999
Townstone deed switched to type 35 (Mithos)
Linux compile fixes (Mithos)
bank balance should spam less (Abaddon)
19 December, 1999
AddNPCxyz rewrite to use switch (Guards fixed) (Abaddon,Homey)
Char deletion works again (Abaddon)
Further skill window crash bug enhancement (Abaddon,Homey)
Metal box gump fix (Daemar)
Skill use exploit fix (Mike)
18 December, 1999
CommandLevel privs copy over now when you possess someone (Abaddon)
NPC display walk fix (Homey)
/unhide fix (Abaddon,Homey)
Proper fix to /setrace for GMs (Abaddon)
Wallmounted torch problems fixed (Quippl)
Magic anim on horse properly fixed up (Abaddon)
Locked skill could raise stats, fixed so it doesn't (Abaddon)
17 December, 1999
Guards fix (Abaddon)
Potential combat swing fix (Abaddon)
Shouldn't be able to steal from a vendor's buy or sell layer (Abaddon)
Murderer's should highlight correctly now (Abaddon)
Lockdown/Release for housing (Abaddon)
Skill management fixups (Abaddon)
Removed the not dead message when being resurrected as ghost (Abaddon)
Keytable overrun fix (fur)
16 December, 1999
Skill window crash fix (Abaddon)
NPC highlighting fix and speedups (Abaddon)
15 December, 1999
Memory leak fix (Eagle)
Mining fix (Mithos)
Lag fix (Eagle)
Proper specialbank fix (Abaddon)
Alchemy fix (no more access denied message when grinding) (Abaddon)
Stealing fixes (can steal from a pack now, with weight of
100 + 2 * baseskill in stealing) (Abaddon)
Sent Xuri updated PlayerRace docs (Abaddon)
Sent EvilDeD guildstone potential design information (Daemar)
GetScriptItemSetting fix (Ripper)
Current Command table added to bottom of this document (Abaddon)
/SetRace command will change the GM who executes it (Abaddon)
14 December, 1999
Paperdoll fix (Abaddon)
Specialbank fix (Abaddon)
13 December, 1999
Fixes from Ripper (Abaddon)
Combat crash fix, archery butte fix, mantra say fix (Abaddon)
12 December, 1999
another round of walking fixes, added new RegionIterator class (fur)
fix for loading skills twice for some reason (fur)
11 December, 1999
fixes for spawning, map stuff, and walking (fur)
fixed call to memset() to pass a pointer (fur)
fix for monsters falling thru the floor in dungeons (fur)
Some xGM code + some skill fixes + AUTO ACCOUNT CREATION (Zippy)
10 December, 1999
Racial speech fix, and /add fix (Abaddon)
CommandLevel priv fixes (Abaddon)
Spelling fixes (Abaddon)
9 December, 1999
Racial fixes (Abaddon)
8 December, 1999
Script reloading crash fix (Abaddon & fur)
Slight race fixes and script revisions (Abaddon)
Uncommented out DISPZ in saving (fur)
Renamed several cMapStuff functions to help keep them straight (fur)
Added /wstats command for testing walking code (fur)
multiple fixes for walking-related/cache bugs (fur)
created an AverageMapHeight() function in the cMapStuff class (fur)
Racial script revision
PLAYERRACE 0 // 0 is not playerrace, 1 is playerrace
7 December, 1999
Couple of command fixes, GM priv fixes, racial fleshing out,
attempt to dump menu of scripts (Abaddon)
Priv fixes (Abaddon)
moved the const record lengths into .h file so could be used in other .cpp's (fur)
fixed bugs & improved the Map0 caching to search smarter (fur)
fixes to keep monsters from spawning into black areas (fur)
6 December, 1999
minor skills update (Abaddon)
Command table made scriptable, added commands.scp (see bottom) (Abaddon)
Slight speed tweaks to townstones (Abaddon)
Townstones and Races reserved for change by Abaddon and Daemar only
fixes to reading in multi's (fur)
fixed /npccircle command (fur)
5 December, 1999
Removal of metagm and menupriv as EvilDeD wanted (Abaddon)
4 December, 1999
Race fix, skill management packet dump, and attempt at invis spawner fix (Abaddon)
Some fixes and small changes, clean ups for muh boats (Zippy)
Invisible spawner now invisble, and makegm fix (Abaddon)
3 December, 1999
fix to NULL vendor items (fur & Quipple)
2 December, 1999
fixes for item/region spawning and npcwander bounding areas when created (fur)
fix for spawn type 62/69. still needs some work for wander areas (fur)
1 December, 1999
bumped the supported client version so they are correctly reported (fur)
30 November, 1999
Improved error out with HTML file creation (fur)
Fixed crash bug with creating new chars on linux (fur)
fix to memory corruption bug in MemCharFree()!!! (fur)
fix to make animals grey by default again (lost on a merge) (fur)
change to item spawning, but is probably not sufficient fix yet (fur)
29 November, 1999
added more checking for when fopen() fails to avoid crashes (fur)
26 November, 1999
Fireworks wands and some fixes (Zippy)
24 November, 1999
Put new encryptions fixes in (Abaddon)
Few more skill management updates (Abaddon)
23 November, 1999
Put fixes back in for Nov 17 changes (Abaddon)
22 November, 1999
Fix to newbieitems() (fur)
House redeeding done (Eagle)
More changes of sprintf() to strcpy() (fur)
21 November, 1999
Fixed several crash bugs with closescript() (fur)
made the cMapStuff caching methods private (fur)
19-20 November, 1999
Fixed CVS after it had accidentally had some old stuff checked in (fur)
Fixed makefile to work under linux again (fur)
fixes for sending socket = -1 to SpawnItem() by adding extra argument to it (fur)
removed PACKED attribute for linux and hand-padded some structs to avoid
bus errors on linux (fur)
17 November, 1999
Removed redundant references, changed sprintf()s to strcpy()s (Abaddon)
added racial weapons back to combat (Abaddon)
minor strcopy updates (Eagle)
newbie gold fixes (Eagle)
fur's crash fixes including SpawnItem() changes (fur)
fixes to avoid blowing up when deleting spells[] (fur)
rewrote misleading map file loading messages to hopefully cut down on
tech support issues in the future (fur)
added documentation for flags/packets (fur)
made sure everything was cleared out when cMapStuff is created (fur)
16 November, 1999
Inserted fixes made by LB(?), fixed to compile under VC++ (fur)
fixes to compile under linux, also crash bug fix (fur)
>>>>>>> 1.18
15 November, 70.0101
Z change error fixes, doors opening, some triggers (LB?)
9 November, 1999 69.04.05t
Five more crash bugs fixed (fur)
7 November, 1999
Fixed NPC/Item save in wind and some dungeons (Abaddon)
Fixed a couple of racial weather affect bugs (Abaddon)
5 November, 1999
Fixed crash bug with /glow and /unglow (fur)
Added missing iron gate (0x0824) to doortypes (fur)
Made /add automatically settype=12 for doors (fur)
Fixed region spawning/NLIST bug (fur)
Fix to items made with /tile disappearing (fur)
3 November, 1999
Rewrites of map and map caching (fur)
*Note, Although it now uses less memory than it previously did, it reports
that it is using about 5M instead of the previous 2M. This is because it
previously did not report the 3M required to hold the static index.
It also allocates this 3M static index whether you have caching enabled or not.
I am reluctant to fix this now, and rewrite even more than I already have since I'm
trying to get the map/walking code to stabalize again for the .05f release.
Fixed monsters walking thru walls which I broke earlier (fur)
2 November - 29 October, 1999 (69.04.04t release)
Rewrites/fixes to walking (fur)
Fix to static caching (CACHE_MULL 1 in server.scp) (fur)
Fix for /npccircle not getting saved (fur)
More porting fixes for linux (fur)
NPCs walking speed halved (Abaddon)
16 October, 1999
Magic bug properly fixed (Abaddon)
Day/night now is definitely fixed (Abaddon)
Vectors were merged, but taken out again, cause VC 5 doesn't (Abaddon)
build it well at all (major errors, 670 errors)
Major speedups to item and npc script loading (Krazyglue)
Speedups to InitItem (Krazyglue)
Weather spams less (Abaddon)
14 October, 1999
Magic should be fixed now (Abaddon)
memset used in InitItem, rather than a bunch of =0; (Krazyglue)
Weather should be fixed, as well as day and night cycles (Abaddon)
(Doesn't use a timer, currently. Static counter type thing)
Fatal magic exception got fixed (Abaddon)
13 October, 1999
Tuning to the memory allocation and deallocation (Krazyglue)
Item decay fixes (item in container no decay) (JustMichael)
NPC dyeing fixes (DyeItem and DyeTarget) (Abaddon)
Magic should be fixed (Abaddon)
Removed the possibility of NOT caching spells (Abaddon)
Weather should be fixed (Abaddon)
Significant amount of xGM implemented server side (Abaddon)
12 October, 1999
Minor tweak, but not a real bug fix, to magic (Abaddon)
11 October, 1999
malloc and realloc completely replaced with new (Krazyglue)
item and npc loading speedups (Krazyglue)
fixed "delete magic" problem (Krazyglue)
spells permanently cached (Abaddon)
10 October, 1999
Fixed a very nasty crash bug with magic (Abaddon)
Server crashes on exit, when trying to "delete Magic" (Abaddon)
Merged in Zippy's new walking code (Abaddon)
09 October, 1999
Apparantely, Linux doesn't have atoi, even though it has itoa (Abaddon)
Merged in some of Krazy's stuff... new instead of mallocs (Krazyglue)
Better memory and file cleanup (Krazyglue)
Possible fix for the blue monsters problem (Abaddon)
Some Dead and commented code removed (Abaddon)
08 October, 1999
Implemented fire and ice arrows (Abaddon)
Many sprintf's converted to strcpy's (Krazyglue's team)
Spells are cacheable (Krazyglue's team)
Spell cache is optionable (Abaddon)
Found a potential way to remove the monsters weakening (Abaddon)
STR, DEX and INT cap only applies to PCs (includes GMs) (Abaddon)
newSelectSpell2Cast streamlined a touch (Abaddon)
GMs no longer need reagants to cast spells (Abaddon)
GMs no longer can cast spells in jail (we want to jail em!) (Abaddon)
Fixed a potential you can't cast in region bug (Abaddon)
A Win32 script fix broke a linux fix... both fixes in now (Abaddon & Tseramed)
07 October, 1999
Chaos gate fixes (Kashyyyk)
playTileSound fixes (Kashyyyk)
06 October, 1999
playTileSound fixes (Abaddon & Kashyyyk)
new NPC walking code, with pathfinding (Zippy)
xGM support in server now (Zippy)
Pets highlight same colour as owner (Zippy)
StaticInit returns int, not char (Abaddon)
05 October, 1999
Pets that guard now follow you (Abaddon)
New smoking sound (Abaddon)
Chaos/Order gates fixed (Abaddon & Kashyyyk)
Early playTileSound function implemented (Abaddon)
A minor Linux fix (Abaddon)
Burning meat makes burnt meat (Abaddon)
04 October, 1999
Running NPCs now scriptable (Abaddon)
Linux fixes (Tseramed)
npcattacktarget should no longer spam as much (Abaddon)
03 October, 1999
Pet Guarding for owner added (Abaddon)
Running NPCs (Abaddon courtesy of Ripper)
Pet attack fixes (Abaddon)
Walking fixes (JustMichael)
Some sprintfs turned to strcpys (Krazyglue)
Borland fixes merged in (Krazyglue)
Moved most #defines to typedefs.h (Abaddon)
Moved structures to uoxstruct.h (Abaddon)
Borland, makefile and Visual C project information put in (Abaddon)
02 October, 1999
Smoking in and revised (Abaddon)
Decay fixes (JustMichael)
01 October, 1999
Pet attack stuff put in (Ripper)
Warnings reduced down to 5 (Abaddon)
Useful information:
AI Types:
32 Pet's that guard
Item types:
185 can smoke item
setting ITEMSDECAY 1 in house.scp allows items to decay there
New Commands:
/glow Makes an item glow
/unglow Turns off the glowing item
xGM Updates
0x03: // Add item
0x04: // where am I?
0x05: // kill
0x06: // Resend
0x07: // teleport
0x08: // Make GM
0x09: // Jail
0x0A: // xbank
Older updates:
September 1999
Lots and lots of Bug Fixes (Abaddon,Zippy,Revana,JustMichael)
August 1999
Player Races added (Abaddon)
Weather System added (Abaddon)