[ARCHIVED] Latest Version of UOX3 (Updated March 8th 2006)

Where we archive the version changelog threads
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Code: Select all

[color=yellow]2/15/2006 - grimson[/color]
	Fixed 3D client crashes with CChar::talkAll() and  CChar::talk(), when the text color
	is 0x0000 it will be set to the default of 0x5A.
	Changed cMagic::MagicDamage() again, so that the murder count is increased when needed
	and NPCs fight back when they get attacked with a spell.
Edit:

Code: Select all

[color=yellow]2/15/2006 - grimson[/color]
	Fixed the text message of the evaluating intelligence skill.
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Code: Select all

[color=yellow]2/15/2006 - giwo (0.98-3.3g [3.4 BETA])[/color]
	Changed create.dfn handling so ID's of 0 (default) display nothing on the gump.
	Updated create.dfn menu's with "Previous Menu" entries.
	Removed resource counts before launching create menu's, as the create menu handles that.
	Added LEATHER resource type for create.dfn
	Added cloth ID's to CLOTH resource type.
Scott
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Code: Select all

[color=yellow]2/15/2006 - giwo (0.98-3.3h [3.4 BETA])[/color]
	Marked StringToNum(), NumToString(), NumToHexString() for later deletion, please use built-in JS method .toString() and function parseInt() in their place.
	Updated all JS files to use toString() and parseInt().
	Implemented JS props .stone and .master for Guilds.
	Removed the following JS functions as they are superfluous.
		IsRegionGuarded
		CanMarkInRegion
		CanRecallInRegion
		CanGateInRegion
		GetGuildType
		GetGuildName
		SetGuildType
		SetGuildName
		SetGuildMaster
		GetNumGuildMembers
		GetGuildStone
		GetTownMayor
		GetTownRace
		SetTownRace
		GetTownTax
		GetTownTaxResource
		SetTownTax
		SetTownTaxResource
Scott
Maarc
Developer
Posts: 576
Joined: Sat Mar 27, 2004 6:22 am
Location: Fleet, UK
Has thanked: 0
Been thanked: 0
Contact:

Post by Maarc »

Anyone else having trouble actually getting in and working properly? I can login fine, but either a) I cannot see any items I'm wearing or b) I cannot *do* anything once in. 2d and 3d, 5.0.1i and j, nothing works. Clean checkout of CVS too.
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

Hmm works fine here :| I've been decorating my ass off the past few days (done Moonglow, Serpents Hold, Magincia, just started on Ocllo) and UOX3 has been running more or less constantly, with no problems whatsoever. :|
-= Ho Eyo He Hum =-
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

Btw, giwo - you forgot to commit the updated cScript.cpp ;P
-= Ho Eyo He Hum =-
Maarc
Developer
Posts: 576
Joined: Sat Mar 27, 2004 6:22 am
Location: Fleet, UK
Has thanked: 0
Been thanked: 0
Contact:

Post by Maarc »

Code: Select all

[color=yellow]16th February, 2006 - Maarc (0.98-3.3i [3.4 BETA])[/color]
	Committed some fixes to giwo's last commit (missed some changes in cScript.cpp that was blocking people from compiling)
	Removed a lot of commented stuff.  Dead code that's not used any more and things like that have been reduced
	Begun damage/healing tracking support.  All places in C++ code should be covered (will need to update JS engine).  Healing and damage is now tracked per character, so that they can find out who has damaged/healed them the most.  If healing/damage hasn't occurred in the past 5 minutes, they get taken off the list
	An offshoot of the damage tracking stuff is a change to combat.  Fame/karma/kills has been moved into CBaseObject, because in future, we'll look at tracking fame/karma/kills updates for weapons and armour (so if you kill repeatedly with a sword, the sword's kill count increases)
	Much of the fame/karma/kills stuff isn't done, and currently, we don't take advantage of the damage tracking.  Future progressive updates will help with karma/fame parcelling on death, and to help NPCs make smarter decisions in combat
	Broke out packet 0xBF into a CPI class of it's own.  Rather than making it a huge monolithic class, it internally hands it off to other packet handling classes
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Maarc wrote:

Code: Select all

Begun damage/healing tracking support.  All places in C++ code should be covered (will need to update JS engine).  Healing and damage is now tracked per character, so that they can find out who has damaged/healed them the most.  If healing/damage hasn't occurred in the past 5 minutes, they get taken off the list
Gives a build error using VC6:
...\projects\uox3\source\cChar.cpp(5026) : error C2374: 'i' : redefinition; multiple initialization
Edit, and when commenting the second loop out I get the following error:
...\projects\uox3\source\CDataList.h(168) : error C2065: 'sort' : undeclared identifier
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Xuri wrote:Hmm works fine here :| I've been decorating my ass off the past few days (done Moonglow, Serpents Hold, Magincia, just started on Ocllo) and UOX3 has been running more or less constantly, with no problems whatsoever. :|
Xuri... has anyone told you recently that you ROCK!? :)

As for cScript.cpp... heh... yeah... sorry 'bout that. I've been playing with some changes to the JS handling so I've gotten used to skipping over that file when merging... silly me.

Maarc: I've been testing my changes pretty religiously and never had issues logging in. I haven't even gotten the login refresh issue since we disabled the loginthread.
Scott
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Code: Select all

