[color=yellow]2/18/2006 - giwo (0.98-3.3r [3.4 RC])[/color]
Updated the SkillCheck in HandleCombat() to be based upon the defenders tactics skill.
Updated Skills::SkillCheck() to have a chance of success based upon the maximum skill + 100, rather than 1000.
Fixed several issues causing spellbooks not to display properly.
Fixed an issue causing Strength, Dexterity, and Intelligence to permanently drop when they are temporarily lowered.
Updated skills.dfn a bit to improve skill gain between levels 0.00 and 1.00
Added two new shield ID's to CItem::IsShieldType().
Added spacing after fame titles to fix a paperdoll display issue.
[color=yellow]2/19/2006 - grimson (0.98-3.3s [3.4 RC])[/color]
Fixed multiple issues in LineOfSight() that caused miscalculations of the coordinates that should be checked.
Added line of sight checks to CPIPopupMenuRequest::Handle(), CBaseVendorResponse::CBaseVendorResponse() and
CPIDblClick::Handle() to prevent people from using items and vendors through walls.
[color=yellow]2/19/2006 - grimson (0.98-3.3t [3.4 RC])[/color]
Changed HandleWeatherChanges() so it updates the weather values of NPCs too.
Changed reading the SNOWINTENSITY, RAININTENSITY and STORMINTENSITY in weatherab.dfn so that
you can set a min and max value for the damage percent. See the examples in the updated weatherab.dfn.
Added two new values to weatherab.dfn:
STORMTEMPDROP this sets the amount the temperature drops when there is a storm
RAINTEMPDROP this sets the amount the temperature drops when it is raining.
[color=yellow]2/19/2006 - grimson (0.98-3.3u [3.4 RC])[/color]
Renamed HandleWeatherChanges() to CheckCharInsideBuilding() as it is more apropriate.
Stopped weather effects affecting ghosts of death players.
Partially rewrote cMovement::SendWalkToOtherPlayers to correctly send chars and remove
them from sight.
Changed CPExtMove::CopyData() so the running state of player chars is correctly send.
[color=yellow]2/19/2006 - giwo (0.98-3.3v [3.4 RC])[/color]
Fixed a minor issue with regions.dfn causing Yew not to be considered a town.
Added ability to xgate to a specific x, y, z. and worldnumber
Fixed a minor issue with teleporter.js.
Updated TeleportLocations to teleport any players pets that are inrange with them.
Fixed a minor issue with Moongates teleporting Pets.
Fixed a compiler error in VC 2003 caused by fabs(). Note that using fabs() should only be used with floats & doubles.
Updated the grizzly and polar bear entries in creatures.dfn to have the proper sounds.
Modified HandleCombat() so the target has a chance to gain Tactics when hit.
Gave armor a 50% chance not to be damaged when successfully hit.
Reduced armor damage to 0-1 points (rather than 0-2) when hit.
Updated Towns to be escort regions by default in regions.dfn
[color=yellow]2/20/2006 - giwo (0.98-3.4)[/color]
Fixed an issue causing possible account corruption.
[color=yellow]20th February, 2006 - Maarc[/color]
Added two functions to the JS engine for characters, Heal() and Damage()
void Damage( amtDamaged, [attacker] );
void Heal( amtHealed, [healer] );
The second parameters are optional, but basically it ensures that any change through here is tracked
[color=yellow]2/20/2006 - giwo (0.98-3.4a [3.5 BETA])[/color]
Added carpentry, tinker, leather repair, bow repair, bandage, sewing kit, mortar, and archery butte ID's to js_objectassociations.scp
Corrected an issue causing Create menu's to double up when reloading the DFN's.
Added a check to ensure a character has a backpack when coloring the "Pack" option in the popup menu.
Fixed an issue causing character paperdolls to have incorrect spacing.
JS Method .SetTag() now accepts boolean values (true/false).
[color=yellow]2/21/2006 - giwo (0.98-3.4b [3.5 BETA])[/color]
Added AssocScript tag to effect saving (to make JS timers persistant).
Updated JS .SetPoisoned() to take one value for changing a poison value without setting a new timer.
Updated healing.js and made it function entirely in JS.
Removed tempeffects case 14, 22, 23, and 24, as they are handled by JS now.
Made items created with JS CreateBlankItem() decayable by default.
Fixed some issues with axe.js, put tree-chopping on a timer with a skill delay.
Fixed several issues where items were not decayable that should be.
Defaulted JS CreateBlankItem() to set items to decayable.
[color=yellow]2/21/2006 - grimson (0.98-3.4c [3.5 BETA])[/color]
Do an immediate update of the charflag and the char upon taming and un-taming.
First part of the rewrote hunger system:
Moved hunger calculations and immediate effects to CChar::DoHunger( )
You can now set hunger dependend on races, this uses a new tag in races.dfn:
HUNGER=#,# the first value is the hunger rate the second the hunger damage.
Note for players char the settings from the uox.ini apply if
there are no settings specified for the race.
Re-activated the pet-hunger system. Pets will now become hungry and upon starving
there is a configurable chance that they may become wild again. Note: Pets won't
die from hunger and their hunger value is reset after becoming wild again. The
hunger rate and the chance to become wild again can be configured by a new tag:
TAMEDHUNGER=# # the first value is the hunger rate, the second the chance in %
of the pet becoming wild again. Note: The values are seperated
with a space instead of a comma on this tag.
To feed a pet just drag some food on it, currently all types of food work.
There is also another new DFN tag:
WILLHUNGER=# if this is set to 0 the NPC will not suffer from any type of hunger.
Note: You can also change that value for specific chars by using
the already existing .willhunger JS property.
DFN Changes:
Added the HUNGER=#,# description to the header of races.dfn.
Added the TAMEDHUNGER tag to mounts.dfn with a hunger rate of 600 and a chance to become
wild of 30%.
[color=yellow]2/21/2006 - grimson (0.98-3.4d [3.5 BETA])[/color]
Changed cCharStuff::addRandomLoot() to look for the lootlist inside the items folder because it is there.
Second part of the rewrote hunger system:
Added a new DFN tag for tamed pets:
FOOD=abc This sets the name of the foodlist for the tamed item.
Added a new list type for items:
FOODLIST Defines a list of item IDs a tamed char will accept as food.
DFN Changes:
Added a new file foodlists.dfn to the items folder containing an example list for horses.
Added the horse foodlist to mounts.dfn.
[color=yellow]2/21/2006 - grimson (0.98-3.4e [3.5 BETA])[/color]
Third part of the rewrote hunger system:
Added a new AI type "aiANIMAL" with the number 6. This AI does nothing until the hunger level
reaches a value of 4, then it looks for other animals, that don't have the aiANIMAL, and attacks
them. If the hunger level goes below 2 it will attack everything in range, even player chars.
If the animal kills it's target it's hunger level will be set to 6 again.
Added 3 new JS propertys for chars:
.tamedHungerRate returns or sets the rate the char hungers when it is tamed.
.hungerWildChance returns or sets the chance of the char becoming wild if it's starving.
.foodList returns or sets the name of the foodlist for the char.
DFN Changes:
Changed animals.dfn, added NPCAI=6 to all animals belonging to the race Predator.
Changed races.dfn, all members of the race Predator change their hunger level every 300 seconds
and get damaged for 5 points when starving.
[color=yellow]2/21/2006 - grimson (0.98-3.4f [3.5 BETA])[/color]
Changed JS function CBase_Teleport() to prevent player chars from being teleport into a invalid world
which rendered the player char useless as the client cannot login using that char afterwards.
Changed CheckCharInsideBuilding() to prevent a harmless error message when mounting a mount.
Tweaks to the new hunger system:
Tamed chars only hunger while the player that tamed them is online.
Tamed mounts don't hunger when they are mounted by a player.
[color=yellow]2/22/2006 - grimson[/color]
Fixed a bug in CBase_Teleport() introduced by my earlier changes that caused teleports to other worlds
to fail with big x and/or y coordinates.
Grimson wrote:Tamed chars only hunger while the player that tamed them is online
What happens if a newbie player runs around in a forest, tames all the animals he can see, for practice purposes, and then logs off never again to return?
Then warrior-man newbie goes and slays all the fierce dogs and cats with his new newbie katana!
Actually that brings up a good point. However, since my shard is smaller, I actually like the "no-hunger while offline" option. Perhaphs we can toggle it with avariable in the .ini file?
OSI's solution to this was to allow you to "stable" your pets at the StableMaster so they would not go wild on you. This came at a fee, however, and a limit on how many pets each player could stable.
giwo wrote:OSI's solution to this was to allow you to "stable" your pets at the StableMaster so they would not go wild on you. This came at a fee, however, and a limit on how many pets each player could stable.
A StableMaster should be possible via JS. I could also try to make this a ini setting, so you can choose yourself whether they hunger, while the player is offline, or not.
Another solution would be to check the last time the player was online (this is AFAIK already stored) and if it's above a certain limit turn his pets go wild again.
I'll have a look at those.
Last edited by Grimson on Thu Feb 23, 2006 7:19 am, edited 1 time in total.