[color=yellow]2/16/2006 - grimson (0.98-3.3j [3.4 BETA])[/color]
	Fixed VC6 build errors (thanks to giwo).
	Wrote all available race settings into the header of races.dfn and documented a few of them.
	Rewrote parts of the weather system:
		Added weather type storm.
		Heat wave and cold snap are calculated once per uo day and set the temperature to a fixed value
		between MAXTEMP and HEATINTENSITY resp. COLDINTENSITY and MINTEMP.
		Storm, Snow and Rain are calculated oncer per uo hour.
		Rewrote doWeatherEffect() to better seperate the different weather effects and to change the way
		they are calculated.
		Added new settings to races.dfn:
			HEATLEVEL - Sets the minimum heat at which the race get's damaged.
			COLDLEVEL - Sets the minimum cold at which the race get's damaged.
			STORMAFFECT - Defines if the race is affected by a storm
			STORMDAMAGE - Defines the damage a race takes from storm
			STORMSECS - Defines the interval at which the races takes damage from a storm.
Maarc
Developer
Posts: 576
Joined: Sat Mar 27, 2004 6:22 am
Location: Fleet, UK
Has thanked: 0
Been thanked: 0
Contact:

Post by Maarc »

Actually giwo, my fault, is was a dodgy change I had made yesterday during some of my cleanup. In my zeal to get rid of commented code, I sort of, well, accidentally, umm, deleted real code :P So the skills packet was always being sent out short, and so the client was locking up. Found the problem before I committed though :)
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Code: Select all

[color=yellow]2/17/2006 - grimson (0.98-3.3k [3.4 BETA])[/color]
	Added cMapStuff::inBuilding() function to determine wheter a given set of coordinates
	is inside a building. It does this by checking whether there is a static or multi above
	the coordinates.
	Added inBuilding() and SetInBuilding() functions to CChar and set it on movement and
	teleport.
	Use the new inBuilding() function to stop/start weather effects as soon as a player
	enters or leaves a building.
	Send the light level and weather status directly after a player log's in.
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Code: Select all

[color=yellow]2/17/2006 - grimson[/color]
	Fixed some bugs in calculating the heat/cold damage in doWeatherEffect().
	Rain now lowers the current temperature by 5, a storm by 10.
	Moved the sending of the light level and weather status from startChar() into
	CChar::Teleport() by adding a force forceUpdateLight option to checkRegion().
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Code: Select all

[color=yellow]2/17/2006 - grimson (0.98-3.3l [3.4 BETA])[/color]
	Rewrote the doLightEffect() function, it now uses the current light level to
	scale the light damage, it also respects the LIGHTLEVEL setting from races.dfn
	and it will stop doing light damage if you are inside a building.
	Added a the possibility that a char gets hit by a lightning during a storm,
	this is controlled by the LIGHTNINGAFFECT, LIGHTNINGDAMAGE and LIGHTNINGCHANCE
	settings in races.dfn.
	Added storm to the IsRaceWeakToWeather() JS function.
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

Nice, Grimson :))
-= Ho Eyo He Hum =-
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Code: Select all

[color=yellow]2/17/2006 - grimson (0.98-3.3m [3.4 BETA])[/color]
	Light and weather effects now also work on NPCs.
	Added 3 new JS events:
		onLightChange( mChar, lightLevel )
		onWeatherChange( mChar, weatherId )
		onTempChange( mChar, temperature )
	These events also work on the global script id and get called for players and NPCs.
Examples for those 3 events:

Code: Select all

function onLightChange( pChanging, newStatus )
{
	var socket = pChanging.socket;
	if( socket )
	{
		socket.SysMessage( "The current light level is: " + newStatus);
	}
	else
	{
		pChanging.TextMessage( "The current light level is: " + newStatus);
	}
	return;
}

function onWeatherChange( pChanging, newStatus )
{
	var socket = pChanging.socket;
	if( socket )
	{
		socket.SysMessage( "The current weather is: " + newStatus);
	}
	else
	{
		pChanging.TextMessage( "The current light level is: " + newStatus);
	}
	return;
}

function onTempChange( pChanging, newStatus )
{
	var socket = pChanging.socket;
	if( socket )
	{
		socket.SysMessage( "The current temperature is: " + newStatus);
	}
	else
	{
		pChanging.TextMessage( "The current light level is: " + newStatus);
	}
	return;
}
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Code: Select all

[color=yellow]2/17/2006 - giwo (0.98-3.3n [3.4 BETA])[/color]
	Moved Skills::TinkerAxle out to JS.
	Moved Skills::TinkerAwg out to JS.
	Moved Skills::TinkerClock out to JS.
	Moved TinkerSextant functionality out to JS.
	Removed several item types from itemtypes.dfn as they are now handled by JS.
Scott
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Code: Select all

[color=yellow]2/17/2006 - giwo (0.98-3.3p [3.4 BETA])[/color]
	Fixed an issue causing the Snooping skill not to function.
	Fixed an issue causing GM Polymorph Menu not to function correctly.
	Fixed an issue causing Doors not to be added to the house they were part of.
	Moved the Multi check to containers specifically rather than on any item use, to enable use of house signs and doors from outside.
Scott
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Code: Select all

[color=yellow]2/18/2006 - grimson (0.98-3.3q [3.4 BETA])[/color]
	Stopped saving the weather type in regions.wsc, this prevented changes from regions.dfn to apply.
	Make use of the SNOWINTENSITY, RAININTENSITY and STORMINTENSITY from weatherab.dfn, they are now
	used in calculating the damage a char takes from these elements. The damage is scaled by calculating
	a random number between 0 and the intensity, this number is then used as a percent value against
	the damage value in races.dfn.
Edit:

Code: Select all

[color=yellow]2/18/2006 - grimson[/color]
	Fixed a small bug that prevent a storm from ending.
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

Have I told you guys lately how much you ROCK!? I nearly have a tears in the corners of my eyes here from all the love UOX3 has gotten recently, and I haven't been this excited since I got my first magic silver weapon of vanquishing! ;P

Keep up the good work, everyone! :) No pressure, mind - take your time ;)
-= Ho Eyo He Hum =-
Locked