12-07-2013, Coruja (Script pack)
-Updated #2171: sphere_defs.scp (added missing midis SE/ML/HS)
19-07-2013, Ben
-Added: Triggers @Enter, @Exit, and @Step to ROOMDEFs
(Script pack)
-Updated #2173: some components in sphere_item_multis_houses_ships.scp
-Removed: region_flag_globalname in sphere_def.scp since it's no longer in use
-Removed: region_flag_globalname from sphere_map0.scp and sphere_map2.scp
-Added: REGION_FLAG_ANNOUNCE to regions that have a TAG.ANNOUNCEMNT in sphere_map0.scp

20-07-2013, Ben
-Fixed: Setting region/room tags in game (ex: .region.tag.test 1) not setting properly.

05-08-2013, Ben
-Added #2175: local.CreateObject1  to create food spell. If set, it will produce this item when the spell if done.
-Modified #2181:(script pack) Incorrect DUPELIST on i_keg_wood
-Added #2148: tag.NoRestock on vendors and regions. Setting either one to 1 will stop routine restocking of vendors
-Fixed: Error in ISTEVENT.
-Added #2177:
 -  to check if a timerf exists. Returns the time left in sec if it exists or 0 if not.
 - TIMERF STOP,functionname to stop a specific timerf.
-Removed #2180:(script pack) i_orb and i_minion_leather from spherechar_lbr.scp
-Added #2183: EF_FixKillTrigger 0x02 to possibly fix Exp system and @Kill trigger
-Fixed #2159: Items with ATTR attr_newbie should not be stuck on NPCs with ALLOWNEWBTRANSFER on.
-Fixed #2172: (script pack) Magery spell sound def adjusted.

13-08-2013, Ben
-Fixed #2189: Changed ATTACKER.CLEAR from readable to writable.

25-08-2013, Ben
-Added: Auto detection of in use triggers (Vjaka's code from 0.57 source)
-Removed: ExperienceMode 0x20 and 0x40 since Auto trigger detection is enabled.
-Removed: EF_New_Triggers, EF_Minimize_Triggers, and EF_NPCAct_Triggers since Auto trigger detection is enabled.
-Removed: @NPCHearNeed trigger in sphere_events_human.scp since this trigger doesn't exist!

27-08-2013, RanXerox
-Replaced hardcoded magic resistance string
 (Script Pack)
-Correction to i_keg_wood_2 (it is not a container)
-Corrected spelling mistakes ("entrance" not "entrace") in sphere_map2.scp
-Added Armored Boura to mount defs in sphere_defs.scp
-Added more random sets in sphere_defs.scp
-Added more sounds in sphere_defs.scp
-Renamed some ITEMDEFs (noted in sphere_backward_compatibility.scp)
-Formatted scripts and updated syntax in numerous files
-Added t_acid terrain type to sphere_types.scp (not used yet)
-Moved numerous ITEMDEFs from one file to another
-Added numerous new ITEMDEFs
-Added more sphereCrypt.ini entries
-Differentiate mod* and max* in the info dialog
-Added placeholders for new spells
-Magery Spell flags made consistent
-Magery spell resources modified to match the spellbook in modern clients
-Numerous additions to creature height table in sphere.defs

28-08-2013, RanXerox (Script Pack)
-Added more ITEMDEFs
-Fixed DUPELIST entries
-Changed some Axis categories, subsections and descriptions
-Moved ITEMDEFs from one file to another
-Major changes to doors script file in preparation for making new doors work

31-08-2013, Ben
-Fixed #2193: Mounts will die instantly when killed while mounted.

01-09-2013, RanXerox (Script Pack)
-Moved numerous ITEMDEFs
-Added numerous ITEMDEFs
-Changed some DEFNAMEs
-Fixed some spelling errors

02-09-2013, Ben
-Added: 04e and 052 tiles to t_water in sphere_types.scp
-Fixed #2200: Custom trigger not working with new automated trigger detection 
-Fixed #2199: Resource gembits being set to 0 everytime.

03-09-2013, Ben
-Fixed #2201: @itemXXX triggers not all working.

04-09-2013, RanXerox
-Fixed a bug in @kill trigger where, if enabled, a killer would not get credit
 (karma, fame, experience) for the kill.

07-09-2013, Ben
-Added #1805: ColorNotoInvul with default value of 0x35 and NotoInvul 0x40 flag
 for PetsInheritNotoriety.
-Fixed #2186: Dialoglist not being updated when closing dialogs.

08-09-2013, RanXerox
-Fixed #2203: Added missing Action values to sphere_dialog.scp
-Fixed #2204: Cooking and Crafting skills now behave like proper crafting skills

08-09-2013, Ben
-Fixed #2191: Turning at the map edge with boats will not trow a console error.
-Fixed #2192: Should not be able to turn on another boat.

10-09-2013, Ben
-Fixed #2141: WorldGem Bits should now recognise map edge properly.

11-09-2013, RanXerox
-Default DISPID for creation of T_SEED items now configured in Sphere_Defs.scp
-New SphereCrypt.ini key

15-09-2013, Ben
-Fixed: @ResourceFound trigger not working.
-Fixed: Error caused by chars spawning when a GM is standing close to point 0,0
-Fixed #2207: ARGN1 in @SELL and @ITEMSELL is now the sold amount and not the total amount.
-Added:   ARGN2 in @SELL and @ITEMSELL is the price of the items sold after vendermarkup (ARGN2 / ARGN1 = price per unit)
-Fixed #2205: Changed Noto colors to match OSI default.
-Fixed #2194: Functions starting with any hardcoded functions like LIST and followed with _ should now work as intended.

17-09-2013, Ben
-Added: Runto npc command. Accepts a point or region name as argument.
-Changed: Goto npc command to accept region name as argument.
-Added: NPC_AI_PERSISTENTPATH 0x0400 to the NPCAI setting in sphere.ini.
        NPC will retry multiple times to find it's path.
-Updated: Sphere.ini and sphere_msg.scp with new settings

22-09-2013, Ben
-Fixed #2076: Picking up corpse crashing server (not tested)

01-10-2013, Ben
-Fixed #2211: Corpse having wrong MORE values.

02-10-2013, Ben
-Fixed #2214: IsTimerF.function and TIMERF STOP,function not working properly

06-10-2013, Ben
-Fixed #2080: Items with different tags will no longer stack
-Added #2210: Support for item stacking with EF_ItemStacking 0x04(probably not 100% OSI style but should do the trick (maybe even better))

12-10-2013, Ben
-Fixed #2219: P.COMPONENTS.x always returning 0 on maps bigger then 0
-Remove GM check in Item stacking

15-10-2013, RanXerox
-Removed 0x from flag explanations in sphere.ini since spherescript does not use 0x to indicate hex
-More changes to script pack than can be counted!
 - Dozens of files deleted, split, added, renamed, etc.
 - Many hundreds of ITEMDEFs and CHARDEFs shuffled from one place to another.
 - Lots of modifications to DUPELIST and DUPEITEM, etc.

16-10-2013, RanXerox (Script Pack)
-Converted Unix files to DOS format
-Replaced: references to the missing MESSAGELOC function
-Added: i_canal ITEMDEF (now all items can be used in custom foundation multi's)
-Fixed #2212: renamed Horde Demons
-Fixed #2215: modified WEIGHT on i_dragonscale
-Removed: bad reference to i_bear_skull
-Added: some useful NPC functions
-Renamed: sphere_items_seige.scp (...it's spelled Siege)
-Finished scripting more lightsources

17-10-2013, RanXerox (Script Pack)
-Switched: 0f3e and 0f3f (i_arrow) because older clients have a rock as ITEMDEF 0f3e
-Removed: the name and title coloration from vendors, citizens, and guildmasters
-Fixed: a bad reference to random_skirts
-Fixed: broken SYSMESSAGELOC (they were all missing color)
-Improved: corrosive slime now drops acid pool when threatened
-Added: missing stair multi's
-Added: HIREDAYWAGE back to sailors and mercenaries
-Added: deed's for all the house foundations
-Added: some missing NPC functions (is cursed)
-Added: some missing combat timers (paralyzing blow and block healing)

18-10-2013, RanXerox (Script Pack)
-Fixed: armored steed figurine
-Fixed: syntax (SERV.NEWITEM instead of SRC.NEWITEM and NEW. instead of SRC.ACT.)
-Fixed: fukiya (dart shooter)
-Fixed: various mounts that had errors with the mounted animation
-Fixed: some entries in sphere_typedefs.scp
-Fixed: implementation of monsters that "summon" other monsters is now consistent
-Fixed: console errors in some NPC events
-Fixed: Paroxysmus loot (he dropped himself as an icon instead of his pet dragon)
-Fixed #1536: Pack animals with wrong maxweight

18-10-2013, Ben
-Fixed #2222: Shrink not working anymore.
-Added: UID of shrunken pet is now accessible in ACT of the player.

19-10-2013, Ben
-Fixed #2218: Client crash caused by removefromview when bank is open.
-Added: CLOSE function to container items
-Added: CLOSEPROFILE, CLOSESTATUS, and CLOSEPAPERDOLL functions to characters. 
        Can take a UID as argument of the char's window you whish to close.
-Fixed #2221,#1933,#1618: EF_Walkcheck blocking some stairs.

20-10-2013, RanXerox
-Changed: animation frames removed from DUPELIST on i_mongbat_dartboard
-Changed: value for color_o_silver
-Added: new CHARDEF placeholder for tiger animations- Changed: the value of color_o_silver
-Added: 7.0.33 encryption key

21-10-2013, RanXerox (Script Pack)
-Separated FOODTYPE and MAXFOOD in the monster files

23-10-2013, RanXerox (Script Pack)
-Added: more candy and chocolate related ITEMDEFs
-Fixed: standing lamps
-Added: Charybdis (and tentacle), Tiger, and Killer Pumpkin CHARDEFs

24-10-2013, RanXerox (Script Pack)
-Fixed: bad defname reference in loot (should be i_mask_daemon)
-Fixed: tall jack-o-lanterns
-Added: spawn groups for Hythloth
-Moved: t_equipitem moved to its own file (since it will eventually be quite large)
-Modified: t_equipitem now implements:
  WARNING: Because many of the equipable items already had these TAGs, anyone
           using those items on a live shard should make sure all those items
           in-game are unequipped before installing this change!

25-10-2013, RanXerox (Script Pack)
-Minor updates to maps 2-5

27-10-2013, Ben
-Fixed #2227: Region.ISEVENT not working.
-Fixed #2229: STRREVERSE doesnt invert the entire string. (This was also the case for STRTOLOWER and STRTOUPPER)
-Added: DEFLIST which acts like LIST but readable only (Filled by server at loading time with lists of resources)
-Added: new Section to Sphere.ini [RESOURCELIST] with a list of resource blocks to be loaded into DEFLISTs
         Ex: Adding ITEMDEF in the RESOURCELIST will create a DEFLIST.ITEMDEF with all itemdefs loaded by the server.
-Added: Category, Subsection, and Description to ITEMDEF and CHARDEF (now the server can read them if directly in the DEF section and not under @create)

28-10-2013, Ben
-Fixed #2164: NPCs attacking from different floors
-Fixed: Issue with Client packet change

29-10-2013, RanXerox (Script Pack)
-Fixed: CHARDEFs in sphere_monsters.scp that were missing NAME or CAN
-Fixed: Bad reference to c_sea_monster in sphere_monsters.scp
-Fixed: Bad reference to e_equipitem in sphere_item_provisions_clothing.scp

29-10-2013, Ben
-Added: Cliloc support for start location in clients 7.00.13+
-Updated: Sphere_map_points0.scp with new STARTS information ([STARTS 2] includes a cliloc line as the 4th argument)
-Tweaked: Stacked items should no longer flip.

30-10-2013, RanXerox (Script Pack)
-Fixed: Improved TAG management related to TAG.OVERRIDE.REGEN* in sphere_item_typedef_equipitem.scp
-Fixed: Removed reference to jobNecromancer event from sphere_citizens.scp

31-10-2013, RanXerox (Script Pack)
-Noted: Comments in the sphere_item_typedef_equipitem.scp file were improved
-Added: HTML_REDTEXT and HTML_WHITETEXT to sphere_defs.scp
-Added: TAG.GargoyleOnly to i_gargish* weapons in sphere_item_provisions_weapons.scp

1-11-2013, RanXerox
-Modified: The weather algorithm so that if you set a sector's rainchance to 100, it will always rain
  Note: rainchance actually means "precipitation chance". If the coldchance is high enough, the precipitation will be snow.

9-11-2013, Ben
-Fixed #2238: Muldiv returning different values on linux.
-Added #2226: Dupeitem is now readable. Return 0 if not a dupeitem.
-Added #2232: Made @Rename trigger when a player changes his name
			   ARGS IN as the proposes char name
			   ARGS OUT as new char name
			   ARGO is the char getting his name changed.
10-11-2013, Ben
-Added #2210: Picking up an item in a stack will cause above items to fall unless they have attr_static or attr_move_never
-Fixed #1764: LOS issue with stacked items
-Fixed: crashed caused by items stacking too high.
-Possible fix for Pathfinding on maps other then 0. (Needs testing)

11-11-2013, Ben
-Fixed: Error with @Rename trigger causing names to have random characters
-Fixed #2010: Pathfinding now works on maps other then 0 (Been tested this time)

12-11-2013, Ben
-Fixed #2240: Time running at double speed caused by new Muldiv calculation
-Tweak: Split EF_ItemStacking into 2 setting. EF_ItemStackDrop 0x08 will take care of the item dropping part.(for debuging purposes)

17-11-2013, RanXerox (script pack)
-Fixed: all typo's of the word Axel
-Fixed: arcane clothing items
-Fixed: Gargish maul and war hammer TAGs

17-11-2013, Ben
-Added: Destroy function which is like Remove, but will not be stoped by a return 1 in @Destroy

23-11-2013, Khaos
-Added: New Character and Item variables for use with EA iprops and other support. These function as TAGs and are made for static naming.
 A manual is in the works. Some of these might change as we bind them into the hard code with further support.

24-11-2013, Khaos
-Added: New Item can flags added:
	This also allows for enchant=, etc. for each on items.
-Added: New attr_flags added.
-Added: sphere_defs.scp; new can_i_* and attr_* flags are now added to the files.

24-11-2013, Ben (script pack)
-Tweaked: sphere_dialog.scp to allow ATTR in .info dialog to use 8 chars instead of 4

25-11-2013, Khaos
-Added: can_i_recycle has been added to the core. As above; can be set with the CAN flags or as recycle=1/0.
-Added: attr_lockeddown and attr_secured. I removed these from the variables.

26-11-2013, Khaos
-Fixed: Variable typo for Dammodifier.
-Removed: removed NEWBIE behavior from attr_blessed2 and attr_cursed2.
-Modified: attr_blessed, attr_nodrop, attr_notrade, and attr_insured were added to this drop behavior and should
 by default not got to a corpse on death now if it is a player item.
-Added: Cliloc handling for ATTR_SECURE -> "locked down and secure" and ATTR_LOCKEDDOWN -> "locked down"
-Modified: AI Behavior now checks for not only attr_newbie items when looting, but now testes for the following:
 attr_insured, attr_blessed, attr_notrade, and attr_nodrop. These won't be looted by NPCs.
 INCREASEGOLD to both item and character variables.

26-11-2013, Khaos (Script Pack)
-Added: Mordaunts_House_System.zip was added to the ADDON folder containing an up-to-date version of Mordaunt's
 housing system using the new attr_flags that were added.

27-11-2013, Khaos (Script Pack)
-Changed: Spheretables.scp;
	- Commented out HELP and TOME. No function was found when tested.
	- Uncommented the maps, map points, and guild stones. Left scripts/custom commented since not everyone has this folder.
	- Moved some plevel1 functions to plevel2. They shouldn't have been in plevel1.
-Changed: sphere.ini;
	- Uncommented the maps and changed instructions for non-ml compliance.
	- Resdisp is now 7 for auto SA compliance. (I didn't touch expansion code though within the ini otherwise).
	- Uncommented ZEROPOINT for use with ML map0 and map1. Comment it out if you aren't using the newer maps.
-Changed: sphere_region.scp;
	- All regiontypes resources now add up to 100.0.

28-11-2013, XuN (Script Pack)
-Added: def.STONECONFIG_MISC_RECRUIT_MAXDISTANCE to do a control check of max distance allowed for the player being recruited.

30-11-2013, Khaos (Script Pack)
-Added: sphere_genericstone_config.scp; missing check. Sorry. XuN sent it to me after the last update.
-Modified: sphere_region.scp; it was missing the REAPAMOUNT lines from every resource. This is corrected now.

30-11-2013, Khaos
-Added: can_i_reforge/REFORGE=1/0 and attr_reforged to sphere. EA Seems to check these for reforging runic items.

-Added: PERMITTEDUSE variable on chars and items.

-Removed: ONLY* variables in favor of PERMITTEDUSE.

-Added: Permitted Player Use Event to the addon's folder in the scripts to directory; full soft code use of the new variable is
 used in that script. sphere_defs.scp now contains the soft code flag system for use with this script.
01-12-2013, XuN
Added NameLoc variable for items so you can set a ClilocID for using it as name and show up by script by showing NameLoc instead of Name. 

02-12-2013, Khaos
-CHANGED: PERMITTEDUSE to CANUSE variable on chars and items. (This was done on the empty variables for help with the base packs
 and to allow more free change usage. Binding this internally would have left out customization for others).

-CHANGED: Switched out Permitted use code in the scripts to CANUSE flagged code. Cleaner look and better wording.

-ADDED: Followerslots to Chars

03-12-2013, XuN
-Removed duplicated entry 'height_0c8 16 //DEFNAME=c_horse_tan' from sphere_defs.scp

03-12-2013, Ben (script pack)
-Added: NAMELOC functionality. It can be set for items and chars, in the *DEF sections or in scripts (not directly in game)
		If used, it will display this cliloc instead of the default name (where clilocs are shown)
		When used on chars, cliloc 1116690 is used instead of the original 1050045 to preserve prefix and suffix
04-12-2013, XuN
-Added @ResourceGather for RegionResources and @RegionResourceGather for Players:
	This trigger is being fired just before gathering skill has finished (after all animations and timings)
	Local.ResourceID is the ID of the item being gathered (Writable)
	Argn1 is the amount of local.ResourceID being gathered (Writable too)
	Return 1 cancels Gathering
05-12-2013, Khaos (Script Pack)
-Fixed the &= in the new CANUSE flags in Addons from processing an undefined symbol error.
-Added Expansion_Player_Event.rar to ADDON section for the suggested usage of EXPANSION Variable on Items and Characters.

08-12-2013, Khaos
-Fixed: Throwing is now working internally as any other ranged fight skill. It now processes gains, skilluse, etc.
 Anims were fixed for this as well. (still haven't set flying anims yet, be patient)
-Added: T_WEAPON_THROWING: Treated as a bow type with RANGE Parsing, TData3/4 values.
-Added: T_WEAPON_THROWING to sphere_defs.scp. Also added T_SOUL_FORGE and T_FURNITURE to sphere_def.scp for base pack.

13-12-2013, Khaos
-Added: EventsItem=e_youreventhere; was added to the sphere.ini and hard code. Functions as eventsplayers/pets/regions.
 This code fires on ALL items if something is in the global event and fires after tevents and before typedef. Don't overuse
 this. We found legitimacy in this addition with a few ideas it would be needed for.
-Changed: attr_nodrop and attr_notrade combined in one as Attr_NoDropTrade. Same with the two variables are now NODROPTRADE on items.
-Added: attr_artifact now takes the spot of attr_notrade
-Changed: attr_artifact items won't take fire damage on clothing unless scripted otherwise.
-Changed: sphere_defs.scp to reflect new attr_* edits.
-Changed: REQEXPANSION -> EXPANSION in the Variables on Items and Chars.

14-12-2013, Khaos
-Added: Char and Item variables for Bane and SpellConsumption
-Fixed: Possible fix for dismount trigger not being called first when mounting a mount while on a mount.

15-12-2013, Ben
		These can be set on Items in game or in the ITEMDEF section. (They can be set on all items but only in use on archery types)
-Added: AMMOCONT to Items and ITEMDEF which can take the UID of a container (for specific container) or an ID (for a type of container)

15-12-2013, XuN
-Added: Spellflag_bless and Spellflag_curse for blessing spells like Agility, Blessing,etc and for Weaken,Curse, etc.
-Modified: sphere_defs.scp and sphere_spells.scp to add these spellflags.

15-12-2013, Khaos
-Added: BONUSHITSMAX, BONUSMANAMAX, BONUSSTAMMAX, and REGENFOOD variables to prepare for a huge overhaul of the internal overrides and status
 bar packet.
 new status bar packets checks for client >= 7.0.3. Full functional now with THOSE variables and those on it. Ones added earlier for the mis-
 informed information won't be leaving the servers since they might be for EC.
-Changed: PlayerStatusUpdate Packet now processes the variables it uses.

16-12-2013, Khaos (Script Pack)
-Changed: Changed colors_neutral range from { 1801 1887 } to { 1801 1908 } as noted on bugtracker.

22-12-2013, Ben
-Changed: LUCK, CURFOLLOWER, MAXFOLLOWER, and TITHING to work on all chars, not just players.
-Added: Support for local database (SQLite) through LDB. reference. (No External programs required!)
		-Syntax is similar to MySQL, but slightly different http://sqlite.org/lang.html
		-Functions are almost the same as DB. with a few changes.
			LDB.CONNECT "filename" to open a database file
			LDB.AEXECUTE and LDB.AQUERY are non existent
		-SQLite database manipulation program can be found here http://sqliteexpert.com/download.html

02-01-2014, Khaos (Script pack)
-Changed: This upload is containing the rework of multidef files with new naming conventions, price adjustments, etc. spheretables.scp
 has been updated to reflect loading of the multis folder. New syntax is m_* instead of i_multi_*.
-Added: Added variant versions of tents and evil compound with doors and signs. Wheat Cottage got doors and a sign as well.
-Added: sphere_defs_2.scp This will now be loaded after sphere_defs.scp containing any backwards compatibility I do.
-Fixed: Broken treasure multis should be fixed based on some old revisions I saw in an old script I had.
-Changed: Mordaunt sent me an updated housing system to match the new house and foundation defnames.
-TODO: Add in the new multidef info to deeds and vendors.
-Moved: spk_ship_cmds to speech folder.
-Fixed: New ships were using t_multi and not t_ship. I assume this might have been causing some of the alleged "bugs" with them. They
 are now all using t_ship.

03-01-2014, Ben
Fixed #2256: Reworked NPC object throwing..
->canseelos checks now applies to overrides
->changed tag.override.rock to NPC variable THROWOBJ (can take numerical or string ID now)
->changed tag.override.dam to NPC varialbe THROWDAM min,max (can also be "THROWDAM max" for non variating damage)
->added THROWRANGE min,max  (can also be "THROWRANGE max" with a min of 2 by default)
->All 3 variables are available on dynamic npc or in CHARDEF

04-01-2014, Ben
Fixed #1904: EF_WalkCheck causing some NPCs to climb impassable terrain.

05-01-2014, Ben
Added #1638: Defmessages are accessible with 
			->Also not documented but available before: Defmessages can be set with "DEFMSG.msg_name new_msg"

09-01-2014, RanXerox (Script pack)
-Fixed some duplicate itemdef and defnames

10-01-2014, XuN
Changed: MaxFood is now writable.
Added @TradeCreate trigger for chars, fired after trade windows are created:
	SRC=The other player.
	Argo=Item wich starts the trade.
	return 1 stops the trade.
Added @DropOn_Trade trigger for items:
	Act=item adding to trade window.
	Argo=Other player.
	return 1 blocks the placement.
Added @TradeClose trigger for chars, fired before a trade window is being closed (Opossed to @TradeAccepted).
	SRC=The char closing the trade window.
Fixed: Players can now open their containers while placed on trade windows (still cannot pickup items from them, nor them).
Change: Players used to be able to open the containers of other players while they were inside a trade window, these behaviour is now controled in sphere.ini.
Added: Ini option 'TradeWindowSnooping' to handle this behaviour: 0 will open the bags, 1 will call for snooping (or deny it by your scripts).
Notes:	-For now there's still a issue causing the client to crash while someone with a trade window open closes his client or just logs off.
		-invisible (hidden) players can open trade windows to another players (but only first player will see it, this behaviour will remain, it can be fixed with @TradeCreate).

11-01-2014, Ben
Fixed #2258: Some properties returning as hex instead of decimal.

12-01-2014, XuN
Change in @TradeClose:
	Src is the player closing the window.
	Argo is the other player.
Fixed: Items being able to move while inside a container inside a trade window.
Fixed: Containers on the ground not being able to open.
Changed: Ships work again in Lost Lands.
Fixed: Disconnect not working correctly with trysrv in high privileged characters.
Added: return 1 to f_onchar_create, it blocks the creation and disconnects the client.

13-01-2014, XuN
Removed: tag.override.noto.$uid, having one tag per 1 character viewing this is insane.
Added: @NotoSend, this trigger will override the default color for status bar and character 'mouse hovering' color (Replacement for tag.override.noto.$uid)
	src=The player viewing this char
	argn1=bar/char color (0 will let the default system run)
Note: The first 7 colors are the same as NOTO_* definitions, but you can use all your hues range (however the colors does not display like in items/chars)

15-01-2014, XuN
Fixed: Items being able to move inside containers placed in trade windows (semi-fixed before)
Fixed: Gold function now updates automatically the status bar.
Fixed: Move back the character data before f_onchar_create to be able to read it again.
Added: @SeeHidden trigger (Heavy load, keep it clean) fired when a char is going to see (or not) an invisible character (just like staff see other staff members while invisible)
	argn1=Invisible/Visible (but grayed out)
	No returns for this trigger.

17-01-2014, Ben
Fixed #2244: SERV.ACCOUNT UNUSED xxx can now take any functions with the account being the default in the function.

19-01-2014, Ben
-Added #1607: "LIST.XXX.SET args,..." This will clear the list and set each arguments (separated by a ,) as an element of the specified LIST
-Added: "LIST.XXX.APPEND args,..." This acts the same as SET, but will not clear the LIST. It will add to the LIST
-Change: String parsing should now respect commas(,) as a character inside double quotes ("") instead of treating it as a separator (for most places anyways)
		This allows situations like this:   LIST.XXX.SET value1,"value2,value3",value4  to have a result of:
		LIST.XXX.0 = value1
		LIST.XXX.1 = value2,value3
		LIST.XXX.2 = value4
-Added #1787,#2142: "LIST.XXX.SORT args"  This will re-order the the list using 'args' as order method.
		'No args' or 'asc' - sorts case sensitive ascending
		'i' or 'iasc' - sorts case insensitive ascending
		'desc' - sorts case sensitive descending
		'idesc' - sorts case insensitive descending

23-01-2014, XuN
Fixed #2257: Weapons now doesn't hit from Range+1
Added tag.override.SpellTimeout to alter default .ini setting to individual players.

25-01-2014, XuN
Added BUILD function to server, wich returns the svn's build number via , can be used on scripts to keep up versioning and stop the code or do different things between versions in example. (Ok, caught, Ben did it!)

25-01-2014, Script-Pack (Coruja)
Updated sphere_defs.scp (#2255)
colors_skin {1002 1058}
colors_hair {1102 1149}
colors_pink {1201 1254}
colors_blue {1301 1354}
colors_green {1401 1454}
colors_orange {1501 1554}
colors_red {1601 1654}
colors_yellow {1701 1754}
colors_neutral {1801 1908}
colors_snake {2001 2018}
colors_bird {2101 2130}
colors_slime {2201 2224}
colors_animal {2301 2318}

25-01-2014, Ben
-Fixed #2266: Trade Window memory not being removed.
-Change: LIST.xxx.FINDELEM args will now search as a string if 'args' is not a number regardless if it's inside double quotes "".

04-02-2014, XuN
Fixed #2273: Crafting skills with skf_craft not working like they should (Note: skf_scripted means the script is totally custom, for everything, so skf_craft won't work with skf_scripted).
Fixed #2267: Items in the cursor (layer_dragging) are now bounced if a target is opened to the player.

05-02-2014, XuN (Script Pack)
Fixed: changed back i_multi to the new m_ naming style in sphere_item_provisions_deed.scp.
Updated Mordaunt's House System to version 2.3.4.

09-02-2014, Ben
-Added: New variable TIMESTAMP to dynamic items and characters. (To allow for server time to upgrade to INT64)
-Moved: t_corpse.more1, t_book.more2, t_message.more2, t_eq_memory_obj.more2 to new TIMESTAMP
-Added: t_forest and t_jungle to sphere_defs.scp to fix ISNEARTYPE problems
-Fixed:  returning date instead of revision number even though revision number is available.
-Changed: Most Interger types to INT64 for higher time support. Tags and Vars also can hold 64bit numbers. This fixes #1447

13-02-2014, XuN
Fixed: Players now become instantly GuildMasters when placing a Guild Stone instead of waiting until first DClick.
Added functionality to the ATTR_LOCKEDDOWN and ATTR_SECURED flags: locked down items should not be able to be moved, decay and be eaten by npcs (and some more default behaviour), secured items have all this checks but not the ones related to pick up and use.

Script Pack:
Modified: Iron ore now requires 0.0 Mining instead of 20.0.
Updated: New update of Mordaunt's house system.

15-02-2014, Ben
-Fixed #2275: NPCs walking through multi doors
-Fixed: Targets not removing when using SELF and LAST

16-02-2014, XuN
Modified @StatChange: now is working properly in EVERY stat change, and not only in the stat gain/loses
	argn1=statid (maxhits,maxmana,maxstam and maxfood are checked now too)
	argn2=the current stat value
	argn3=the new value
Fixed some new variables not working.

updated sphere_events_npcs.scp: Functions ModMaxHits/Stam/Mana to work better, they also accept += and the rest of operators.
added: sphere_attr.rar to Custom folder containing some basic behaviour for attr_secure and attr_nodroptrade (for now).
Updated Mordaunt's house system to version 2.3.7

16-02-2014, Ben
-Added #2270: summoned tag added to summoned creatures if CHARTAGS=1 in sphere.ini
Script Pack:
Corrected some defnames - i_fruit_cantelope -> i_fruit_canteloupe
 i_fruit_gourd1 -> i_fruit_gourd_yellow
 i_fruit_gourd2 -> i_fruit_gourd_green

17-02-2014, XuN
Added targetcancel function to force closing a target. 
Fixed some new variables returning hex values. 
Added functionality to RegenHits/Mana/Stam, they use the current tag.override.regen_x values 

Moved all @SkillChange triggers to CChar::Skill_SetBase, now every skill change is calling this trigger (as it should), no matter of .skill_name, .allskills, skillgains/loses and skill trains.
Fixed serv.Regenx returning value*10

18-02-2014, XuN
Regeneration Tweaks: 
	-Moved up a check to force stop in this stat, so useless checks are avoided in a function fired in each tick (each lil improve is a win!).
	-Added FOOD as a regen stat (RegenFood or tag.override.regen_3)
	-ADDED RegenValStat variables (RegenValHits, etc) to work as the RegenStat variables but with tag.override.regenval_x.
	-Removed @Hunger
	-Removed weird check that multiplied the regen time *2 if the stat was not food, it now works with the time specified in sphere.ini
	-Removed weird "Bonus" in HITS giving more delay than the default one, it should sustract it to be a real bonus? however, timers are handled in the trigger now and following the default ini settings.
	-Removed tag.override.regen(val)_x: RegenValStat is now readed inside @RegenStat and RegenStat is readed before it, cannot be modified inside without the trigger bein fired in each serv.tick. RegenStat overrides ini setting now (wich is more intuitive when scripting)
	-Added @RegenStat trigger fired after
		-local.StatID=(0=Hits,1=Mana,2=Stam,3=Food). Writable, never higher than 3.
		-local.Value=The amount of points being regenerated (or decreased in food's case). Writable, can be negative but 0 works like return 1
		-local.StatLimit=by default=, allow this stat to pass the limit when regenerating, or limit it lower. Stats over this value will go down in each tick until they reach their limit. This does not work with food as food shouldn't ignore its limit (0).
		-return 1 Stop de regeneration of this stat, but not preventing future checks, to do that set the RegenHits to a very high value.
Added f_onaccount_connect to sphere_serv_triggers.scp, READ IT CAREFULLY, I switched the default return procedure here for safety, return 1 will allow the account connecting no matter you have checks or not.
Added LowerReq to the ReqSTR check when trying to equip items for both items and chars (It checks for LowerReqs on the item and in the character too to substract to the real ReqSTR)

23-02-2014, XuN
-Modified: CanUse is now only an item property, it also returns now values in hex format to work with it as a flag variable. 
-Sphere.ini: Added the maps 2-5 but commented out, added a few missing comments in some flags. 
-Added a check to IsTrigUsed to avoid trigger calls while serv is loading, this will improve load times and avoid several unexpected errors. 
-Removed SKTRIG_STROKE's checks from skills and moved to a new function to keep together all the checks giving more control to skills.
-Added skill_stroke() wich handles the strokes left and sound for craft and gathering skills and also a new trigger.
-Fixed amount of strokes to each crafting skill, they were random, now they have 2 strokes by default.
-Added @SkillStroke trigger:
        Local.Skill=Skill ID. (Read only).
        Local.strokes=Strokes left*     (Read/Write).
        Local.Sound=Sound to make in this stroke if any (Read/Write).
        Local.Delay=Delay until next stroke (10 = 1 second).
        return 1 Abort the skill.
        return 2* Abort the consumption of resources in this stroke.
        *Alchemy works different so its working with some exceptions:
                -Local.Strokes instead of going down it's going up until it reach the total strokes count, wich are equal to the amount of resources. In each stroke if no return is given resources are consumed.
                return 2 Its only allowed in alchemy skill, returning this will let the skill continue to next step (stroke, finish...) without consuming anything in this stroke.
-Modified @SkillStart: Local.CraftStrokeCnt is NOT writable for alchemy, since the skill works different and cannot be overriden this way, use @SkillStroke to add more Strokes if you want.
-Fixed #2267: MakeItem function now bounces any item in layer_dragging.
-Moved some new variables to return decimal numbers instead of strings.

23-02-2014, Mordaunt (Script Pack): 
Another update to sphere_item_provisions_deed.scp, adding new ships and moving their names to m_ too.

24-02-2014, XuN
-Fixed #2267: MakeItem function now bounces any item in layer_dragging. 

25-02-2014, XuN
Actual crafting skills (Blacksmithing, Tailoring...) now are not handled as crafting skills by the source, instead of that a SKF_CRAFT is required in their [Skill ] (Excepting Alchemy by the moment)
WARNING: From this version a update of sphere_skills is needed (read below) or crafting skills will not work.
Script pack:
	-sphere_skills.scp: Added FLAGS=SKF_CRAFT to blacksmithing,tailoring,tinkering,carpentry, cooking, bowcraft and inscription.

02-03-2014, Ben
-Fixed #2261: (script pack) Hairs/beards using wrong names (multiple scripts updated for this)

03-03-2014, XuN
Added local.Anim to @SkillStroke trigger.
Fixed wrong animations sent in each Stroke (Some are missing?).

14-03-2014, XuN
Fixed #2289:
-Added local.HitsHungerLoss for StatID 3 (Food) in the @RegenStat trigger, this value is still a percentaje and NOT the hitpoints to lose, but setting it to 0 will disable the loss of hitpoints for this character.
-Update: Damage received via Hunger have flags DAM_GOD|DAM_GENERAL|DAM_NOUNPARALYZE, if you want to change it just set Local.HitsHungerLoss to 0 and create your own damage there.

15-03-2014, Xun & Ben
Added support for packet 0xE2 (NewPacketAnimation), wich involves on updating some animations to a new packet and fixes most of the bugs on the gargoyles animations
(Throwing still needs some more updates to see the weapons coming back).

16-03-2014, Ben
Fixed #2285: FVAL returning wrong values in linux.

17-03-2014, XuN
Added @StatChange to ModStr/dex/int/food.

21-03-2014, Ben
Changed: Character creation to process 4th skill properly
Removed: EXTRASKILL.KEY and EXTRASKILL.VAL from f_onchar_create as they are being properly processed.

23-03-2014, matex
1. Fixed a crashbug in the nighly build.
2. @StatChange now receives argn1 for changes like:
0=OStr, 1=OInt, 2=ODex, 3=Food, 4=MaxHits, 5=MaxMana, 6=MaxStam, 7=MaxFood, 8=ModStr, 9=ModInt, 10=ModDex.

24-03-2014, matex
Fixed a calculation bug in Linux that e.g. had influence on Skilldelays

25-03-2014, matex
1. Fixed INT64 Expression handling.
2. Fixed a bug that occured when DIALOGCLOSE/DIALOG was sent to older clients
3. Fixed a minor bug in @StatChange

26-03-2014, matex
1. Fixed Cooking

26-03-2014, matex
1. Fixed a bug in ASC and ASCPAD with negative hex values
2. Fixed StatChange triggering for Food
3. Fixed a bug in the movement code, when climbing stairs with (BRIDGE|PLATFORM flags)
4. Updating logged out characters does'nt send a packet unless ALLSHOW is on

28-03-2014, Ben
Fixed #2296: Quality property not working.

28-03-2014, matex
1. Some internal values are still stored as 32bit (e.g. MORE1, ...). If they are negative their value
is now given as 64bit hex number so calculations,comparisions etc.. work on these values now.
2. Fixed an issue with MaxFood/Food. If MaxFood is set to 0, when read it will return the MaxFood level
of the chardefinition
3. Fixed: The server now only loads 1 Map, if you only use 1 Map.
4. Fixed: NPCs moving over obstacles when EF_WALKCHECK is disabled

29-03-2014, Ben
1. Uptaded Sphere.ini description for MAPx settings (These are now mandatory as of revision 1834)
2. Created an exception for MAP0 to load automatically even if not specified in sphere.ini (need at least 1 map to load)
3. Fixed another instance of 64 bit handling.
   (Script pack)
4. Fixed #2292: small change in teleport points for sphere_map_points0.scp and sphere_map_points1.scp
5. #2301 Few flag and typo changes done to sphere_map(2,3,5).scp

30-03-2014, Ben
Fixed system tray icon not removing on exit.

02-04-2014, matex
1. Introduced EF_NoContextMenuLOS => Will disable LOS checks for ContextMenu Use of npcs
2. Improved the standard Walkcheck stuff a bit (especially when dealing with landtiles)
3. Improved the placement code when items are dropped to ground
4. Increased standard LOS Zcheck treshold to 20
5. Changed the meaning of MOVERATE and TAG.OVERRIDE.MOVERATE. It is now a factor that scales the amount of DEX value 
   that should be taken into consideration for walking speed. E.g. if you only want 75% of the characters DEX value
   to be used in walkspeed calculations, you specify MOVERATE=75. Setting this to 100 has no effect.
6. Fixed: Backpack closing when items are dropped to corpse. (You can softscript this if you need it!)
7. Fixed: Use 1-Unit comparisons in Distance Checking. We can't use the axiom of pythagoras here because one tile has
   the same diagonal width as vertical and horizontal width. Doing real-world distance checkings messes up everything here!

08-04-2014, matex
1. Fixed HitsHungerloss. 
2. Modified behaviour of DiagonalWalkChecks when dclicking items in reach
3. If GM's add players to a party, the player is now added forcibly.
4. Fixed a possible itemleak when dropping too many items to the ground. (e.g. via newitem)
5. Fixed a null reference exception when DISPID of an item is set to something that wasnt defined via ITEMDEF. (e.g. change an item via set dispid)
6. Fixed an exception when you type 'c' in the serverconsole and have more than 100 players online ;)
7. Fixed a possible crash bug when players disconnect. Fixed players not logging out sometimes too. (this did only occur on VERY rare circumstances)

09-04-2014, XuN
-Added f_onaccount_pwchange to sphere_serv_triggers.scp
-Modified f_onaccount_create.
Both are fire now in each account creation / password change, no matter the source (serv.account xx ingame, via console, .set password...).

13-04-2014, Feeh
Fixed #2306: No lag should be noticeable after f_onserver_save call
Fixed #2293: Sphere should now read packets correctly from clients

14/15/16-04-2014, Coruja (Script Pack)
-Removed: more generic non-OSI ROOMDEFs (huge cleanout) 
-Removed: some more weird ROOMDEFs 
-Added: missing regions for some islands 
-Fixed: incorrect GROUP set on Fire Temple, Ice Isle 
-Fixed: incorrect FLAGS set on Moonglow Zoo, Jail, Green Acres, shrine regions 
-Fixed: incorrect RECT set on Lord Britsh/Blackthorne Castle 
-Fixed: added missing 'region_flag_guarded' on Delucia 
-Fixed: added missing RECT tile on Cove, Green Acres 3 
-Small improvement on Britain and Mt Kendall RECT 
-Checkmate. Revised the entire script, everything is clean, fixed and categorized now 

-Moved: Solen Hive region from map0 to map1 (apparently Solen Hive exists only on Trammel) 

-Fixed: Delucia Passage teleporting to incorrect position 

-Updated to match changes of previous sphere_map_points0.scp commit 

-Moved: temp moved all SE/ML/HS regions to this file. Since it have only a few regions, maybe it's better disband this file and move all regions to their correct map file (map0, map3 and map4) 
-Small update on Tokuno Islands regions 

-Updated all skill to match OSI default starting items and colors. 
PS: Still need a few more additional items for professions (Warrior, Necromancer, Paladin, Samurai, Ninja) -> I can't update this for now, sphere only have support to skills on sphere_newb.scp,
	 but not for professions (it would be great if someone give a little help with this on the source :D) 

17-04-2014, XuN
Moved tag.override.SpellTimeOut to SpellTimeOut.
Changed: Now @Create trigger can be fired on EVENTS too. Note: be aware of the calls order (SkillClass -> added events -> ini -> chardef (for chars)),
		you can't retrieve the  ie in a custom event because it's fired before the @Create in the CHARDEF (which is the one setting it), this trigger
		doesn't have return 1 so if you set str=15 in your event it will be overwrited with the stat given in the chardef.

Changed all the variables in the 'New Variables' thread to make them readable not only from items/chars but from their BaseDef. That means, no need of IncreaseSwingSpeed
		under the @Create, you can set them like the NAME property. Added some variables too, read the post.

Script Pack:
Updated some scripts to reflect the variable's changes:

sphere_item_vegetation.scp: Commented out TDATA3=i_vanilla_bean since it does not exist.

		-Fixed line 64: RESOURCES=i_deed,m_stone_and_plaster_house.
		-Changed all of the remaining i_multi_foundation_* to m_foundation_*.

sphere_item_provisions_armor.scp: changed all i_leather from gargoyle leather armor to i_hides_cut (lines 4704 - 5000).

For a complete change's track visit http://scripts.spherecommunity.net/

18-04-2014, XuN
-Fixed a Typo in sphere_item_typedef_equipitem.scp (SeldRepair -> SelfRepair)
-Updated sphere_monsters.scp to add stats to c_tiger and changed changed actual c_tiger to c_tigress
-Added item 03ec7 to sphere_item_ship_parts.scp to link it with c_tiger
-Updated sphere_defs.scp to reflect c_tiger and c_tigress as mounts.

19-04-2014, Ben
Changed: CANUSE flags can now be properly set on ITEMDEF and dynamic items (ITEMDEFs value is given to dynamic items on creation)
Fixed 1565: Removed TAG.OVERRIDE.RANGE from items and chars.
			Changed RANGE so it can be read/write on items and char (Dynamic object value overrides basedef value. Highest value between weapon and char is used in combat)
			RANGEH and RANGEL are also available as readonly variables for dynamic items and char now
			Added FIGHTRANGE to chars to replace old RANGE (readonly and returns the highest value used for combat)

19-04-2014, XuN
-Fixed 0002310: Changed t_weapon_bow in Throwing Items (sphere_item_provisions_weapons.scp) to t_weapon_throwing.
-Fixed 0002309: Mounted characters (humans & elfs) are not sending New Animation packet anymore.
-Fixed 0002294: Every CAN-related property (dye, enchant, flip...) is now working in base items instead of inheriting from DispID.
-Some internal changes related to IsHuman: changed it to IsPlayableCharacter and splitted it into IsHuman || IsElf || IsGargoyle and changed its calls.
	-Same for IsHumanID -> IsPlayableID = (IsHumanID || IsElfID || IsGargoyleID)
	-Fixed: Gargoyles are no longer able to ride anything.

21-04-2014, Ben
Fixed #2014: memory_aggreived not being set on players
Fixed #2311: t_light_lit not decaying as normal

23-04-2014, Ben
Fixed #1500: Quote causing problems for ARGS and ARGV. This is how is will work now in a simple function called TEST...
	-.TEST "a", b, "c,d"		Output: ARGS = a	ARGV[0] = a	ARGV[1] = b	ARGV[2] = c,d
	-.TEST "a"e, b, "c,d"		Output: ARGS = a	ARGV[0] = a	ARGV[1] = b	ARGV[2] = c,d
	-.TEST e"a", b, "c,d"f		Output: ARGS = e"a", b, "c,d"f	ARGV[0] = e"a"	ARGV[1] = b	ARGV[2] = c,d
	-.TEST f"a"g"h,i",b,e"c,d"	Output: ARGS = f"a"g"h,i",b,e"c,d"	ARGV[0] = f"a"g"h,i"	ARGV[1] = b	ARGV[2] = e"c,d"
	*All ARGV will now show even if quotes are found in first argument.
	*if quotes are found as the first character of an argument, what is found in the quote is the argument
	*if a quote is found but not at the beginning, or no quote is found, whole string is used as argument.

24-04-2014, Ben
Fixed #1739: ">" in QVAL's condition is now processed properly as "bigger than" instead of the end of QVAL

26-04-2014, Ben
Added: DOOROPENID to Items for new door system.
Fixed #2054: Should now be able to make any door work with new scripting options (default still works if no new data is found)
	-Game Item: (if no info here, use ITEMDEF info)
		-DOOROPENID=0676 //ID to change into (no DEFNAME as it's only used for dispid)
		-MOREX=-1 // X position change
		-MOREY=1  // Y position change
		-DOORCLOSESOUND=00f3 closing sound
		-DOOROPENSOUND=00eb opening sound
	-ITEMDEF: (if no info here and on game item, use default system)
		-TDATA1=00eb00f3 //WORD open | WORD close (sounds)
		-TDATA2=0676 //ID to change into (no DEFNAME as it's only used for dispid)
		-TDATA3=-1 // X position change
		-TDATA4=1  // Y position change

29-04-2014, Ben
-Fixed: VAR,TAG and LOCAL causing instability in the server with huge amount of data. Limit of 2048 caracters has been set.

30-04-2014, XuN
-Added SpellCount function for Spellbooks (Read Only).
-Tweaked Attacker system:
	Added attacker.add uid / attacker.delete uid. Self explanatory
	Changed: attacker.elapsed/dam are now writable

02-05-2014, XuN
Updated house deeds in sphere_template_vend.scp (Thx azmanomer).
Fixed: local.anim in @SkillStroke was readable but not writable. Fixed also alchemy skill sending anim 0 instead of no anim.
Rewrote totally the combat system for npcs ( I may have missed something but it's mostly done ):
	memory_war_targ is no longer used for npc combats (in the source) but is still present for scripting backwards, Sphere now uses the 'Attacker' system and a new variable added to it 'Threat'.
	added @CombatStart, @CombatEnd, @CombatAdd triggers, return 1 stops actions. (not recomendable, the actions will be called over and over obviously trying to start/add or end the combat).
	Attacker system (Added/Changed):
					NPC_AI_THREAT flag variable to ini enabling the use of the threat variable for choosing targets in combat (for npcs).
		General:	Attacker.add uid	(Write)		Adds the given UID as new enemy in the attacker list for this char.
					Attacker.Delete uid	(Write)		Remove UID from the attacker list.
					Attacker.Target		(Read)		Returns the current best target, these are the priorities: Threat -> Distance -> LOS.
					Attacker.ID uid		(Read)		Returns the 'n' id of the given uid (if in the attacker list, returns -1 if not).
		From ID:	Attacker.n.Threat 	(Read/Write)Gets or Sets the Threat of this character against me, Threat is most important factor to select a target. (this gets updated even if npc_ai_threat is disabled, but its not used)
					Attacker.n.Dam 		(Read/Write)Made it writable.
					Attacker.n.Elapsed	(Read/Write)Made it writable.
I'm updating the wiki with this new information also.

03-05-2014, Ben
-Fixed #2325: Corpse with morez > 0 were able to be draged
-Fixed #1781: Rejected moves should not count as a move for fast walk detection.

06-05-2014, Feeh
-Modified #2328: Dye tub now call @Dye on the dyed item
	ARGN1		= the hue value (r/w)
	ARGN2		= sound effect (r/w) (default 023e)
	ARGO		= the item that originated the dye target
	SRC			= who is dying the item 
	RETURN 1	= stop internal dying/sound. hue changes made from script will take place
	This will allow to change Dye behaviour for specific items without having to track the item id from other methods/scripts
07-05-2014, XuN
-Updated 'guards' defname in sphere_defs.scp, guards have other ID since long time ago.
-Added exception lines to the new Attacker_* functions so if something goes wrong... errors are more descriptive. Also fixed some exceptions appearing now.
-Attacker.elapsed -1 means no attacker decay.
-Fixed #2332: Range, also RangeL/RangeH not working as it should after the variables changes. Also made them return in decimal values instead of hexadecimal.
-Made BloodColor writable.
-Modified Guards system:
	Modified @CallGuards trigger for players calling separatelly than NPCs.
	This trigger will fire one time on the Player calling guards per each possible target, argn3 is set to 1 if the target is hostile, however if set to 0 nothing will happen, if this is set to 1 the character will be attacked by guards.
-Fixed guards dissapearing after calling them. They also stick now to the attacker system (if defined) being easier to create custom guards (changing how and when are they called will come in next commits)
-Added ini setting GuardsOnMurderers (1 by default), if set to 0 will only attack criminals, if set to 1 will attack criminals and murderers.
-Fixed: GuardsInstantKill now set hits to 1 before hit to ensure the kill, it was acting as instant hit instead of instant kill
-Changed: Moved the instant kill ouside the 'teleport' check, to ensure its using it everytime and not only if target.distance > 1
-Switched 2 checks to ensure that guards are not called on guards.
-Added a check in OnNoticeCrime() to avoid guards becoming criminals if send to attack any good character.

08-05-2014, XuN
Changed @Criminal trigger, now it's being called in every criminal call instead of in OnNoticeCrime(), return 1 prevents the criminal action, argn1 is how many time will the criminal status last.
Fixed CanUse returning weird values when ITEMDEF didn't have any value.
Added WeightReduction to item's weight calculations, so a item with 5.0 weight and 10 Weight Reduction will result in 4.5 weight stones.

09-05-2014, XuN
-Fixed an exception when attacking blue characters.
-Created a new vector-list to handle Notoriety: instead of having 2-5+ checks per second (and nearby character), the notoriety will be saved in this list to reduce a lot the loading related to this function.
-Added NotoTimeout to ini (default 30) to set the 'decay' for notoriety in each character for another one. However the list will be reseted in each criminal/murderer action/karma change/incognito cast.
-Fixed some Karma messages being shown even if the trigger returned 1. Fixed #2297: Trigger's returns were working wrong and any value given to argn1 was not really being considered by sphere unless return != 0.
-Fixed #2290: Now crafting skills cast animations and sounds when starting and in every Skill_Stroke > 1 (1 is the last, note that skill_stroke is called before the stroke ends, not before starting it).
-Removed SKF_NOANIM check after the @SKillStroke trigger, so even if the skill have this flag, it won't pass any value to local.anim, but if you want to have animation for a specific character, then you can write it.

09-05-2014, Ben
-Improved how RangeH/L 'fix' work and making them readable by dynamic items in every situation.

09-05-2014, Feeh
-Fixed #2326: Some mt_* CAN flags were not allowed to be assigned after char/npc creation. It should be assignable anytime from now

10-05-2014, XuN
Fixed #2334. Also forced that any character called to be a guard ( Argn1 in @CallGuards ) have brain_guard no matter what it is really.
Fixed #2333. Also fixing @Attack trigger blocking any other actions too when returning 1.
Added #1765 :New ini setting: AttackingIsaCrime making criminal any character without any damage, only attacking.

10-05-2014, Feeh (thanks to Ben)
Modified: @Dye is now called on more situations on both Items and Chars:
	-Script color changes					(SRC/ARGO = Server)
	-Dye tubs (t_dye_vat) color changes		
	-@Create color assignment				(SRC/ARGO = Server)
	-Staff .xcolor command					(SRC/ARGO = Server)

22-05-2014, Ben
Changed: char's AGE property now returns in days instead of seconds (CREATE is already in seconds)

23-05-2014, Feeh
Changed: Harvesting skills (Fishing/Mining/Lumberjacking) can now pack or place the harvested resource at feet
	Override ACTARG2 on either @SkillSuccess and @Success (remember that @SkillSuccess is called first)
	ACTARG2 = 0 -> Put the resource at feet
	ACTARG2 = 1 -> Pack the resource

26-05-2014, Ben
Removed and made permanent EF_FixKillTrigger, EF_WalkCheck, EF_NewPositionCheck, and EF_DiagonalWalkCheck

26-05-2014, matex
Fixed a small bug in the code that adds a player forcibly when GM's add to party.

27-05-2014, XuN
Changed: new order for @Create trigger in items, now the order is this; Itemdef, @ItemCreate for characters ( if proceed ), TEvents, EventsItem and Typedef
Fixed #2350: Guards working in non-guarded areas when GuardsOnMurderes=1
Fixed #2352: AttackingIsACrime checks making criminal when it shouldn't
Fixed #2351: Murderers never becoming criminal (didn't need before GuardsOnMurderers).
Fixed #2353: Wrong speech color for tillerman.
Fixed #2349. Also improved the Attacker_GetID() functions a bit.
Fixed #1491: region_flag_no_pvp not working fine. Also a wrong SkillUseQuick(tactics) related to it.
Added a new function to removed chars so they are being removed from attacker list's characters of their attacker's list. There's no reason to keep a not existing character.
Added ContextMenuLimit option to sphere.ini defining the maximum amount of options in each menu.

29-05-2014, XuN
Combat target for players will be 'reseted' after attacking a character, instead of checking for the best target ... so it now gives priority to player's choices.
Changed attacker.target also to reflect the changes and return the direct value instead of calling Fight_FindBestTarget().
Changed the way t_spawn_char creates the characters, they are now placed and the spawnitem is asigned before calling NPC_LoadScript() so, both spawn and regions can be read in the @Create (this can simulate a @CharCreate for spawns but on the character instead of the item.)
Changed summon to be placed also before the @Create.

01-16-2014, XuN
Changed @Attack: added Argn1 for npcs to allow modifying the initial 'Threat'.
Changed: Pets forced to attack (kill and attack commands) now adds 1000( plus the actual highest threat amount) to argn1 in the @Attack trigger.
Changed: Pets changes target instantly when attack is called always if NPC_AI_THREAT is off.
Updated sphere_defs_2.scp with m_keep.

06-06-2014, Feeh
Added: #2340 Sectors now do have flags, look at sphere_defs.scp for more info
Fixed: #2360
Fixed: BADSPAWN command was not stopping when the first bad spawn was found

11-06-2014, Ben
Added #2359: REGEN in REGIONRESOURCE can now have a range as argument.
Fixed #1827: Axis strip now works as case insensitive.
Fixed #2307: REGION_FLAG_INSTA_LOGOUT will now work in ROOMDEFs

23-06-2014, Feeh
Fixed #2366
Added: SERV.FUNCTIONS.x, it can display every available function and its access plevel
		SERV.FUNCTIONS.COUNT		- Return how many functions are available in your server
		SERV.FUNCTIONS.32			- Return the 33th function (zero-based)
		SERV.FUNCTIONS.32.PLEVEL	- Return the minimum access plevel to use this function
		SERV.FUNCTIONS.add1			- Return the minimum access plevel to use 'add1' function

1-07-2014, Ben
Updated: spherecrypt.ini with client 7.0.35
Changed: gold will now be taken from pack first and then from bank in a purchase
Fixed #2370: Not being able to walk up some stairs AGAIN!
Fixed #2371: Vendor buy/sell dialogs will now display in the same order as their templates

08-07-2014, XuN
Fixed, Updated and Improved the .dupe on both items and characters:
	- Added new variable's copy for both items and chars.
	- Duping characters now works fine: Stats, Skills, Tags, Items is copied now, by default every copied item have attr |= attr_newbie for security, using .dupe 1 will copy the items 'as they are' without mods.
	- Using .dupe 0 will create the mount's memory (if any) empty, so when npc dies... no mount appears, .dupe 1 will create another new duped mount character.

12-07-2014, Ben
Fixed #2372: Weightreduction causing errors when calculating weight.
Fixed a small issue with updating amount on items.

17-07-2014, XuN
Fixed #2345: Wrong titles for Elder/Legendary Bushido and Ninjitsu skills, updated sphere_msgs.scp.
Readjusted the skill ranges for skill titles according to http://www.uoguide.com/Skill_Title .
Added SKILL_TITLES to sphere_defs.scp to adjust the range for the skill's titles.

19-07-2014, XuN
SKF_GATHER enabled, only fishing will have this flag in sphere_skills.scp, so now @Stroke and @SkillStroke can be used.
@(Skill)Start and @(Skill)Stroke now use ACT as a reference for the worldgem.
@(Skill)Start have local.GatherStrokeCnt ONLY for gathering skills.
Fishing delay is now 8.0 (1 stroke), the splash animation is softcoded in sphere_skills.scp since working with timerf in the source will complicate things a little.
In the 'long and not even started' proccess of softcoding skills ... the sounds/animations (for fishing!) will be added in the skill's triggers.
Return 1 in @Stroke will fire @Abort.
Added RANGE for gathering skills determining the max distance for the proccess (added RANGE=4 for fishing in sphere_skills.scp)

22-07-2014, XuN
Removed default sysmessage when reading / writing Experimental and Option Flags directly ingame or from script.
SKF_GATHER is a generic flag now: Skills with this flag will automatically call for @Stroke and override default behaviour (no more calls to STAGE == SKTRIG_STROKE in the skill's function).
Added Range and SKF_GATHER to mining and lumberjacking, softcoded some code related to SKILL_STROKES of them (and fishing also) in sphere_skills.scp.

02-08-2014, XuN
Changed tag.override.breath.dam to Breath.Dam
Added Breath.Hue overriding the default explosion color for breaths.
Added @PartyLeave: return 1 stops the action
Modified Dir function, > will return the dir you should have to face  (Same as FACE  but not turning you, just returning the DIR value).
Added Reveal (flags): Reveal statf_hidden will reveal player if has statf_hidden, same for sleeping, insubstantial and invisible. 
	Sum this flags to reveal more than 1 invis state (ie: statf_invisible|statf_sleeping will reveal player if any of these flags is present on him).
	Reveal -1 will reveal everything (Even invis staff).

Changed: SpellFlag_NoUnparalyze flag in s_explosion will affect explosion potions.
Changed: Argo is now writable ( Remember that Argo can only be accessed via script and not ingame ).
Added SysMessagef function accepting text with strings and limited to 3 args. Example: sysmessagef "Hello %s, I have a %s and %s, be aware of me!",,,
	It needs the text to be inside " " to create the first arg with it, but first and last quotes will be removed (only these 2).
Changed: SkillUseQuick is now RW and not only Read because not always need a return.
SpellEffect ( CChar::Spell_Effect_Create() ) now set as NEW the UID of the spell's rune, IE: 'spelleffect s_poison,2000,' ... 'new.remove ' will remove the poison rune.
Added @(item)MemoryEquip firing when equiping any item in memory layers (Not normal @Equip-able items), in example: paralyze rune, criminal memory ...
	argn1 = layer on which the item will be equiped.
	return 1 deletes the item and prevents default actions.
Fixed 'Range' not being properly defaulted to skill's defaults when no value is in the skill.
Fixed SKF_GATHER skills going to negative values when local.gatherstrokecnt=1.

Added SKF_FIGHT to fighting skills in sphere_skills.scp.
Fixed ADV_RATEs for parrying being too high and causing the skill to not gain.

Minor changes to 0x20 packet.

Modified ResPhysical to work like armor.lo. Modified Armor to be writable (only for items) and also Dam (for items and chars) and changed them from BYTE to WORD.
Moved Weight to dynamic items too.
Fixed bad definition of t_stone_town type in the f_stonesys_gettypename function inside sphere_genericstone_functions, should be .
Added ColorInvis, ColorHidden and ColorInvisSpell to sphere.ini overriding (if specified) the default color for .invis, hidding or the invis spell/potion.

Fixed items remaining on the ground on Enhanced Client when equipping them via double click.
Fixed PacketMapChange being fired when DClicking an item and turning around (without OF_DClickNoTurn enabled). This should decrease the amount of rubberband effects.

NOTE: The following changes are supossed to be usefull to redo the default combat system, but not using the new trigger will make the new script and the following code useless so this is not forced,
	just a help to rewrite the actual sys without doing a whole new combat system allowing to tweak each check.
NOTE2: These changes are in 'beta' proccess, please report any problem to bugtracker.
NOTE3: If I was not clear enough... this makes no difference with current systems if the new trigger and dam_flag are not used.

Added DAM_FIXED to sphere_defs.scp: this flag will make sphere asume that the argn1 value in @gethit is the final damage and will not do any formula calculations over it,
	will only cast sounds,animations, blood, memories, attacker.n.% update and @GetHit trigger.
	It also have some effects in the hit proccess (explained under).
Changed: combat functions (hit & gethit ) to allow easy override via script with DAM_FIXED giving a better way to override the default combat system while knowing also the resulting damage
Added sphere_combat.scp with the override of the default combat system and explanations of the new changes also.
Added Swing Types in sphere_defs.scp for combat compatibility.
	//  SWING_INVALID = target is invalid, searching another one.
	//  SWING_EQUIPPING = swing made.
	//  SWING_READY = can't take my swing right now. but i'm ready
	//  SWING_SWINGING = taking my swing now.
Added Swing variable for characters setting or retrieving the SWING_TYPE they currently have.
Added FullTrigger function working like 'call' to call triggers with full support with old args and locals making possible to override default triggers with your parameters.
	FullTrigger must be write only to avoid some problems so I added the return value in local.return, which can be readed after the trigger call.
	Usage: FullTrigger @DClick
Added @HitCheck trigger just in the beggining of the hit allowing to use only custom combat checks (default ones are in the supplied script) or to override the whole combat formulas.
	- Args
		Argn1 = SWING_TYPE. Swing will be set to this value after the trigger so you can 'jump' between swings with or without default checks.
		Argn2 = DAM_FLAGS
	- Returns
		return -1 SWING_INVALID
		return 0 default checks
		return 1 will make Sphere return the SWING_TYPE applied in argn1, so if you are in SWING_SWINGING and you set argn1 to SWING_EQUIPPING you'll have to start the hit proccess again.
				(Note, argn1 there will NOT set SWING to it's value).
	- Special returns will be fired when SWING_TYPE = SWING_SWINGING & FLAGS & DAM_FIXED
		return 0 will generate the default damage formula and flags (if not set via argn2) and then call the gethit function without DAM_FIXED applied.
		return 2 will finish the hit function AS IT IS and will NOT call the gethit function (this asume you are creating the damage, formulas and calling .damage function).
Note: Using new DAM_FIXED or return 1, -1 will obviously NOT call any skillgain, memory change, exp, attacker update, notoriety, actions, etc. Using this will (almost) make you to rewrite the whole system as shown in the given script.

03-08-2014, XuN
Modified Dir and Face functions (and the not soft-coded functions) to prevent loading all items in each dir change, even if they were not send to clients they were consuming resources in the serve

04-08-2014, Ben
Fixed #2362: Old attacker code interfering with new code.
Added: BREAK and CONTINUE to script loops. (CONTINUE will skip to the next iteration, BREAK will exit the loop)

06-08-2014, XuN
Fixed a problem causing Staff with gm body (03db) to stick with this corpse and blocking following commands because of the '=' automatically appearing, Update is called when setting the body value.
Added party.create msg,uid(s) where msg is 0/1 sending default sysmessages or not (usefull when forcing groups 0 = disable ), the following args (up to 9 more) is/are the players to add to this party.
Changed all party triggers (Except the @PartyRemove when argn1=1, which means informative remove when a @PartyDisband has been fired before and is in proccess now) returnable to stop their following code.
Fixed crash bug introduced in last patch.

08-08-2014, XuN
Multiples items overplaced not doing their 'effects', ie: spell fields, because of returning the code after finding the first item. All of the changes related to this can be overriden in @Step and @itemStep.
	- Paralyzed characters won't move to any t_telepad or t_moongate location if they are freezed or stoned.
	- t_shrine was blocking the effect of any other items in its location, so now if players place any field or explotion or whatever upon it = free reskill.
Added #2380: Spell Fields check now the Z when creating, adjusting their position to it.
	Moved the FIX: code to FixZ() for CItem and CChar.
	Added also a bool bForceFix to MoveTo forcing a FixZ() after the Object positioning, updated the whole pack of *::MoveTo() to accept the new bool.
Fixed #2381: Reveal not removing the memory when spell s_invisibility was casted (layer 39) (only removing potion effect (layer 44)).
Added m_defenseBase and m_defenseRange splitting up the m_attackBase/Ranged properly between armor and damage instead of using it for everything.
Enabled some disabled variables for KR client status bar.

09-08-2014, Ben
Fixed: Another issue with stairs...

10-08-2014, Ben
Fixed #2383: Weight not changing after a baseid change resulting in weird weight calculations.
Fixed #2382: Reveal causing server freeze.
Fixed: Paperdoll not updating body color when using invis spell

11-08-2014, matex
Added EF_NoDiagonalCheckLOS = 00000001. Disables Diagonal Passage checks for legacy LOS. (Not advanced LOS)
Added FACING function to objects which will give you the direction the object/npc would turn to if it looks towards SRC.
Optionally FACING takes a location or uid as argument. This UID/location replaces SRC in that context.

16-08-2014, Ben
Fixed #2386: Ghosts can't pass through doors anymore
Fixed #2385: No swing animation during combat, @HitTry doesn't fire.
Fixed #2387: Hunger/starving causing wrong damage.
Fixed #2380: Field spells creating items on incorrect Z. (Caused by the Fix funtion. Fix should now work better in all places)

18-08-2014, XuN
Fixed some problems with ResPhysical.
Added @Resurrect trigger:
	- argn1 is the hitpoints value the char will have when resurrected (RW).
	- argo is the corpse (if any near) (R).
Fixed some items removed from view in some circumstances.

26-08-2014, Ben
Fixed: SLEEP causing NPCs to die with double corpse.

04-09-2014, matex
Fixed: character hue not updating when Char is revealed.

04-09-2014, matex
Xun made the WEIGHT property on writable on items. I renamed it BASEWEIGHT because we need
WEIGHT not to return the weight of a single instance but also of the whole stack in scripts.
So WEIGHT is read-only again. If you want to change the base weight, use BASEWEIGHT.

07-09-2014, matex
Fixed: Armor not updating when BaseID is changed on an Item.
Fixed: EF_FixCanSeeInClosedConts always enabled in Debug builds
Fixed: Walking code. Only stair statictiles are priorized now near the map-surface. Platform tiles not. (players were falling through map surface)
Fixed: Order in which NPCvendor boxes are sent to the player (display bug)

10-09-2014, matex
Refactored some of the walking code. You now need NPC's and Players to have MT_INDOORS definitely for them to be able
to go under static tiles.
Changed MT_INDOORS to MT_NOINDOORS. Think that makes more sense.

13-09-2014, matex
Built in LOCAL.ArrowHandled for @HIT, @HITMISS
so if you set this to something different from 0 in the triggers
the server will not BOUNCE drop the arrow to the Target's feet on MISS
or bounce it to the Targets BP on hit. You can handle this yourself.
If you do nothing, the arrow will be deleted if Local.ArrowHandled != 0
You can prevent it from being deleted by moving it in the Trigger.

13-09-2014, Ben
Fixed #2397: Return 1 should now prevent the guards from coming under @callguards in all instances

01-10-2014, Coruja
Fixed: Strange walk animation when using Alchemy skill.
Fixed: MAKEITEM refusing to craft items on Cooking skill.
Fixed: The pet poop now comes with ATTR=attr_move_never by default.
Changed: Improved sound of pets pooping on the ground.
Changed: A little sound/anim tweak on some crafting/harvesting skills.
Changed: Reduced default RANGE on Blacksmithing and Lumberjacking skills (3 -> 2 tiles).
Changed: Alchemy skill is now a craft skill like any other. No more exclusive behaviors.
	-The skill is now used clicking on it's tool (mortar & pestle) instead click on the reagent or empty bottle.
	-EFFECT now can be used to control the % of lost resources on skill fail.
	-Skill stroke behavior now works fine on alchemy (LOCAL.CraftStrokeCnt on skill @Start, and @SkillStroke on chars).
	-[sphere_skills.scp] Added FLAGS=skf_craft to alchemy skill
	-[sphere_item_provisions_potions.scp] Added missing 't_mortar' on potions SKILLMAKE
	-[sphere_msgs.scp] Removed some alchemy internal messages
	WARNING: Make sure to update your scripts following these changes, otherwise alchemy skill will not work anymore.

02-10-2014, Coruja
Changed: Cartography skill is now a craft skill too. The craft now uses default MAKEITEM instead the hardcoded DRAWMAP.
	-The skill is now used clicking on it's tool (mapmaker's pen) instead click on the skill button or blank map.
	-Removed obsolete DRAWMAP hardcoded function. The behavior is now softcoded using @Create on map items.
	-[sphere_skills.scp] Softcoded the client skill button behavior, it comes disabled by default
	-[sphere_item_profession_cartographer.scp] Added new items for maps and mapmaker's pen
	-[sphere_defs.scp] Added new hardcoded typedef 't_carpentry' used on the tool to open the skill menu
	-[sphere_template_vend.scp] Updated NPC Mapmaker vendor buy/sell template list
	-[sphere_skillmenu.scp] Updated cartography skillmenu
	-[sphere_msgs.scp] Removed some cartography internal messages
	WARNING: Make sure to update your scripts following these changes, otherwise cartography skill will not work anymore.

07-10-2014, Coruja
Added: New formula for dragon breath damage on NPCs brain_dragon, it's now NPC_CurrentHitpoints * 0.16 (if BREATH.DAM property is set, it will override the internal damage).
Fixed #2405: Players becoming criminal when attack someone on the same guild.
Changed: Increased NPCs view range from 12 to 14 tiles. This also affects the range to call guards.
Changed: Cooking skill is now a craft skill.
	-The skill is now used clicking on it's tool instead click on the raw food and select a fire source (but the fire source still needed in range).
	-[sphere_defs.scp] Added new hardcoded typedef 't_cooking' used on the tool to open the skill menu.
	-[sphere_item_profession_cooking_barkeep_baker.scp] Added typedef t_cooking on i_fry_pan, i_flour_sifter, i_rolling_pin. Also fixed many food items using wrong MOREZ
	-[sphere_msgs.scp] Added/Removed some cooking internal messages
	-[sphere_skillmenu.scp] Added missing sm_cooking skillmenu
	WARNING: Make sure to update your scripts following these changes, otherwise cooking skill will not work anymore.

08-10-2014, XuN
Added Argn3 value in @UserWarMode telling Sphere to remove Attacker list after execution.
Added a description of deletion in argn1 for @CombatDelete:
		0 = Forced (Blocked attack, default uncategorized actions...)
		1 = Max fight time has reached (Elapsed)
		2 = Distance/LOS
		3 = The character is no longer existing
		4 = Forced via attacker.delete methods (ingame/script)
Fixed ResPhysical no showing the correct values in the Status gump.
Fixed Stoned players being able to dismount. 

09-10-2014, Ben
Fixed: RETURN 6 not halting scripts when inside an IF statement.
Fixed: .fix will now default to the first terrain elevation instead of lowest Z possible.

10-10-2014, XuN
Added local.anim and local.animDelay (this last one only working for classic clients) to @HitTry, so animations can be disabled and fired later in @hit (to remove the odd behaviour with new animation packets, which doesn't have delay).
Added OF_NODClickTarget to ini, enabling this will not make the cursor appear as a target when double clicking weapons to equip them.

11-10-2014, Ben
Added #2394: SMSG_DEF_UNICODE, MSG_DEF_UNICODE, IMSG_DEF_UNICODE to sphere_msgs.scp. If set to 1, messages will be sent in unicode unless overwriten with the the mode in @hue,font,mode.

11-10-2014, Coruja
[sphere_defs.scp] Added new BFONT_* colors to use on HTML texts. Values already match most colors used on OSI dialogs.
[sphere_map0.scp] Fixed duplicated a_dungeon_10 AREADEF (the last one was renamed to a_dungeon_19).
[sphere_map_points0/1.scp] Fixed Hythloth entrance teleport.

12-10-2014, Ben
Fixed #2416: @Enter region trigger will now fire after NPC stats are set in all instances.
Fixed: local.return not being set in FULLTRIGGER if no args were specified.

14-10-2014, Coruja
Added: New MAGICF_NOCASTFROZENHANDS setting on sphere.ini. If enabled, this will prevent cast spells if the char got paralyzed holding something on hands.
Added: Missing behavior for SPELLCHANNELING item property. It's now working fine, items using this property won't get unequiped when casting spells.
Fixed: Triggers @Start (spell trigger) and @SpellCast (char trigger) unequiping weapons and playing the spell cast animation even when the cast got denied using 'return 1'.
Changed: Updated width/radius internal values for area/field spells (nothing really changed, just hardcoded values already set on sphere_spells.scp to be the default internal value if there's no value defined on scripts to override it).
Changed: Create Food spell is now target-based. Using SPELLFLAG_TARG_* the food will be created on ground at target location, otherwise it will be created on caster backpack.
[sphere_msgs.scp]: Added new messages for 'spell_create_food' and 'spell_try_frozenhands'.
[sphere_spells.scp]: Removed target flags on Create Food spell. It will now create the item on backpack by default.
[sphere_dialog.scp]: Added missing description for 'nodispose' on help guide.

16-10-2014, Coruja
Fixed #1860: Spell cast behavior now check for spellbook/mana/reags before check for anti-magic region.
Changed: return 6 on @SpellCast trigger now will skip anti-magic region check too.
Changed: Polymorph spell now doesn't change char status anymore. If needed, this behavior can be softcoded using @Success on Polymorph spell (ACTARG2 [read/write] is the new body ID)
[sphere_spells.scp]: Added missing spellflag_noprecast and cancel functionality for polymorph spell. If used while already polymorphed, it will remove the polymorph effect.

17-10-2014, Coruja
Added: New MediumCanHearGhosts feature on sphere.ini (default value: 100.0). At this Spirit Speak skill level players can understand ghosts speech instead hear 'oOOoO ooO'.
Fixed: Functions GM, PRIVSET and TOGGLEABBREVIATION not updating the char tooltip correctly.
Fixed: MSG_DEF_COLOR def on sphere_msgs.scp not working when the char click on itself.
Fixed: Char flag [stone] overriding [frozen] and [tame] overriding [npc]. Also fixed [tame] only showing inside guarded regions.
[sphere_msgs.scp]: Added new defs to customize EMOTE color/font/unicode. These changes are global, and EMOTE still not support @color,font,unicode on individual messages yet.
[sphere_map_points[0/1].scp]: Fixed 'Lighthouse' teleport not working.

18-10-2014, Coruja
Added: New VendorTradeTitle feature on sphere.ini. If enabled, it will show the job title on vendor names (eg: Alan the Carpenter).
Changed: Corpses now will be created with TAG.OVERRIDE.MAXWEIGHT already set (value is always the same as char MAXWEIGHT). This will prevent overweight problems if someone drop many heavy items on a player corpse and then resurrect the player just to make him get stuck.

20-10-2014, Coruja
Changed: Scissors won't cut hair/beard anymore. Now proper items are needed to do it, like items usually found on NPC Barber (hair restyling, hair dye, etc).
Changed: Sewing Kit can't be used directly on bolts of cloth anymore. To use the bolts of cloth we must cut it using scissors first.
Fixed #2421: Using scissors on bolts of cloth now will convert it properly to cloth.
[sphere_msgs.scp]: Added new message 'loot_criminal_act' when opening corpses to warn that looting items will be a criminal action.

22-10-2014, Coruja
Added: Missing functionality of EF_PetSlots feature on sphere.ini. It's working now, but still need some testing and final tweaks.
[sphere_msgs.scp]: Added new messages for petslots_try_*

23-10-2014, Coruja
Fixed: Minor EF_PetSlots issues. Now everything is working fine and it's ready to use.
Changed: NPCs using BRAIN=brain_animal_trainer won't give food to players anymore (but still able to feed pets nearby).

23-10-2014, XuN
Changed Argn3 in @UserWarMode to force a war/peace status ( 0 = do nothing, 1 = force peace, 2 = force war).
NOTE: Argn3 is no longer deleting Attacker's lists, to do so use attacker.clear.

26-10-2014, Coruja
Changed: Many improvements on pet stables behavior.
	-Also the max limit of pets that the NPC can hold for a player now is based on player skills (Animal Taming + Animal Lore + Veterinary). Usually it can hold 2~8 pets.
	-If TAG.MAXPLAYERPETS is set on the NPC, it will override the formula and will be default value for all players.
Added: Account character creation now will create characters with MAXFOLLOWERS=5 already set.
Fixed: House customization engine creating doors using wrong type 't_door' instead 't_door_locked'.
Fixed: EMOTE_DEF_* defs not working on attack messages (*Someone is attacking you!*).
[sphere_msgs.scp] Changed 'stablemaster_*' defmsg to new defs/texts. I HIGHLY recommend update it, since the old 'stablemaster_*' defmsgs won't be used anymore.

27-10-2014, XuN
Attacker.clear can be used now even if character doesn't have a Attacker list, so no error is log in console.

28-10-2014, Coruja
Fixed: Function REGION.REGION.* returning wrong parent region if used on regions which is already the parent region.
Fixed: Function MAKEITEM and some crafting skills always crafting itens using amount=1 instead follow the item replication rule.
[sphere_defs.scp] Added html color defs for BFONT_LRED, BFONT_LYELLOW and BFONT_LCYAN.
[sphere_monsters.scp] Changed human/elf/gargoyle MAXFOOD to 20 (OSI default value).

28-10-2014, XuN
Fixed #2396: Attacking aborted when target is out of range, even if COMBAT_StayInRange is disabled.
Changed Read mode for 'Title', now giving it a parameter will return the 'Trade Title' (Grandmaster Swordsmanship, Journeyman bowcraft, etc) instead of the custom title. (Example of usage: ).

29-10-2014, XuN
Added can_i_forcedc (sphere_defs.scp), adding this flag to an item will allow it to be DClickable in every situation: from one side of the map to another, or even in another map, weared by another character, or GMs too, no checks at all.
 NOTE: Player's cant DClick what they don't see but they will be able to do it with the LastObject macro, or by knowing the UID and using 3rd party programs, be aware of that.

02-11-2014, XuN
Fixed GetNPCBrain() not working as it should and returning wrong brain (in internal usages) and ignoring the Brain used in CHARDEFS in some cases.
Added Ignore value to Attackers: Setting it to 1 will make the character ignore this target (mostly used by NPCs), when looking for target.
		@CombatAdd has now 2 arguments:
				Argn1 = Initial Threat (If used).
				Argn2 = Setting it to 1 make this enemy to be added as Ignored. (Setting it to 1 for a player in every NPCs will make this player be 'invisible' for them, good to create a faction system and such things).

02-11-2014, XuN, Ben, Feeh (and tons of help from Karma).
Ship's patch:
Added Packet 0xF6 (New Ship's Movement): This packet is affecting ships on client > 7.0.8d (High Seas ones), regardless of the multi files, patched ship's or not patched ones... it's a client's packet.
Added Packet 0xF3 (Packet Container): Used to send tons of items/chars at once in one only packet, used to send items and chars inside multis (Houses and Ships). Clients > 7.0.0 (Stygian Abyss).
Added ShipSpeed and SpeedMode for [Multidef ] definitions:
			ShipSpeed=2,1 (Period,Tiles): Period (in Tenths of second) tell the ship the delay until it moves again, tiles means the tiles moving (Default and suggested is 1, others won't work because of ... (read next line)).
			SpeedMode=(0x01 = one tile, 0x02 = rowboat, 0x03 = slow, 0x04 = fast). This modes have no sense until we have MultiThreading and can change the ticks per sec from 10 to 100 to make ships to move each 0.25seconds (which we cannot now).
Updated multis_ships.scp with these new values.
Fixed ship's planks not working.
Updated the Update and Move (and their related functions) to send the minimal updates required, hence making less rubberband effects.
Fixed some issues with EC and ships making visual strange effects, items staying behind the ship.
Fixed some problems when turning the ships.
Some more minor tweaks related to ships.

NOTE: Mouse Wheel Movement packet is NOT included in this commit.

02-11-2014, Ben
Changed: ARGN2 in @Abort and @SkillAbort (and other Skill triggers) will be the spell number if magery is used

03-11-2014, XuN
Fixed #1820: Combat_PreHit not working with Archery.
Fixed #1621: StatLocks not working, fixed and improved the whole statgain system.
Updated spherecrypt.ini
Changed .shrink now can have a value which will automatically bounce the figurine.

05-11-2014, Ben
Removed previous changes: (ARGN2 in @Abort and @SkillAbort (and other Skill triggers) will be the spell number if magery is used)
Replaced with LOCAL.SPELL (read only) as ARGN2 was already in use by some of the skill triggers.

09-11-2014, Ben
Fixed #1644: Corpses will now move with ships.

10-11-2014, Coruja
Fixed: SPELLTIMEOUT char property not working correctly.
Added: support for some human/elf racial traits (only used if FeatureML is enabled on sphere.ini)
	-Tracking skill: humans always have a minimum of 20.0 tracking skill, and elves are more difficult to be tracked.
	-Max weight: humans can always carry an aditional 60 stones of max weight.
	-Nightsight: elves always have nightsight enabled by default.
Changed: Some internal improvements on Tracking skill
	-Improved search distance.
	-Ghosts can't be tracked anymore.
	-Spyglass item is no longer required to use Tracking skill inside ships/boats.
	-Triggers @Stroke / @SkillStroke now are called at each tracking stroke.
	-Removed redundant skillmenu button "Track anything that moves".
	-New OSI formula to check tracking difficulty when trying to track players. It will use the char skills (Tracking, Detecting Hidden) vs target skills (Hiding, Stealth).
	-[sphere_msgs.scp]: Updated some 'tracking_*' messages. Also merged all 'skillmenu_text_*' (only used on tracking skillmenu) into 'tracking_*'.
	-[sphere_skills.scp]: Added OSI-like support for ARROWQUESTS on tracking skill (softcoded). OSI uses only the arrow to track (with no messages) but I will leave the old messages as it is for compatibility purposes with old clients.

16-11-2014, Ben
Fixed: Added Items on ships with .add will now move with the ship.
Fixed: Ships should now move alot smoother with SA+ clients and back to normal with older clients

18-11-2014, Coruja
Fixed: Pet tooltip menu showing to dead players.
Fixed: Pet tooltip menu showing 'Drop' button when the pet has no backpack access.
Fixed: Added missing 'Release' button on pet tooltip menu.
Changed: Pet friends now have limited access to pets commands instead full access. Friends now can only use follow / stop / stay commands and open the pet backpack (if avaible).

18-11-2014, Ben
Changed evelation at which items are considered to be part of a ship. (-2 to +15 from top of deck).
Fixed: party_add_notleader defmessage was wrong -> party_notleader is correct.

22-11-2014, Coruja
Added: Wisdom racial trait on elves (they always have +20 max mana). It works only if FEATURE_ML_UPDATE is enabled on sphere.ini
Changed: 'Open Bankbox' / 'Check Balance' context menu buttons on NPC Banker (brain_banker) now will make the NPC hear 'bank'/'balance' words instead call hardcoded functions to open bank or check balance. In other words: now both context menu buttons and spoken commands are consistent and can be softcoded.

23-11-2014, Coruja
Added: Tough racial trait on humans (they always have +2 hitpoint regeneration)
Fixed: @GetHit trigger not returning some ARGN2 values (like dam_fixed).
Changed: Updated some damage flags used internally on spells.
Changed: RegenHits/RegenMana/RegenStam char properties now will override default Regen[0/1/2] values on sphere.ini instead decrease it.
Changed: Optimized hunger/starving engine
	-Fixed FOOD property returning to 1 after reach 0.
	-Fixed hunger message not showing on mounted pets.
	-Fixed @PetDesert trigger showing the pet desert message even if the trigger is using return 1 to prevent the action.
	-Changed starving damage flags (dam_god|dam_general|dam_nounparalyze to dam_fixed)
[sphere_defs.scp]: Updated [DEFNAME dam_flags] section to match the correct internal flag list.

29-11-2014, Coruja
Added: FEATURE_AOS_DAMAGE on sphere.ini now will display to pet owners the damage caused by pets.
Fixed: .DUPE function on items not duping the item timer.
Fixed: NPCs showing wrong color on chars on some specific cases.
Fixed: Paperdolls showing the "," after the char name even when there's no title to display.
Changed: only players can have skill titles on paperdoll now.

04-12-2014, Ben
Added: OF_NoSmoothSailing in sphere.ini to disable smooth sailing and keep old behaviour

06-12-2014, Ben
Fixed: Crash caused by 2 handed weapons no updating properly
Fixed: EF_PetSlots not checking chardef for FOLLOWERSLOTS
Fixed: possible more ship errors...

07-12-2014, Coruja
Added: Eating foods now will recover stamina too (OSI default gain: rand(3,6) + FoodRestoredByItem/5)
Fixed: Console error when ridden pets get hunger.

14-12-2014, Ben
Fixed #2437: Ships were able to turn onto other ships in certain conditions.
Added #2429: TAG.SpawnItem will now contain the spawngem's uid for items that are spawned.

14-12-2014, Feeh
Added: SERV.RTIME.GMTFORMAT. Works exactly like RTIME.FORMAT but returns GMT time

17-12-2014, Ben
Fixed #2437 & #2440: More ship movement issues.

21-12-2014, Ben
Fixed #2442: More Ship errors.
Fixed #2444: better detection of valid .add arguments.
Added: d_add dialog will now be used, if it exist, for .add instead of menu_additem
Fixed #2441: Gargoyle horn color not bing set properly.

23-12-2014, Ben
Fixed: Minor bug in .add command since the last update that didn't allow numeric arguments.
Fixed #2450: when COMBAT_ALLOWHITFROMSHIP is disabled, you can no longer attack someone inside a ship while outside.
Fixed #2447: Ships not updating properly when leaving the screen.

24-12-2014, Coruja
Fixed: Added missing 'invalid command/format' message when type '.add' command using invalid arguments.
Fixed: Weapons wrongly using DAM property from the ITEMDEF even when it have a custom DAM property set on the created item.
Added: New tooltips on weapons/armors to show many item properties like DAM[physical/fire/...], RES[physical/fire/...], BONUS[str/dex/int/hits/stam/mana], LUCK, etc.
Changed: Weapons/armors won't decrease their damage/armor value based on item durability anymore (if someone still need it, this can be softcoded using @Damage trigger on weapons/armors to change their DAM/ARMOR values).
Changed: Tooltips now will auto update when item/char properties got changed.

25-12-2014, Ben
Fixed #2447: Again...  Ships not updating characters properly when leaving the screen.

31-12-2014, Ben
Added: "BREAK" function under @create and @npcrestock to return to normal script interpratation after an ITEM= line since any lines under it was designed to modify the item. (any BUY or SELL line will also break ITEM loop)
Changed #2451: Items will now be allowed to be "locked down" to ships and still move with the ship.
Added: new .ADD dialog to replace old add menu. (old menu still available in the scripts by removing d_add dialog, but it is full of errors)

09-01-2015, Ben
Added: Item trigger @Ship_turn with ARGN being the direction the ship is turning. It fires on all items on a ship, including the ship itself.

16-01-2015, Coruja
Added: Support for NIGHTSIGHT property on items. Items with NIGHTSIGHT=1 will automatically enable/disable a permanent nightsight effect on equip/unequip
Added: New optional flag OF_ScaleDamageByDurability on sphere.ini to make weapons/armors lose DAM/AR if the item get damaged. The value is based on current item durability, so the damage can be reverted if the item get repaired.
Fixed: Tooltips not updating when some char properties (criminal/kills/flags/invul) are changed
Fixed: Guards on 'red regions' (regions with TAG.RED=1 set) always using name hue 021 instead ColorNotoEvil set on sphere.ini
Fixed: All item memories different from spells/potions getting wrongly named as 'Potion Cooldown'
Fixed: Function BADSPAWN not looping through inactive spawns (spawn item with TIMER=-1 set)
Changed: Item tooltips now can read properties set directly on ITEMDEF too
[sphere_msgs.scp]: Updated some messages (magery_6, msg_corpse_of, npc_pet_decide_master, spell_try_am)
[sphere_combat.scp]: Updated obsolete 'dam_lightning' to 'dam_energy'
[sphere_skills.scp]: Improved ARROWQUEST position on Tracking skill
[sphere_map_points5.scp]: Updated Ter Mur moongate list
	-Added missing DAM on c_man, c_woman, c_elf_male, c_elf_female, c_gargoyle_male, c_gargoyle_female, c_man_gm
	-Fixed COLOR on c_cat, c_dog

16-01-2015, Ben
Fixed: MULDIV rounding up negative numbers when they should be rounding down.
Fixed #2457: TAG.ALWAYSSEND will now be checked on ITEMDEF too.
Fixed #2458: Made attr_static not movable with ships.
Fixed #2456: Archery Butte not working properly.
Some changes to FEATURE_SA_MOVEMENT (This seems to affect speedhacking, would require some more testing) (possible fix for #2435 for SA+ clients)

24-01-2015, Ben
Fixed: Undefined keyword 'ITEM' error when restocking vendors.
Modified: Order of @Create triggers to satify all situations.
	1 - CHARDEF's @Create runs first with @NPCRestock that follows (character does not have a position yet)
	2 - The character is placed in the world (This should fire @Enter in the appropriate region, and unlike before, the character is fully created)
	3 - TEVENTS @Create is fired (character now has a position)
	4 - EVENTSPET @Create is fired

24-01-2015, XuN
Stackable items with different 'new variables' like ResPoison, UsesCur, etc cannot be stacked anymore.
Added MaxAmount variable to stackable items with a default value of 65535 (not using this means no changes). This affect both Itemdefs and already created items (which can differ if you set to).
Droping on self/backpack and bouncing stackable items now makes Sphere trying to reach MaxAmount,
	so if you have one pile of 50k of gold and you drop another 50k you'll end with one stack with 65535 coins and another one with 34465,
	obviously, if you set [itemdef i_gold] to MaxAmount=50000 this will not happen.
Maximum value of MaxAmount keeps being unsigned short, the same, 65535 because of client limitation.
Non stackable items doesn't have MaxAmount

26-01-2015, XuN
Added 'click' function, doesn't need explanation I think.
Setting UsesMax will raise UsesCur too if UsesCur is 0.
Added UsesMax to tools from sphere_item_profession.scp and lumberjacking items (axes/polearms) in sphere_item_provisions_weapons.scp
Using Destroy 1 will make the item emote it's destruction.
Updated Lumberjacking,Fishing and Mining in sphere_skills.scp reflecthing Destroy changes.

27-01-2015, XuN
Updated @CombatDelete trigger with a new argn1 value, now it's telling Sphere to remove or keep 1/0 the attacker's memories when removing him from the list.
Added @HitIgnore trigger firing when one character is going to avoid an ignored target in the target selection: argn1=1 keep him ignored, argn2= un-ignore target (so character can attack him again).
Added @Eat trigger, read wiki for more info: http://wiki.sphere.torfo.org/index.php/@Eat

28-01-2015, Coruja
Added: Support for packet 02c to display char death animation (the famous "You are dead" black screen)
Changed: Min account plevel to bypass MinCharDeleteTime setting on sphere.ini changed from 3 (Seer) to 2 (Counselor)
Changed: return 1 on f_onchar_delete function (sphere_serv_triggers.scp) to deny char exclusion now will show a proper message ("couldn't carry out the request" instead "character is not old enough")
Changed: Some tooltips behavior below
	-Items amount value now will show directly on item name instead a new tooltip line
	-Added missing tooltips for Insured (attr_insured), Quest Item (attr_questitem) and Crafted by [CharName] (CRAFTEDBY property)
	-Added weight tooltip on all movable items if FEATURE_ML_UPDATE feature is enabled on sphere.ini (although it's not a ML feature, OSI started using this tooltip only on ML)
[sphere_msgs.scp]: Removed 'tooltip_tag_amount' text

29-01-2015, Coruja
Changed: Major improvement on combat engine (damage/resist calculations)
	-COMBAT_SPECIALDAMAGE and COMBAT_USE_RESISTANCE settings on sphere.ini are now a single COMBAT_ELEMENTAL_ENGINE which does the same thing (but now unified).
	-COMBAT_ELEMENTAL_ENGINE now totally overrides pre-AOS AR calculations with AOS damage/resist types instead use both at the same time.
	-Fixed formula for AR calculation
	-Fixed formula for char damage calculation. If unarmed (wrestling) the base damage will be the char DAM (usually 1-4), and using weapons the base damage will be the weapon damage. This base damage can be increased with some bonuses (if COMBAT_OSIDAMAGEMOD is enabled, it will use OSI bonus calculation, otherwise it will use sphere default bonus [STR/10]).
	-On AOS+ clients, the char status menu now will show exactly the damage range that the char can deal (including all bonuses)
	-New blood effects
	-Old [Physical/Fire/Cold/Poison/Energy]Damage properties got removed and replaced with the new DAM[Physical/Fire/Cold/Poison/Energy].
[sphere_msgs.scp]: Removed all "combat_hit_*" messages.

30-01-2015, XuN
Improved how Notoriety is checked for pets with PetsInheritNotoriety flags in the ini, now the notoriety is redirected instantly to pet's owner to avoid some checks and speed up the code. (Nothing has changed, it's just an improvement)
Updated fonts on sphere_item_typedef_equipitem.scp for 'unidentified' value on tooltips.
Splitted stats regens from CChar::OnTick() to CChar::Stats_Regen()
Re-Added old polymorph stats boost under MAGICF_POLYMORPHSTATS (0800) in sphere.ini.
Added MaxPolyStats to ini to override old hardcoded value, this limits the amount of stats gained through polymorph spell (default 150).

30-01-2015, Coruja
Added: 5 new optional arguments on DAMAGE function to make it compatible with COMBAT_ELEMENTAL_ENGINE feature
	Sintax: DAMAGE value, dam_flag, source, physical(%), fire(%), cold(%), poison(%), energy(%)
	Example: DAMAGE 50,dam_general,012345,70,30,0,0,0 will split 50 damage into 70% physical damage + 30% fire damage
Added: Internal support for COMBAT_ELEMENTAL_ENGINE on spells, explosion potion, etc
Added: New OSI formula to calculate spell damage if MAGICF_OSIFORMULAS feature is enabled

04-02-2015, Ben
Added: guardcall defname to sphere_def.scp in the [DEFNAME HARDCODED] section to allow an override of the words used to call guards. (multiple words can be defined) 
Fixed #2473: Can't get on other ships from your ship anymore.
Fixed #2467: Orc ship north missing 1 component.

07-02-2015, Ben
Added: Outgoing Packet Filtering using keyword OUTPACKETx=function_name in sphere.ini (works exactly like PACKETx=function_name but for outgoing packets)

13-02-2015, Coruja
Changed: Increased the area radius to call guards [14 -> 18 tiles].
Changed: RESPHYSICAL won't be merged with AR anymore, now both properties can have independent values. Sphere will choose the property to display on client status gump based on COMBAT_ELEMENTAL_ENGINE setting on sphere.ini (enabled = RESPHYSICAL / disabled = AR).
Added: Weapons and armors now will automatically set DAM*/RES* char properties on equip/unequip.
Fixed: Login internal behavior adding TAG.LastHit=0 on chars even when COMBAT_PREHIT is disabled. This tag is only used by COMBAT_PREHIT, so if it's disabled the tag won't be added anymore.
Fixed #2391: Nearby char names showing wrong notoriety color on client login.

15-02-2015, Coruja
[sphere_defs.scp]: Added missing defs for 'colors_metal' and 'colors_bright'
[sphere_template.scp]: Added missing 'random_talisman' template
[sphere_skills.scp]: Removed USESMAX behavior from Fishing skill (I dont know why, but OSI doesn't seems to use the 'Uses Remaining' behavior on this skill)
[items/*]: Added missing USESMAX property on skill tools items (and removed from i_pole_fishing)
[towns/sphere_town_dlg_master.scp]: Fixed console error [replaced function f_stonesys_iswarring -> f_townsys_iswarring]
[towns/sphere_town_functions.scp]: Fixed console error [replaced typedef t_town_town -> t_stone_town]

18-02-2015, Coruja
Fixed: Added missing newline break (\n) on some console error messages.
Fixed: Bulletin Board showing wrong author name on messages when the reader have GM=1 privileges.
Added: Items with LUCK property now will set char LUCK on equip/unequip.
Added: Missing tooltip info for recall runes.
	-Added new messages 'msg_targ_unexpected', 'rune_location_unk'
	-Updated texts for 'itemuse_rune_name', 'rune_to'
	-Added missing SKF_RANGED flag on Archery and Throwing skills.
	WARNING: Make sure to update your scripts following this change to prevent some problems on these skills. Previously sphere was internally setting SKF_RANGED on these skills, but now it's 100% on script-side.

21-02-2015, Coruja
Fixed: NPCs flagging their owner criminal when attack an innocent only if the NPC can speak or have NPC=brain_berserk set.
[sphere_item_profession_cook_barkeep_baker.scp]: Added missing t_cooking on all SKILLMAKE=Cooking lines.
[sphere_skillmenu.scp]: Added missing title on skillmenu sm_cook_ingredients, sm_cook_baking, sm_cook_barbecue

22-02-2015, Coruja
Fixed #2479: Combat damage bonus not being calculated correctly when COMBAT_OSIDAMAGEMOD is disabled.

23-02-2015, Coruja
Changed: Now only players can have damage bonus. NPCs will always use the damage value set on DAM property.
Fixed: Summoned NPCs incorrectly giving karma gain/loss on death.
Fixed: @GetHit not inheriting ARGN2 value from @Hit.
Fixed: Parrying skill not calling @UseQuick / @SkillUseQuick triggers.
Fixed #2478: Some weapons using wrong swing animation.
[sphere_msgs.scp]: Updated 'combat_parry' message.

25-02-2015, Ben
Fixed #2477: PacketDeathAnimation causing errors.
Fixed: New ARGN2 in @Hit not being set to the proper value.
Fixed #2484: GMs not always succeeding at skills.
Fixed: Unlock spell using spell level as difficulty.

02-03-2015, Coruja
Added: Internal support for SELFREPAIR property os items.
Fixed: Some internal messages using wrong message type (eg: items names incorrectly using 'talkmode_obj' instead 'talkmode_item', etc).
[sphere_msgs.scp]: Updated 'messages_settings' header, added new message 'cont_items'.

05-03-2015, XuN
Fixed Packet 0xBF.0x1C (Cast Spell) crashing server when spell does not exists (prevents crashing shard when casting packet sent directly from injection, etc and there's no spell).
Updated sphereCrypt.ini with clients up to 7.0.43.
Added 'stacking' behaviour to NightSight property to allow more than 1 item apply it's value and not removing the nightsight effect when unequipping (this will fix #2475), 
old behaviour (.nightsight (no value) to switch from 0 to 1 and viceversa) keeps working, be aware of not using both methods or problems will come.
Fixed #02488: Pets inheriting Notoriety from Masters even if .ini's value say to not do.

05-03-2015, Coruja
Changed: Internal improvements on how account characters are created.
Changed: Some minor optimizations on char notoriety checks.
Fixed: Players on the same party incorrectly using ally (green) notoriety if it choose "Party CANNOT loot me" on party menu.
Fixed: Ally/enemy notoriety not working on townstones.
Fixed: DAMAGE function making the char parry damages caused by itself.
Fixed: Console error when using SPELLEFFECT function without a valid SRC.
[sphere_newb.scp]: Added new templates for professions and race variants on skills.

06-03-2015, Coruja
Fixed: DAMAGE function not causing any damage on items when the function is called without a valid damage flag set (ARGN2).
Fixed: Roofs not working properly on AOS house customization menu.

06-03-2015, XuN
Added IsTriggerActive() and SetTriggerActive() functions to CObjBase keeping track of the running trigger.
Fixed using Remove in @UnEquip triggers crashing the server.
Fixed #2481: Usage of ResendToolTip in the @*ToolTip triggers crashing server.
Fixed CanUse receiving wrong value when value = 0 or no value.

07-03-2015, Coruja
Fixed: Fame/Karma gain/loss not working on some specific cases.
Fixed: SnoopCriminal setting on sphere.ini not working correctly. Now it works using a 0%~100% chance instead random values.
Fixed: Parrying skill blocking magic damages.
Fixed: MAGICF_OSIFORMULAS incorrectly using MANA instead INT value on spell damage calculation.
Changed: Armor/Weapons with ATTR=attr_magic set will not show +5,+10,+15,... on names anymore. Now users are able to softcode custom names on magic items without problems.
Changed: Some internal improvements on Snooping skill.
[Sphere.ini]: Updated SnoopCriminal description/value.
[sphere_msgs.scp]: Updated 'snooping_*' messages.

08-03-2015, Coruja
Added: Items with INCREASEDAM / INCREASEDEFCHANCE / INCREASEHITCHANCE now will set these properties on char on equip/unequip.
Fixed: NPCs (monsters) being flagged criminal when they attack an innocent player.
Changed: Updated minimum client version required to use some new packets.

09-03-2015, Staff_Stanic
Fixed: if the value of ExperienceKoefPVM or ExperienceKoefPVP is 0, not just the gain of experience will be disabled, but also the loss (if is allowed experience to go down).
Suppose a case that ExperienceKoefPVP=0, players will not gain experience killing npcs, consequently players will not lose experience when killed by npcs.
Fixed: not allow experience or level go to negative.

13-03-2015, Coruja
Fixed: Infinite loop when someone with Reactive Armor hit itself.
Fixed: Some items properties being saved as 0 value (when set it to 0) instead remove it at all.

14-03-2015, Coruja
Fixed: 'GetDist::InvalidPoint' console error when function ISNEARTYPE try search something out of the map bounds.
Fixed: Spells with SPELLFLAG_AREA + SPELLFLAG_DAMAGE flags causing damage to nearby items on ground.
Added: LOWERREAGENTCOST / FASTERCASTING behavior when casting spells.
Added: New Reactive Armor spell behavior if COMBAT_ELEMENTAL_ENGINE feature is enabled, now it will increase RESPHYSICAL and decrease RESFIRE/RESCOLD/RESPOISON/RESENERGY.
Added: New Mana Drain / Mana Vampire spell effect if MAGICF_OSIFORMULAS feature is enabled.
[sphere_spells]: Updated FLAGS/EFFECT/EFFECT_ID values on Mana Drain / Mana Vampire / Enchantment spells.
[sphere_defs.scp]: Updated 'snd_spell_reactive_armor' value.
[sphere_skills.scp]: Removed duplicated @Fail message on Magery skill.
[sphere_item_magic_weapon.scp]: Updated all magic weapons properties to the correct values.

15-03-2015, Staff_Stanic
Added: ARGN2=0 ARGN2=0 will disable automatic message when @ExpLevelChange.

17-03-2015, XuN
Fixed #2493: Reverted MINCLIVER_NEWMOBINCOMING back to 0x700331. 
Fixed items with Res* and DMG* giving values again when save+restart, stat's additions should be placed on ItemEquip and not in LayerAdd. 
Fixed items being 'dropped' on player's characters when they are created instead of equipping (changed LayerAdd to ItemEquip in CChar::ContentAdd(), may cause some other issues?) 

17-03-2015, Staff_Stanic
[Sphere.ini] Added: ItemDamageCombat - chance of a item be damaged during a combat (PvP or PvM).
[Sphere.ini] Added: ItemDamageCombatIncrease - the difference of total and current durability of a item will increase the probability of this same item be damaged? If yes, the probability of a item be damaged during a combat will be given by: (ItemDamageCombat + Item_Total_Durability - Item_Current_Durability)%

18-03-2015, XuN
Added to [REGIONTYPE r_houses] the following code to prevent the dialog being used in other houses skipping permissions:
		src.dialogclose d_house_menu
		src.events -e_house_player_events

19-03-2015, XuN
Added CombatBonusStat and CombatBonusPercent properties for weapons and chars changing the default formula for damage ( having weapon equipped will override char settings, regardless of weapon having them or not)
	CombatBonusStat stores the stat id. STR = 0, INT = 1, DEX = 2
	CombatBonusPercent stores the percentaje of stat applied onto the bonus calculations, value can be negative but total bonus cannot be lower than 1.
Added these lines:
	//msg_acc_passclear			"Password has been cleared."
	//msg_acc_passclear_relog	"Log out, then back in to set the new password.""
	//msg_acc_acceptpass		"Password has been set."
	//msg_acc_invalidpass		"Invalid password."
	//msg_acc_guesthit			"The guest curse strikes you."
	//msg_region_reddef			"You have %s the red region."
	//msg_region_redenter		"entered"
	//msg_region_redleft		"left"
	//itemuse_dye_reach1		"You can't reach it."
	//msg_gmpages_none			"No GM pages queued. Use .page ?"
	//msg_gmpages_current		"Current GM .PAGE Account=%s (%s) Reason='%s' Time=%lld."
	//npc_vendor_cantbuy		"You cannot buy that."
	//npc_vendor_cantsell		"You cannot sell that."
	//msg_targ_dynamic			"Must select a dynamic object."
	//msg_targ_moved			"Targetted item moved?"
	//msg_targ_gone				"Targetted item is gone?"
	//spell_mark_cont			"The rune must be on your person to mark."
	//npc_vendor_sellfast		"You are selling too fast."
	//npc_vendor_sellmuch		"You cannot sell so much."

Fixed StatCap not allowing stats to go to the statcap itself, but 1 point lesser (STATCAP=255 allowed only 254 stat points).
Added few more msgs to sphere_msgs.scp:
	//npc_vendor_nomoney1			"Begging thy pardon, but thou canst not afford that."
	//target_command				"Select object to set/command '%s'."

20-03-2015, Coruja
Fixed: Console error / client crash when opening some specific gump types on HS clients >=
Fixed: Added missing buff icon on Meditation skill.
Fixed: Minimum client version required to use some new packets.
Fixed: Reactive Armor spell changing RESPHYSICAL to an incorrect value when COMBAT_ELEMENTAL_ENGINE is enabled.
Added: ADDBUFF function now can handle up to 5 args to support newest clilocs.
Changed: Some improvements on buff packets (now it can handle more args correctly).
Changed: Some improvements on exp/level gain/loss code.
Changed: Softcoded ItemDamageCombat / ItemDamageCombatIncrease .ini settings, the chance to get items damaged on combat now can be fully scripted using LOCAL.ItemDamageChance (value range: 0~100) on triggers @Hit (weapon) / @GetHit (armor).
[sphere_defs.scp] Updated 'buffcliloc_reactivearmor_2' value.

21-03-2015, XuN
Now skill changes (on lumberjacking,tactics and anatomy when COMBATF_OSIDAMAGEMOD is enabled) and DAM value applied on weapons and the new CombatBonusStat and CombatBonusPercente are updating the status window to reflect the dam changes.
Added to sphere_msgs.scp: 
	//menu_unexpected					"Unexpected menu info."

Changed variable times in world time handler to avoid some overflow-recycle messages.

22-03-2015, Coruja
Changed: ADDBUFF function now can handle up to 7 args.
Changed: Minor changes on COMBATBONUSSTAT / COMBATBONUSPERCENT formulas to better compatibility with damage calculation formulas.
[sphere_dialog.scp] Huge optimization on dialog d_hair_dye

23-03-2015, XuN
Changed everything related to spawns to new class CItemSpawn having everything from spawns more concentrated and prepared for future improvements.
Increased BuffIcons limit up to 1126

Added new buff definitions.
To have it a bit more organizated keept buffs as bufficon_*, changed debuffs to debufficon_* and passives to passivebufficon_*

Added definitions for old bufficon_* entries that have been changed to new debufficon_* or passivebufficon_*

23-03-2015, Coruja
Fixed: HS clients not parsing correctly text lists like TAGLIST/CTAGLIST/VARLIST/etc.
Fixed: Sphere crashing when COMBAT_ELEMENTAL_ENGINE is disabled and 2 chars with Reactive Armor attack each other causing an infinite loop when reflect the damage.
Added: New Magic Reflection and Protection spell behavior if COMBAT_ELEMENTAL_ENGINE feature is enabled.
Added: Support for RESDISP/RESLEVEL 8 on accounts, it's the default RESDISP for High Seas expansion (clients >=

24-03-2015, XuN
Fixed some code from PacketWheelBoatMove (Move ships with mouse) and enabled it via 'Pilot' variable in ships holding the value of character and one memory item (acting like a horse)
Added few checks for Combat_NoDirChange

 Added t_pilot to sphere_defs.scp
 Updated \items\sphere_item_ship_parts_*.scp adding t_pilot.	//It seems that britannian and orcish ships got their items changed and they look empty now, i did not change this atm.
 Added \Add-On\HighSeas\Ships\HS_Pilot.scp with behaviour for t_pilot and memory item for mouse sailing.
 Added //itemuse_crook_target			"Where do you want them to go ?" to sphere_msgs.scp

26-03-2015, Coruja
Fixed: IDLE clients on login / character selection screen being disconnect on the server-side without display any feedback to client, making it freeze on a infinite 'Connecting...' screen. Now IDLE clients will get an 'timeout' message and will be able to press ok and try again without get stuck.
Fixed: PacketDeathAnimation feature not working correctly on some specific clients.
Fixed: Dispel, Dispel Field and Mass Dispell spells incorrectly removing nearby items with typedef t_fire / t_campfire set.
Fixed: Flamestrike spell missing some animation frames.
Added: Missing Protection spell behavior (spell disturb chance) if COMBAT_ELEMENTAL_ENGINE is enabled.
Added: New effect calculation on buff (Agility, Cunning, Strength, Bless) and debuff (Clumsy, Feeblemind, Weaken, Curse) spells if MAGICF_OSIFORMULAS is enabled.

26-03-2015, XuN
Added 5 more args to .effect function to give support to packet 0c7, new values are: EffectID,ExplodeID,SoundID,UID,Type. Seems to work only on EC.
Added Bonded property for npcs with very basic functionality, setting it to 1 doesn't let NPCs die.
Removed some debug msgs.
Changed some more m_Act_Targ to m_Fight_Targ.
Corpses retrieve killer's uid now from Attacker_GetLast() instead of on ACT.

27-03-2015, XuN
Changed DClick of t_ship_plank using SetDispID() instead of SetID() so they are threated as ship parts and 'fliped' with the rest of the ship.
Changed the 'Undefined symbol '' ' output format, now also prints what was the problem exactly in some situations. IE: if (<local.hello==1) // missing '>' will print 21:15:ERROR:(s_add.scp,21)Undefined symbol '' ['<local.hello==)']
[sphere_spells.scp]: Added missing '>' to local.damagetype in s_explosion.
Added another block of code for @SeeCrime, now it fires also when a 3rd part sees a crime (I'm seeing Player X attacking Player Y while Y is 'good'), to decide if mark as 'bad guy' the aggresor for this character.
	argn1 = attacker
	argn2 = victim
	argn3 = 1=criminal / 0='turn eyes away'
Fighting Memory will also remove flag MEMORY_AGGREIVED when expiring (NEED feedback on this) to avoid blue-innocent player becoming criminal when the fight memory of the attacker expires (if he attacked back).
Being attacked is not giving MEMORY_AGGREIVED to memory item, I might be attacked but it may not have to do anything with me being aggreived ... they may have been attacked by me first (Need feedback on this too).

28-03-2015, XuN
	Added Expansion definitions.
	Added t_rope
	Added t_rope to i_rope
	Changed Height from all Tokuno ships from 7 to 17.
	Added Expansion=EXPANSION_HS to all HS ships.
	Added mount check to t_pilot to prevent the memory item being bounced to pack.

Added t_rope working like t_ship_plank but making no changes on ID, by default it doesn't have any 'I'm in ship' checks when steping them for two reasons, ropes should be in ships and this way they can be used in houses to go out?
Added <TEXTF > function returning formatted text, example:
	[defname exampledef]
	test=Hello %s, I'll teach you for %d coins.
	message=<textf "<def.test>",<src.name>,15> // Quotes are A MUST.

29-03-2015, XuN
Fixed humans not regenerating hitpoints
Changed Stats Regens to automatically update the timer of next tick instead of waiting for old value when changing it via RegenHits/Stam/Mana.
Fixed CanUse not inheriting from itemdefs to items

31-03-2015, Coruja
Fixed: Arch Protection spell not working correctly with COMBAT_ELEMENTAL_ENGINE enabled.
Fixed: Resurrection spell not displaying correct EFFECT_ID / SOUND.
Added: MAGICF_OSIFORMULAS behavior on more spells.
Changed: Small improvements on drunkness effect (ale, wine, liquor).
[sphere.ini]: Moved EF_PetSlots setting (experimental flag) to OF_PetSlots (optional flag).
[sphere_admin.scp]: Added missing 'admin_resdisp_8' def.
	-Changed IMSG_DEF_UNICODE to 1 (to match internal client behavior, which always show item/char names using unicode by default).
	-Removed useless 'spell_alcohol_sober' msg.

01-04-2015, matex
Fixed: SYSCMD never could return an exit value and was hanging sometimes.

01-04-2015, XuN
Fixed NPCs not moving to current fight target.
Added scripts/items/sphere_item_provisions_logs.scp with different log types.
Changed scripts/items/sphere_item_provisions.scp: Moved i_log(s) / i_board(s) to scripts/items/sphere_item_provisions_logs.scp

01-04-2015, Coruja
Fixed: Buff/Debuff spells not working correctly when MAGICF_OSIFORMULAS is disabled.
[sphere_item_provisions_logs.scp]: Fixed some boards using wrong itemdef.

02-04-2015, XuN
Added Repair function (Called on Repareid item, must be called with a character as SRC, who is going to perform the repair action).
Added Smelt function ( called on Smelted item, must be called with a character as SRC. ARGS=forge or another ore pile to smelt, if no ARGS is given it will search automatically for nearest forge if any ).
Changed @StatGain trigger is not being fired anymore with any stat changes from the @Create trigger.
Fixed local.CreateObject1 & 2 in @Success trigger for field spells causing the new items to do not use the same placement checks as default items.
Updated behaviour of Bonded Pets ONLY when they are DEAD:
	-They act as normal for everything, excepting they cannot die.
	-Follow any master's command, excepting fighting ones.
	-Doesn't regenerate stats.
	-NPCs won't die if they have bonded=1, if they are dead already and bonded is set to 0 they will die in next ticks.
	-Stam required to step over them is 0.
	-Food doesn't decay.
Fixed: Pets following when recalling/teleporting/gate travelling should be more consistent.
Changed: Mounted items calls now CChar::OnTick() on the mounted character instead of doing the tick on it's own, so they regenerate stats and everything like any other character in a more realistic way.
Fixed STATSUM and STAT_STR/DEX/INT from SkillClasses not being readed correctly (or at all) in some cases, this should permanently stop the need of custom statcaps. This is how StatGain works today (** = what was fixed):
	-Only INT can be gained when Polymorphed.
	-Stats with any StatLock different than UP can't increase.
	-StatCap <= StatSum stops the execution. **
	-STAT_* > STAT_VALUE from SkillClass = ignore this stat **
	-STAT_* > STAT_VALUE for this Stat in the performed Skill = ignore this stat.
	-Then the checks for %chances are made.
	Added //msg_bonded_dead_cantmount			"The creature is dead and cannot be mounted."

03-04-2015, Coruja
Fixed: EXP/LEVEL going < 0 on chars when the property value is changed by scripts using @ExpChange / @ExpLevelChange triggers.
Fixed: CUSTOMIZE function not hiding correctly all dynamic items on multi when entering on customization mode.

06-04-2015, Coruja
Fixed: NPC Guards (brain_guard) incorrectly teaching skills to players.
Fixed: Protection spell not returning the Magic Resistance skill to correct value if this skill was set to lock/down on the skill menu (when COMBAT_ELEMENTAL_ENGINE is enabled).
Fixed: Mana Drain, Wall of Stone and Energy Vortex spells using wrong EFFECT / DURATION if MAGICF_OSIFORMULAS is enabled.

08-04-2015, XuN
Changes in @Effect/@SpellEffect triggers for spells:
	Local.CreateObject1 overrides the effect id.
	Added Local.EffectColor, local.EffectRender and local.EffectExplode allowing to override the values of the sent effect.

Added Local.EffectColor to @Success/@SpellSuccess to change the color of field spells.

Reordered how effects are called (now they are all together inside SpellEffect()) to have better access to them.
Removed some Effect() calls to prevent two effects being sent in some spells.
Removed Effect_Bolt(), its now handled by SPELLFLAG_FX_BOLT inside SpellEffect().
*Any of this changes are affecting lightning spells, since client ignores everything related to lightnings (.effect 1,1).

Changed @SpellCast / @Start trigger for characters / spells:
	- Added local.WOP=0/1 to disable/enable WOP for this character / spell.
	- Added local.WOPColor (default = SERV.WOPColor) to change Word of Power's color for this character / spell .
	- Added local.WOPFont (default = SERV.WOPFont) to change WOP's font for this character / spell .

11-04-2015, Coruja
Fixed: Some spell formulas incorrectly using the skill value from target instead caster.

11-04-2015, XuN
Added char* definitions for both ContextMenuRequest and ContextMenuSelect (@charContextMenuSelect/Request).
Fixed NewGold not calling @Create if any new pile was created.
Fixed NewGold not taking care of MaxAmount.

15-04-2015, XuN
Added to sphere_msgs.scp:	(emotes for poison seems to have different values for poisoned character and the other ones)
for poisoned characters:
	//spell_osipoison_lesser		"feel a bit nauseous"
	//spell_osipoison_standard		"feel disorientated and nauseous!"
	//spell_osipoison_greater		"begin to feel pain throughout your body!"
	//spell_osipoison_deadly		"feel extremely weak and are in severe pain!"
	//spell_osipoison_lethal		"are in extreme pain, and require immediate aid!"
for viewers:
	//spell_osipoison_lesser1		"looks ill."
	//spell_osipoison_standard1		"looks extremely ill."
	//spell_osipoison_greater1		"stumbles around in confusion and pain."
	//spell_osipoison_deadly1		"is wracked with extreme pain."
	//spell_osipoison_lethal1		"begins to spasm uncontrollably."

CHANGED Poison function:
	By default it accepts 1 parameter (skill level)
	It can now have a second parameter for duration ticks (If not given, ticks are calculated as always = SkillLevel /50 ).

Added new behaviour for poison spell under MAGIFC_OSIFORMULAS:
	Poison Level = (Magery + Poisoning) /2:	(Stored in MoreY)
		Lesser (0):		Level <= 65.0
		Standard (1):	Level <= 85.0
		Greater (2):	Level < 100.0
		Deadly (3):		Level > 100.0
	Poison can be Lethal also with a 10% chances if the magery and poisoning of the poisoner are greather than 100.0 and distance < 3 tiles.
	Tick Period: 
		Lesser =		2 seconds.
		Standard =		3 seconds.
		Greater =		4 seconds
		Deadly/Lethal = 5 seconds.
	Duration:(More2) (if poison spell is called from POISON function, this values will be applied only if argn2 == 0, if set to another value then the given value will be used)
		Lesser =		30 seconds.
		Standard =		30 seconds.
		Greather =		60 seconds.
		Deadly =		60 seconds.
		Lethal =		80 seconds.
	Damage:(Currently values for poisons > Lesser are calculated on SpellEffect (MoreZ), so the same damage is dealed in each tick, AFAIK this is how it works)
		Lesser =		4-7% current hp.
		Standard =		5-10% max hp.
		Greater =		7-15% max hp.
		Deadly =		15-30% max hp.
		Lethal =		16-33% max hp

Added new ini flag COMBAT_NOPOISONHIT :Disables old (55i like) poisoning style: Poisoning > 30.0 && (RAND(100.0)> Poisoning) for monsters OR weapon.morez && (RAND(100) < weapon.morez ) for poisoned weapons.
INFORMATION: These have been unchanged, i'm writing here however for information of how is the poison's strenght calculated.
	Poison applied using weapon: src.poison <eval <weapon.morez>*10>,<eval <weapon.morez>/5> (so morez*10 = poison damage and morez/5 = ticks)
	Poison applied by monsters: src.poison <eval <r<Poisoning>>>, <r<eval <Poisoning>/50>>	(so strength is a rand of the poisoning skill and ticks are poisoning skill / 50
	Poisoned food has not been altered either, but here is the formula too: src.poison <eval <morez>*10>,1+<eval <morez>/50> (so the food's morez*10 is the strenght and ticks = morez /50 too).

15-04-2015, Coruja
Fixed: Some skills only rising until 30.0% on specific situations.
Changed: Some small changes on Magic Reflection spell.

27-04-2015, Coruja
Fixed: Guilds not display notoriety correctly on players with recruit access level.
Fixed: Magic Reflection effect only working on spells with SPELLFLAG_RESIST set. Now only spells with direct target (SPELLFLAG_TARG_CHAR) can be reflected.
Fixed: Spells with SPELLFLAG_HARM flag not flagging the caster criminal when it got resisted/reflected by the target.
Changed: Some improvements on Magic Resistance (skill) effect.
[Sphere.ini]: Added new ColorNotoInvulGameMaster setting to tweak the name notoriety color on invul Game Master chars (purple by default).
	-Added missing DURATION on Mana Drain spell.

28-04-2015, Coruja
Fixed: Mounts not creating the corpse when it die while ridden.
Fixed: Corpses not setting MORE2 (last attacker UID) correctly when created.
Fixed: NPCs only showing [npc] tag on name when inside an region with guards.
Changed: Removed max limit of CURFOLLOWER=255 on OF_PetSlots feature.
[sphere_msgs.scp]: Added new 'charinfo_bonded' message to show [bonded] tag on chars with BONDED=1 set (it will override the [tame] tag by default).

02-05-2015, XuN
REMOVED tag.override.noto completely now, @NotoSend was made as an enhanced version of this tag.
Added: argn2 in @NotoSend trigger forcing the character's packet to use this value as character's color but not modifying the real notoriety.
Changed: @NotoSend argn1 value now only can have values between 1 (NOTO_GOOD) and 7 (NOTO_INVUL) if other value is given it will be ignored and default checks will be made, color will still be used (if value >= 0)
Updated http://wiki.sphere.torfo.org/index.php/@NotoSend information.

Fixed some cases in which victims of a crime (attacked characters) became criminals. Also, but not always related to the same scenario, Notoriety not checking flags for MEMORY_HARMEDBY, which was causing the 'criminal issue' and also a bunch of unnecessary checks.
Fixed Guards being able to be flagged as criminals and doing the whole checks: Guards always acts for the law and they will never be criminal (this has been this way always but checks were performed anyway).
All of this fixed too @SeeCrime from combat not always working.
CHANGED: Old @SeeCrime is now @SeeSnoop http://wiki.sphere.torfo.org/index.php/@SeeSnoop
ADDED: New @SeeCrime trigger for every crime unrelated to Snooping: http://wiki.sphere.torfo.org/index.php/@SeeCrime
Updated: http://wiki.sphere.torfo.org/index.php/Override_TAGs
Fixed some compiling warnings.

03-05-2015, XuN
When a thread is hang it will now release the stack trace to be able to follow what caused the freeze.
Some fixes on experience and level system blocking changes on some circunstances and an infinite loop freezing server.
Updated sphere_item_typedef_equipitem.scp commenting from @Equip and @UnEquip the variables we are already setting from the source.

05-05-2015, XuN
Removed 'glow effect' from parrying in the source and added it under @UseQuick in parrying skill in sphere_skills.scp
Fixed @Eat not setting values correctly in some cases.
Fixed argn2 on @NotoSend not working as intended (notice that PetsInheritNotoriety may affect and block this).

07-05-2015, XuN
Updated sphere_serv_triggers.scp with some information/comments and values for newly created characters.
Added Notoriety values changed via @NotoSend to be sent in character's names: 
	-argn2 has priority over anything else, if it's value is 0, lesser or not present at all then argn1 will be used, if there's no argn1 either then default checks will be made.
	-argn2 values from 1 to 7 will read color hues from ini ones (NOTO_GOOD,NOTO_CRIMINAL...NOTO_INVUL,etc).
Poison spell and habilities based on it are now affected by SPELLFLAG_NoUnparalyze (if set).
Fixed some errors appearing when a character dies while poisoned conflicting with PacketDeathAnimation.
Poison damage has now DAM_MAGIC flag set.
Uncommented EFFECT value for Poison spell in sphere_spells.scp

08-05-2015, Coruja
Added: New 'Add/Remove Party Member' missing popup button when click on another player to invite/remove him from an party.
Changed: Some updates/optimizations on party engine.
[sphere_msgs.scp]: Updated 'party_*' messages.
[sphere_defs.scp]: Added missing 'attr_opened' value on [DEFNAME attr_flags] list.

09-05-2015, XuN
Fixed: Ignored 'attackers' will not be chosen as targets anymore, even if they are the only enemies on the list.
Added: Field spells will fire @Create for their itemdefs/events, also @ItemCreate for characters with a 'tag.BadLoc' which will be true if they are going to be placed above any character.
	If tag keeps at 1 after the @Create trigger the field will be removed like it's been doing recently.
	Since fields will not be placed until they are allowed to (to avoid 'ghost' walls dissapearing), items will have a 'tag.pos' with the placement position.

09-05-2015, Coruja
Added: New updated Swing Speed combat formula. It's almost the same as the previous formula (pre-AOS) but more accurate and with support to Swing Speed Increase property (INCREASESWINGSPEED).
[sphere.ini]: Updated 'SpeedScaleFactor' setting to the recommended value for the new Swing Speed formula [15000 -> 80000]. Although the old (or any other value) can be used, it's HIGHLY recommended update it to get better results.
[npcs/sphere_monsters.scp]: Added MAXFOLLOWER, RESPHYSICALMAX, RESFIREMAX, RESCOLDMAX, RESPOISONMAX, RESENERGYMAX properties on playable chars (c_man, c_woman, c_elf_male, c_elf_female, c_gargoyle_male, c_gargoyle_female).
[sphere_serv_triggers.scp]: Removed RES*MAX from f_onchar_create (it was moved directly to chardefs).

10-05-2015, Ben
Added: ABS() intrinsic function wich returns the absolute of any number ( <eval abs(5)> = 5, <eval abs(-5)> = 5 )

13-05-2015, XuN
Receiving 0 damage will not generate blood anymore.
Improved the code for 'Attacker'.

Updated/improved/cleaned Spells:

-Added internal definitions for all spells
-Added support for spells with id 1000 to 1055 for custom spells and other old spells, reflected changes in sphere_spells.scp*
-t_spellbook_extra works with values 1000+
-Changed NPCs formulas to make them able to cast spells from other books than MAGERY one, selected from skills with SKF_MAGIC**:
-Fixed the formula to select the maximum spell NPCs can cast because any npc with magery > 10.0 could cast all spells, now maxspell is calculated like this (using magery as example) :
	maxspell = MULDIV(Skill_GetValue(magery),Spells_GetMax(magery),Skill_GetMax(magery)). To get a real progression for skill's capabilities this adjusts automatically to each skill's max spells, so 78.2 necromancy will let npcs cast up to spell 12 and 71.4 magery will let npc cast up to spell 37 for example.
		Skill_GetValue() returns the current value for this skill,
		Spells_GetMax() returns the total amount of spells for this skill (64 for magery, 17 for necromancy...),
		SkillGetMax() returns the maximum amount of this skill (Based on skillclass for players and 100.0 (or tag.override.skillcap_&skill if present) for NPCs)
-NOTE: This has not been changed, and it's ONLY for magery as it was before (since other skills was not being checked): spells are selected in a FOR loop so, for magery and to avoid big loops each time a spell must be selected, first spell being checked is <r<maxspell>>. So if maxspell = 50 it will choose spells between <r50> and 50.

	-added spellflag_heal             040000000  // spell used to heal hitpoints or resurrect
	-added LAYER_* definitions for all spells that need a layer item to handle their behaviour (behaviours not added).
	-Changed ID for spell number 64 to 1000 and so on with the next ones until spell 99.
	-Added spellflag_heal to s_heal,s_greater_heal,s_close_wounds,s_noble_sacrifice,s_gift_of_life,
	-Added flags to Spellweaving spells.
-Added NPC_AI setting: 
	// NPC_AI_STRICTCAST		01000	NPC's will only select spells they really have in their spellbook. Old behaviour let them to select any spell with SPELLFLAG_HARM if they have magery enough to cast it regardless of spellbook.
FIXED i_spellbook_spellweaving was MOREZ=0600, it should be 600
FIXED argn2 for @SpellSelect couldn't be overriden for spells casted from T_WAND or T_SCROLL. ARGN2 is also set to the proper mana value (0 for T_WAND and RequiredMana /2 for I_SCROLL) for reading purposes.
Updated comment for t_spellbook_extra       186   // some spellbook for script purposes (MOREZ=basic offset, should 1000 or more) in sphere_defs.scp
	Added morex for t_spellbook_extra to set the max amount of spells for this book, so morez = first spell and morex = last spell , for example morey=1000, morez=1016 will hold spells from 1000 to 1016

Added spellflag_poly on sphere_spells.scp, also added support on the source to make them working: 
	-Lich Form
	-Wraith Form
	-Horrific Beast
	-Vampiric Embrace
	-Stone Form
	-Reaper Form
Added some code for s_healing_stone and i_healing_stone in both sphere_spells.scp and sphere_item_magic_mysticism.scp

16-05-2015, Ben
Fixed #2510: deathshroud not removing on resurrection in all cases.

17-05-2015, XuN
Updated @NPCActFight:
	Added - local.skill // Setting this to any skill will make the NPC begin this skill
	Added - local.spell // For magic skills this will be the casted spell
	Added - ACT // This will refer to the target, must be set since the trigger is using SRC for the first enemy
	Added - return 2 // The code above will only work when return = 2
Removed NPC_AI_STRICTCAST and all the invented casts from npcs.This can be reverted applying a trigger for npcs like this:
	if (<magery> > 0)
		while (<local.spell> < 64)
			if (<CanCast <local.spell>>)
				return 2
				local.spell ++
	endif	//same for the other magic skills.

Added vector list storing all spells that npcs can cast and removed tons of lines of code to increase the performance of CPU when NPCs cast some spells.
	Added LAYER variable to spells, ALL SPHERE_SPELLS.SCP MUST BE UPDATED or spells with some effect, like polymorphs, summons, stat spells, and all that have a determinated duration will stop working
	[sphere_spells.scp]	//Seriously, this script must be updated.
		-Added LAYER=layer_spell_* to all magery, necromancy, spellweaving,chivalry and mysticism spells, ie LAYER=layer_spell_stats for s_bless,s_cunning, etc
Changed default formulas to make spells work with LAYER instead of hardcoded checks, this will help making custom spells by giving the customization enough to handle every possible effect.

Changed: MemoryEquip won't be called anymore for the memories of spell's effects.
Added character trigger @EffectAdd: This will be called when any type of effect memory is being added, like stat changes for s_bless, s_cunning... s_weaken ...
	Argo = memory item
	argn1 = spellid
	return 0: Let default checks to happen.
	return 1: Blocks any action and stops everything, also deletes the memory (Blocking any changes, this will cause also the effect to do not have duration)
	return 2: Let the memory exist but block default checks, perfect to override default effects and do some custom stuff.
To simulate something like '@EffectEnd' just apply an event with @Timer to the memory since the 'default changes' are happening after @UnEquip and, at this point, the item must be removed in any case... so preventing this must be done before (@Timer fits perfectly).

19-05-2015, Coruja
Added: New animation on dragon breath attack.
Changed: Reduced SAY/speech max text length (1024 -> 256 chars). Client is limited to 128 chars on default speech and 256 chars on journal, so this can avoid some exploits from 3rd party assists/tools without affect the gameplay.
Changed: Major optimizations on walk, skills and general ticks code. It's working fine, but needs some heavy testing until we mark it as 100% stable.
	-IMPORTANT: Be sure to update your sphere_skills.scp with proper FLAGS on all fight/ranged/magic/craft/gather skills, otherwise these skills will not work correctly.

20-05-2015, Coruja
Fixed: Parrying skill check always returning 'true' (success) on chars with GM=1 set, making the char never receive any damage on combat even without invul flag set.
Changed: Improved Teleport/Dispel spell smoke animation.
Changed: Another huge optimization on skills code.
[Sphere.ini]: Updated TeleportEffectNPC / TeleportEffectPlayers settings with correct values.

22-05-2015, Coruja
Fixed: NPCs not following his owner/target correctly.
Changed: Some improvements on pet follower slots and pet bonding engine.
[sphere_defs.scp]: Added missing 't_healing_stone' on [TYPEDEFS] section.

22-05-2015, XuN
Major updates on code to fix compiler LVL4 warnings.
Changed sector's size for map 4 from 8 to 16  (so we only have 5k sectors on this map instead of 31k), improving heavily performance when this map is enabled.
NOTE: Disabling unused maps / using the less possible will increase the performance exponentially since each tick a loop for all maps and all it's sectors is fire, take this in count.

28-05-2015, Coruja
Fixed: Spell buff/debuff icons showing wrong info on client login.
[maps/sphere_map3.scp]: Added missing AREADEF a_isle_of_divide
[maps/sphere_map4.scp]: Updated header comments
[sphere_defs.scp]: Updated some cliloc values on 'buff_clilocs'
[sphere_spells.scp]: Fixed Dispel Field spell flags [spellflag_targ_obj -> spellflag_targ_item]

29-05-2015, Coruja
Some minor design updates on SphereSvr.exe file/console.

30-05-2015, XuN
Added: TAG.SeenBy_uid for items with attr_invis allow these items to be seen by characters with the given uid, ie: tag.SeenBy_015af=1 will allow player with uid 015af to see this item, usefull for traps/quest items/etc.

Changed return 2 from EffectAdd to return 0 to avoid some problems.
Added only if FEATURE_AOS_B is enabled:
	- Behaviour for HitLeechMana on weapons: Returned mana = 0 - X. Where X is the HitLeechMana% of (Damage dealt * 0.4). More info in: http://www.uoguide.com/Hit_Mana_Leech
	- Behaviour for HitLeechLife on weapons: On every successful hit you will leech 0 to X percent health of (Damage done * 0.3) where X is the Hit Life Leech value on your weapon. (This means the same as HitLeechMana but using *0.3 instead of *0.4)
	- Behaviour for HitManaDrain on weapons: %of draining a 20% of the damage dealt from the enemy's mana. so HitManaDrain = 50 means a 50% of draining mana to the target. Mana drained = 20% of the damage done.
	- Behaviour for EnhancePotions on characters: Effect of the potion is increased by the % set on this property.
Added default behaviours for the following necromancy spells (some of them was already working but not with their full effects):
	s_curse_weapon = Adds +x HitLeechLife to any equipped weapon, while the spell is in effect unequiped weapons will get this bonus removed and equipped weapons will gain the bonus. X is stored at memory's morey (50 by default).
	s_blood_oath = When a target of s_blood_oath damages the caster... the damage amount is increased, the target also receives the x% of damage than the caster. X by default should be 100, but its lowered to this formula: ((Resisting Spells Skill x 10) / 20) + 10. X is stored at memory's morey.
	s_corpse_skin = Turns the victim's skin dry and corpse like. This temporarily decreases the target's fire and poison resists (Fire and Poison resist decreased by 15 (more1h) each), while increasing resistance to cold and physical damage (increasing both by 10 (more1L) each).
	s_evil_omen = http://www.uoguide.com/Evil_Omen
	s_pain_spike = http://www.uoguide.com/Pain_Spike
	s_wraith_form = Gets + 15 Resphysical (more1h) and -5(more1l) ResEnergy/ResFire while the effect is active, it also grants the same effect (but not working with it's property) as HitLeechMana returning a % of the target's mana calculated from = Spirit Speak / 50 (24% at 120.0 Spirit Speak), also grants the ability to walk through creatures and players in Felucca
	s_mind_rot = Decreases the LowerManaCost property on the character.
	s_horrific_beast = Provides a bonus of unarmed damage (stored in more1l & more1h on the spell's memory, default = 5,9), Gains a +20 RegenHitsVal (more2) and +25 Melee damage increase (morey). It's also unable to cast other spells than polymorphing ones (@SpellCast in c_horrific_beast).
	s_poison_strike	= scripted.
	s_wither = scripted.
	s_strangle = Info here: http://www.uoguide.com/Strangle
	s_lich_form = +13 RegenValMana (more1l), -5 RegenValHits (more1h), -10 ResFire and +10 ResPoison/ResCold ( all three stored in more2).
	s_vampiric_embrace = +20% HitLeechLife (more1l), +15 RegenStamVal (more1h), +3 RegenManaVal (more2), -25 ResFire (morey).

	- Almost all graphical effects for these spells are still not applied yet. Same for RUNE_ITEMs.
	- Polymorphs from Necromancy have an increased damage received from Undead Slayer Weapons, since there's no hardcoded support for Slayer Weapons (yet?) I didn't add it. Feel free to script it.
	- These Spells may not be working at 100% yet, just sent 'initial' code. sphere_spells.scp MUST be updated.
	- Some behaviours related to spells and props are going to change in the following days.
	- Added LAYER_Spell_BLood_Oath and modified the following values to match it's order.
	-Changed LAYER for s_strangle to LAYER_Spell_Strangle
	-Behaviour for s_wither
	-Behaviour for s_poison_strike
	-Flags, RUNE_ITEM and more values for spells 100+.
	-Added code under @Select for all spellflag_polymorph spells to unpolymorph who is already polymorphed (same as s_polymorph).
	-Added: c_horrific_beast -> ON=@SpellCast trigger avoiding any casts for this creature if a player is morphed on it.
[sphere_item_deco_signs.scp] (Darksun)
	-Added missing definitions for all signs.
	-Added fake runes for all necromancy spells, they don't have real entries in tiledata but i'm using custom itemdefs with their scrolls as baseid.

Taking in count lot of recent changes realized that some properties must properly shown or hidden according to some ini flags, so ResFire,ResPhysical, etc will only be shown on item's ToolTips if COMBAT_ELEMENTAL_ENGINE is enabled

31-05-2015, Coruja
Changed: Some small code improvements on HITLEECH[LIFE/MANA/STAM] properties.
Changed: Messsage 'Expansion maps supported' on server startup now will show the real map name (Felucca, Ilshenar, Malas, ...) instead UO expansion name (T2A, LBR, AOS, ...)
[Sphere.ini]: Changed all MAPx settings to use -1 as sector size. This will make sphere use the default sector size value (64x64) instead .ini value (32x32).

01-06-2015, Coruja
Fixed: ABS() intrinsic function not working correctly.
Changed: Some small improvements on AddContextMenuEntry function.

02-06-2015, Coruja
Fixed: Console error when players die.
Fixed: PacketDeathAnimation .ini setting not working correctly.
Changed: Some improvements on 'death' / 'make corpse' internal code. Now any NPC will have corpse when it die (unless it was an summoned NPC). So don't get confused if you see corpses of some NPCs which previously doesn't have corpse (elementals, etc), it's the default OSI behavior. Also TAG.DEATHFLAGS can be used to force removal/creation of the corpse on @Death.

03-06-2015, Coruja
Changed: Paralyze spell formula (AOS -> pre-AOS) when MAGICF_OSIFORMULAS is enabled.
Added: Functionality for BONUS[STR/DEX/INT], BONUS[HITS/STAM/MANA] and LOWERMANACOST properties.

04-06-2015, Coruja
Fixed: Damages not removing Paralyze effect.
Fixed: Console error when casting spells that have effect duration.
Changed: Some improvements on Blood Oath and Evil Omen spells (necromancy).

06-06-2015, XuN
Added some missing casts
Fixed DEBUG errors when entering/leaving RED areas.
Reverted back m_uidKiller in m_itCorpse to CGrayUIDBase to fix build not compiling.

06-06-2015, Coruja
Fixed: Field spells and triggers @Step (items) / @ItemStep (chars) not working correctly.

08-06-2015, Coruja
Fixed: Function AddContextEntry not working correctly on HS clients >=
Fixed: Dead bonded pets not updating the ghost corpse correctly on resurrect.
Fixed: Explosion potions causing damage to nearby items when it explodes.

10-06-2015, Coruja
Added: Player corpses now will turn into bones when it got carved or before it decay. Also improved the corpse carving behavior, and now when the corpse got carved it will place all items inside the bone container instead drop everything on the ground.
Fixed: Wrong message appearing when the char get flagged criminal (changed 'msg_criminal' to 'msg_guards').
Fixed: Poison/Paralyze Field spells continuously hitting the player at every second instead just hit when needed.
Fixed: Console error when an NPC cast Nightsight spell or use Meditation skill.
Changed: Invulnerable chars (FLAGS=statf_invul) now are able to attack another char instead get the attack "magically blocked".
[sphere_item_deco_dungeons_traps_dead.scp]: Removed TYPE=t_meat_raw, TDATA1 and VALUE from all 'i_flesh_*' items (they aren't foot and nor sellable items).
[sphere_msgs.scp]: Updated all 'carve_corpse_*' messages and removed 'msg_criminal', 'msg_magic_block'.
[sphere_spells.scp]: Added missing 'spellflag_tard_dead' on s_resurrection spell.
	-IMPORTANT: It's HIGHLY recommended update it, or Resurrection spell will stop working.

10-06-2015, XuN
Fixed: Res* not reducing damage anymore
Fixed: Having RegenHits/Mana/Val greater than ini's setting stoping the regen process forever for this character.

11-06-2015, Coruja
Changed: Some small improvements on explosion potion effect.
Fixed: Console error "Hair/Beard not in a corpse" when corpse bones got saved on worldsave.

12-06-2015, XuN
Changed all TAG.TamingSlots entries to FollowerSlots in: sphere_monsters.scp, sphere_monsters_custom.scp and spherechar_evil.scp.
Added @FollowersUpdate trigger called in any update of followers related to OF_PetSlots:
	argn1 (R/W): 0 = Adding followers (taming, unshrinking, summoning, buying ...), 1 = sustracting followers (release, transfer ...)
	argn2 (R/W): FollowerSlots used.
	SRC: Pet causing the trigger to run, when buying in vendors there's no PET yet, so SRC will point to the vendor.
	Return 1 will not allow following actions to occur: Transfer, Summon, UnShrinks from t_figurine, Buy from vendors. Any other actions (like release, set owner...) will not take in count returns.

13-06-2015, XuN
Fixed #2515: Added local.sound to @Effect and @SpellEffect triggers, by default it uses spell->sound excepting effects from potions which will have a random value between 0x030 and 0x031 (old value), this is writable, 0 means no sound.
Fixed #2517: Added BREATH.TYPE to Breath's animation, this will tell Sphere what type of effect to use (same types as .effect).
	- To help keeping old behaviour (explosion on target instead of following fireball) I added BREATH.ANIM and BREATH.TYPE to every brain_dragon in sphere_monsters.scp and sphere_monsters_custom.scp, just remove the // on these lines with a quick find&replace to enable old style breath.

14-06-2015, Coruja
Fixed: Summoned NPCs incorrectly creating corpses on death.
Fixed: Summoned mounts not disappearing on summon timer expiration if it was mounted.
Fixed: Region flags REGION_ANTIMAGIC_RECALL_IN and REGION_ANTIMAGIC_TELEPORT incorrectly blocking Resurrection spell effect.
Fixed: Client screen not being updated correctly when ghosts got resurrected.
Fixed: Possible console error when players/NPCs try pick/drop some specific items.
Fixed: Combat not flagging the attacker criminal if the attack was parried by the target.

16-06-2015, Coruja
Changed: Some optimizations on internal walk code and spell add/remove behavior.
Fixed: Paralyze effect not updating the client immediatelly when it goes off, making the client only able to walk after ~100ms on next tick update.
Fixed: Function SERV.MAP(x,y,z,m) returning console error instead '0' when 'm' is a invalid/disabled map.
[Sphere.ini]: Added new ItemsMaxAmount .ini setting. This will globally set max allowed amount for all stackable items (default is 60000).
[sphere_msgs.scp]: Removed 'msg_invisible' and 'msg_tingling' messages.

17-06-2015, Coruja
Fixed: Stamina not decreasing correctly when walk over another char.
Fixed: Packet to update char hitpoints being sent twice to nearby party members.
Fixed: Properties like STR/ModSTR/MaxHits/etc making the char have current status value > max allowed value when the status got lowered.

18-06-2015, Coruja
Changed: Combat now will make blood effects only for physical damage (wrestling / weapons).
Changed: Field spells casted over the same field already created on ground now will make the previous field tile got replaced with the new one.
Changed: Trigger @DropOn_Ground / @ItemDropOn_Ground now is fired when the item is already on the ground instead get fired before place it on ground. So there's no more ARGS showing the drop location P (use <ACT.P> instead) and also 'return 1' will disable drop sound and decay timer.
Fixed: ATTR 'attr_magic' and 'attr_newbie' incorrectly affecting the item decay timer when it got dropped on ground.
[Sphere.ini]: Updated ClientLinger setting with correct value.

19-06-2015, Coruja
Changed: NEWNPC function won't automatically place the created NPC on source P anymore. Like NEWITEM, the NPC will be created virtually and must be placed on the world using P=x,y. This will prevent the server send unnecessary/duplicated 'update' packets to clients.
Fixed #2514: Hiding / Stealth skills and Poison / Poison Field spells not updating the client screen correctly on action success.
Fixed #2518: Mounts losing bonded status on dismount.

21-06-2015, Coruja
Changed: Improved stamina checks when walking.
Fixed: Possible console error on specific char actions like walk, teleport and cast spells.

23-06-2015, Coruja
Changed: Some internal improvements on explosion potions code.
Changed: Items dropped on invalid location on ground now will get bounced to char backpack instead get moved to char P.
Fixed: Items being able to be dropped on ground inside walls tiles.
Fixed: Possible console error when casting field spells.
Fixed: CUSTOMIZE function on customizable multis not hiding correctly all house dynamic items on ground when client enter on customization mode.
Fixed: House customization menu making the char get moved to multi center when it switch to another floor level.

23-06-2015, matex
Changed: Disabled assertions in non-debug Linux builds. This should not be necessary anymore because there is a SIGSEGV handler in linux builds.
Added: Experimental feature for Sectorsleeping which can be enabled during compilation by using _SECTOR_INTTICK. 
It basically checks in a 3x3 matrix around each sector if there are any players around to determine if the sector is sleeping. 
This leads to a more intelligent distribution of available compute power on small maps (because then the Sectorsleepmask can be 
increased without any immediately 'noticeable' effects). It is not yet available in nightly builds because I consider it too performance 
critical to make it available via a Sphere.ini setting (this would induce an additional comparison in each tick.)

24-06-2015, XuN
Added TithingUse variable for [SPELL ] working like ManaUse but for Tithing Points.
Fixed #2521: delay reseting after the the trigger, so it was impossible to change it.
Added support for Tithing in spells, note that LowerManaCost doesn't affect Tithing points but LowerReagentsCost does it unlike for mana.
Fixed a typo causing humans to create 10% of t_hide when carving corpses instead of applying a bonus of 10%
sphere_msgs.scp: Added //spell_try_notithing			"You must have at least %s Tithing Points to use this ability"	//1060173
sphere_item_provisions_armor.scp: Updated Description and Subsection for gargoyle leather armor.
sphere_spells.scp: Added TithingUse to chivalry spells.

25-06-2015, Coruja
Fixed: Walking over ghosts requiring stamina to pass.
Fixed: Mounts disappearing on worldsave on some specific situations.
Added: New REFUSETRADES (bool 0/1) char property. If set to true (1), it will prevent others clients to open secure trades with this char.
Added: New 'Allow Trades' / 'Refuse Trades' context menu buttons to toggle REFUSETRADES property. Unfortunately only clients >= 7.0.30 can see these buttons because OSI added these cliloc texts only on this client version.
Added: New Hit Chance combat formula (more info: http://uo.stratics.com/content/arms-armor/combat.php#hitchance)
[sphere_msgs.scp]: Added new message 'msg_trade_refuse'.

26-06-2015, Coruja
Fixed: Sphere crash when drop an item on a invalid ground location.
Fixed: Function GOLD creating gold piles with max amount 65000 instead use ItemsMaxAmount value.

26-06-2015, XuN
Added left Racial bonuses for Elfs, Added all for Gargoyles excepting Master Artisan.
Added a missing call to Calc_CombatChanceToHit() from Fight_Attack(), making it to no check the chances to hit.
For more info about Racial bonuses, read here: http://www.uoguide.com/Racial_Abilities .
	-Added FEATURE_ML_RACIAL_BONUS and FEATURE_SA_RACIAL_BONUS to FeatureML and FeatureSA respectively, each one activating the bonuses for human/elfs or gargoyles.

28-06-2015, Coruja
Fixed: Damages not breaking Paralyze Field spell effect.
Fixed: Explosion potions not checking LOS when it explodes.
Changed: Updated Berserk gargoyle racial trait formula added by XuN.
Changed: REFUSETRADES property now can be only used on players. NPCs won't use it anymore, since NPCs can't open trade windows.
Changed: Huge optimization on NPC_AI_EXTRA code. This is a heavy code called thousands of times per second, so unfortunately some features got removed to improve Sphere performance overall:
	-Animals (brain_animal) wont poop on ground anymore.
	-Animal Trainers (brain_animal_trainer) won't give food to nearby pets anymore.
	-Vendors won't go off-duty (brain_vendor_offduty) at night time anymore.
	PS: If someone still need these features, it can be done by scripts using @NPCAction trigger or at BUY/SELL functions on file /speech/speakshopkeep.scp
[sphere_msgs.scp]: Removed messages 'animal_dung' and 'npc_animal_poop'.

29-06-2015, Coruja
[sphere_defs.scp]: Removed 'brain_beggar', 'brain_thief', 'brain_undead' and 'brain_vendor_offduty'. Unfortunately these NPC brains never had worked correctly so it won't make much difference if they got removed to clean some obsolete internal codes.
[sphere_msgs.scp]: Removed messages 'npc_beggar_*' and 'npc_vendor_offduty'.
[speakhuman.scp]: Changed a single 'brain_thief' line to 'brain_animal_trainer' brain check on train command to match these brain changes [brain_thief -> brain_animal_trainer]
[sphere_backward_compatibility.scp]: Added backward compatibility to these 4 removed NPC brains.
[sphere_skills.scp]: Added (<ISPLAYER>) check on Tracking skill to prevent console error when an NPC try to use this skill.
[sphere_menu.scp]: Updated all obsolete ADDITEM and ADDNPC lines to ADD.

03-07-2015, Coruja
Fixed: Wrong console error text when trying to set NPC brains on players.
Fixed: Dead bonded NPCs losing gray color on corpse when client redraw the NPC on screen.
Fixed: @PersonalSpace trigger not being called when walking over chars on stairs.
Changed: Improved frozen check on walk routines and ISSTUCK function.
[sphere_monsters.scp / sphere_monsters_custom.scp]: Updated obsolete NPCs brain 'brain_undead' to 'brain_monster'.

04-07-2015, Coruja
Fixed: Combat creating blood on the attacker instead target.
Fixed: Dragons (brain_dragon) always hitting breath attack even when the target get out of LOS.
Changed: Decreased dragon breath damage. The previous formula was causing too high damages when the dragon has high hitpoints.

08-07-2015, XuN
-Added CombatSpeedEra to switch between speed formulas that has been changed over the years, also updated the source to reflect this addition and added fully back the formula for Legacy, it was a little tweaked.
// CombatSpeedEra
// 0 = Legacy, T2A, 55x versions..., Recommended SpeedScaleFactor = 15000, Use DEX by default to calc speed, all others use stam
// 1 = AOS,							 Recommended SpeedScaleFactor = 40000
// 2 = SE, 							 doesn't use m_iSpeedScaleFactor and it's only compatible with ML speed format eg. 0.25 ~ 5.00 seconds instead 0 ~ 50
// 3 = ML, 							 Recommended SpeedScaleFactor = 80000
CombatSpeedEra= 3	// Default is ML (3)

Note that SpeedScaleFactor must be changed along with this setting.
Tweaked CombatFormulas, they were using iDelay/2 when Fighting Skill started and generating another iDelay/2 after that period of time making it impossible to fully rewrite the value under argn1 in @HitTry.

Added some more items.

09-07-2015, Coruja
Changed: Improved some internal actions to update the client screen using less packets instead always do a full resend.
Fixed: Client screen not being updated correctly on death/resurrect when PacketDeathAnimation .ini setting is disabled.
Fixed: MAGICF_OSIFORMULAS .ini setting not calculating Inscription bonus correctly.
Fixed: REVEAL function not removing 'Invisibility' buff icon correctly.
Fixed: Major walk exploit when Injection clients press 'Chat' button.
Fixed: Anti-magic regions blocking resurrect on ankh's (t_shrine).

10-07-2015, Coruja
Fixed: Status (hits/mana/stam) of all chars going down to ~15 at server startup.
Changed: Small improvement on EF_Item_Strict_Comparison .ini experimental feature.
	-Removed obsolete EF_Size_Optimise and EF_Intrinsic_Locals experimental flags.
	-Added missing descriptions on Experimental and OptionFlags features.

16-07-2015, Coruja
Fixed #2538: BOUNCE function not activating item decay if it got dropped on ground by overweight.
Fixed: NPCs Healer (brain_healer) resurrecting dead bonded pets (only the pet owner can resurrect it).
Fixed: Combat hit chance formula being called twice, resulting a double chance to miss the attack.

17-07-2015, Coruja
Added: New improved NPC looting AI (NPC_AI_LOOTING).
[sphere_msgs.scp]: Added 'loot_rummage' and removed 'loot_item_from', 'skillact_looting' messages.
[sphere_dialog]: Updated dialog d_charprop1 button 18.

22-07-2015, Coruja
Changed: Some improvements on OF_PetSlots engine.
Fixed: Removed unnecessary full update on client when the player try to use any mount.
Fixed: Function MOD[STR/DEX/INT] not fixing hits/stam/mana max value after decreased.
Fixed: Magic Reflection spell not reflecting spells with SPELLFLAG_DAMAGE set.

23-07-2015, Coruja
Fixed: Function REVEAL not working correctly when used with empty args.
Fixed: Invisible chars not getting revealed when looting items from corpses.
Fixed: Telekinesis spell not flagging criminal when used to loot items from corpses.
Fixed: Paralyze spell effect not getting removed correctly.
Fixed: Clients not entering on warmode correctly after get hit by someone.

24-07-2015, XuN
Added TAG.OVERRIDE.SPEED for ITEMDEFS and Items overriding the current speed for weapons.
Fixed #2535: NPCRestock is now accepting code like any other triggers.
Added: Setting RegenX=-1 in the ini will disable regens for that stat, also the @RegenStat trigger and every related code.
	-Added TAG.OVERRIDE.SPEED for all weapons to match new speeds on OSI, uncomment these lines to enable them (These speeds are meant to be used with CombatSpeedEra=3).
Re-added detail check for parrying messages, they were being sent always regardless of the detail flag on the character.
Re-Adeed EF_Intrinsic_Locals with a warning comment in the ini.
Fixed a check in CChar::NPC_ExtraAI() giving errors when trying to find items inside a container when there was no container to search on.

25-07-2015, Coruja
Changed: Optimized many spells and some others functions to avoid send unnecessary 'update' packets to client when it's not needed (or send it using less packets when needed).

26-07-2015, XuN
Enabled again movement packet for newer clients since blocking it was causing newer clients to do not move at all and getting 'freezed' after some steps. Added a few lines of code to UserChatButton to make this packet restrict movement when this button is being pressed, hence avoiding these injection problems.

26-07-2015, Ben
Added support for future Axis connection... (details will be available when the time comes)
Added internal support for Category,Subsection.Description and ID in SPAWN and TEMPLATE sections. they can now be accessed with (eg: serv.spawn.defname_here.category)
Also added access to ID in CHARDEF to return the real anim id of the chardef in hex. (serv.chardef.c_man.id should return 0190)

28-07-2015, Coruja
[sphere_skills.scp]: Updated TITLE on skills ArmsLore, Blacksmithing and MagicResistance.
	-Updated RESOURCES using an better file order to prevent some 'undefined keyword' errors on sphere startup.
	-Fixed a small notoriety typo [Imfamous -> Infamous]

04-08-2015, Coruja
[Sphere.ini]: Added new magic flag MAGICF_OVERRIDEFIELDS to prevent cast multiple field spells on the same tile, making the new field tile remove the previous field.
Changed: If there's multiple field spells on the same tile and MAGICF_OVERRIDEFIELDS is disabled, now only the first field will make effect (this will prevent some weird exploits like cast multiple Fire Field spells on the same tile to take more damage, etc).

06-08-2015, Coruja
Fixed #2541: Client screen not being updated correctly on resurrect.
Fixed: Players randomly switching to previous targets on combat.
Fixed: Client sending unnecessary mana/stam update to party members when opening the status menu.
Added: Missing Polymorph spell duration formula when MAGICF_OSIFORMULAS feature is enabled.

07-08-2015, Coruja
Fixed: Random 'walk resync' problems.
Fixed: Incorrect full update packet sent to clients when it' ID (body) got changed.
Fixed: Combat swings between attacks not working correctly.
Fixed #2539: Combat damages always creating blood using default color (red) instead follow BLOODCOLOR property.

09-08-2015, Coruja
Changed: Major improvements and optimizations on internal Hit / HitTry combat calls.
Changed: Combat swing behavior got slightly changed to be more accurate.
	-Now instead the animation speed match the swing delay duration and only do the damage at the end, the animation/damage will always occour on first 7ms and then it will keep waiting the remaining time until next swing.
	-This makes all anims/sounds perfectly match the damage timer no matter the weapon type or swing delay timer.

13-08-2015, matex
Added: OVERRIDE.NPCAI to control AI-flags on a per character basis if necessary. Otherwise NPCAI flag from sphere.ini is used.

15-08-2015, matex
Added: EF_DynamicBackgroundsave. This will enable, if necessary, if a backgroundsave tick is triggered to save more than only one Sector. 
This especially makes sense if the map has a lot of sectors. E.g. if the sectorsize deviates from 64x64 as completion of a single backgroundsave
takes circa 40 minutes with a sectorsize of 32x32 and BACKGROUNDSAVE set to 1. Using dynamic backgroundsaving this can be sped up at the cost of
some performance. You can approximately limit the amount of items/characters that will be saved as the Operation will just stop if it estimated that
saving another sector would exceed SaveStepMaxComplexity. You can further limit how many sectors will be saved at maximum per backgroundsave-tick using SaveSectorsPerTick. This is a maximum value. If the maximum complexity is exceeded it may not reach that maximum value.
Added: SECTOR.INACTIVECOUNT. Will report the number of logged-out chararacters inside that sector.

16-08-2015, Coruja
Fixed: Walk packet events causing excessive CPU/bandwidth usage.

17-08-2015, Coruja
Fixed: Char property Regen[Hits/Mana/Stam] not working correctly.
Changed: Updated internal MySQL libs version 4.1.18 to 6.1.6. 

19-08-2015, Coruja
Fixed: Combat randomly not starting the first swing.
Fixed: Rubberband when using combat skills while running.
Fixed: World teleports incorrectly showing teleport spell animation.
Fixed: Tracking skill showing empty messages instead not show any message at all when the tracking messages are blank on sphere_msgs.scp.

21-08-2015, Coruja
Fixed: NPCs (brain_monster) always trying to apply poison on hit, even if the NPC doesn't have poisoning skill or poisoned weapons.
Fixed: NPCs not moving when step on Fire Field spell.
Fixed: Tactics skill too difficult to gain on combat.
Fixed: Explosion potion not flagging criminal when hit someone.
Fixed: Spells disturb not working correctly in some specific cases.
Fixed: Missing paperdoll update when char ID (body) get changed.
[Sphere.ini] Removed COMBAT_PREHIT combat flag, it can be replaced by AttackingIsaCrime which does the same thing.
[sphere_defs.scp]: Added new 'dam_nodisturb' damage flag.

25-08-2015, Coruja
Fixed: Food items not restoring char FOOD correctly.
Fixed: HitLeech[Life/Mana/Stam] and HitManaDrain properties making hits/mana/stam rise over the max char limit.
[sphere_spells.scp]: Removed SOUND / EFFECT_ID from Teleport spell. These values are already handled by Sphere.ini settings, and sphere_spells.scp values was making it play twice.

27-08-2015, Coruja
Added: New STEPSTEALTH char property to set how many steps the char can walk invisible while using Stealth skill. This property is set when using Stealth skill, will decrease -1 on each walk step (or -2 if running) and will reveal when reach 0.
Changed: Trigger @StepStealth no longer use ARGN1 to force reveal, the ARGN1=1 can be replaced by STEPSTEALTH=0.
Fixed: Missing buff icon when using INVIS (GM command).
[sphere_skills.scp]: New Stealth softcoded skill.
	-IMPORTANT: It's HIGHLY recommended update it, or this skill will stop working.

28-08-2015, XuN
Changed the way SPAWNS works, improved them and added more access functions:
	- Removed MEMORY_ISPAWNED from source (still present as a def in sphere_defs.scp for backwards-compat)
	- Updated SpawnItem to point directly to the spawn instead of redirecting to memory's link.
	- Moved SpawnItem (R) to COjbBase to affect both chars and items.
	- Spawned OBJs are now stored in the spawn, so SpawnItem only gives quick access to the spawn.
	- Functions added to spawns:
		- AT.n.KEY (R): Retrieves the 'KEY' val for the 'n' spawned item/char, examples: <at.0.name>, <at.0.str>...
		- COUNT (R): Returns the total count of spawned items or chars.
		- RESET (W): Removes every spawned Item/Char.
		- STOP (W): Removes every spawned Item/Char and stops the Spawn.
		- START (W): Same as DClicking the Spawn, but from function, without LOS/Distance/etc limitations (It just makes it start, doesn't reset it, so won't work if it's already working).
		- ADDOBJ uid (W): Adds the given UID(the Item/Char must exist obviously, so it must be created before) to the Spawned list, it doesn't check for MORE2 < AMOUNT or anything, it's a forced add. Example:
		- DELOBJ uid (W): The opossite of ADDOBJ, removes one OBJ from this list (just remove from the list, it's not removing the OBJ itself).
NOTE: While updating for this build, when server is loading for first time and converting MEMORY_ISPAWNED to SpawnItem and removing these memories, Sphere will throw a memory_leak exception after loading the world because of the difference between items before loading (chars with memory_ispawned) and items after loading (memory_ispawned removed).

Added PREVBUILD storing in the worldsaves the current BUILD (__GITREVISION__), usefull to apply changes when updating the bin. Usage: <SERV.PrevBuild>

07-09-2015, XuN
Changed iSwingDelay from CChar::Fight_Hit to CResource::Calc_CombatAttackSpeed to prevent double checks for speeds 'lower than' and to avoid guard's speed to be overriden if GuardsInstantKill=1
Also changed AnimDelay from @HitTry to initially have a duration of argn1 -=7, so this can be softcoded to match 'old style' by just adding a simple +=7
Updated fighting delays to match again the 'real' delay removing a tick from the delay (as the fighting proccess is starting in the next tick).
Fixed #2554: SkillUseQuick not checking for SKF_SCRIPTED
Fixed #2553: Animations not being displayed when fighting with COMBATF_NODIRCHANGE
Fixed #2547: Dragons will be tracked as Monsters
Fixed Tracking not displaying the direction of the target in the given message.
Fixed ML SpeedEra's formula not giving correct delays.

15-09-2015, XuN
Fixed #2542: NPCs ridden by GMs deleted on WorldSave.
Fixed #2554: UseQuick not returning false for Skills with SKF_SCRIPTED.

17-09-2015, Coruja
Fixed: Combat swing behavior not working correctly.
[sphere_skills.scp]: Updated Parrying skill to fix glow effect appearing even on failure.

18-09-2015, Coruja
[sphere_monsters.scp]: Added new dinosaurs CHARDEFs from UO Time of Legends (still incomplete yet).
[sphere_item_char_icons.scp]: Added ITEMDEF i_pet_tiger.

19-09-2015, Coruja
Fixed: LOCAL.AnimDelay on @HitTry trigger not working correctly.

25-09-2015, XuN
Fixed #2558: errors thrown when CombatSpeedEra=0 and Weapons had no SPEED defined.
Fixed #2556: Added GetDefKeyNum/Str as shortcut to get directly the values, used in CChar::Fight_Hit to send correct values to CChar::OnTakeDamage
Fixed HitLeechLife/Stam/Mana not giving the corrent amount of hits/stam/mana
CHANGED tag.override.sound_hit to AMMOSOUNDHIT and tag.override.sound_miss to AMMOSOUNDMISS to match other AMMO* properties.

25-09-2015, Coruja
Fixed: Console error when players call "Guards".
Added: Better user-friendly description to server exit codes. Now the console will show "Server terminated: [reason][code]" instead "Server terminated by error [code]".

28-09-2015, Coruja
Fixed: NPCs not facing target when starting combat swings.
Added: New 'DYE <uid>' function to open dye gump on selected UID.

01-10-2015, XuN
Fixed combat swings being aborted when range was not in the required limits regardless of COMBATF_STAYINRANGE enabled or disabled.
ReAdded COMBATF_PREHIT since AttackingIsaCrime is the setting used now to handle notoriety checks, and prehit is used to create a different combat style on some servers dealing damage first and recoaling after.
Added #2560: @TARGON_CANCEL will fire on chars now when closing a target created by TARGETF*, ARGS = function.
	-Added: LootingReveal, setting this to 1 will force your character to be revealed when looting corpses that don't belong to you.

03-10-2015, Coruja
Fixed: Console error when using some specific functions on NPCs or offline players.
Changed: Default timer to close doors after open it changed from 60sec to 20sec.
[items/sphere_item_magic_ninjitsu_bushido.scp]: Fixed wrong MOREZ on i_spellbook_bushido, i_spellbook_ninjitsu.
[maps/sphere_map5.scp]: Added new regions from UO Time of Legends expansion.

04-10-2015, Coruja
Fixed: Hit Chance combat formula not working correctly.
Fixed: sphereworld.scp file saving many [SECTOR] templates for the same sector separately instead save everything related to this same sector on the same template.
[sphere.ini]: Removed EF_Specific / OF_Specific settings, which was incomplete since 7 years ago and was never released to public.

05-10-2015, Coruja
Added: Basic support for UO Time of Legends (TOL)
	-Added RESDISP 9 (TOL) support.
	-Added VIRTUALGOLD function to store virtual gold of chars.
	-Added support for the new trade window changes.
	-Added new 'Trade' popup button to open a trade window when click on another player (enabled only on TOL clients
	[sphere_admin.scp]: Added 'admin_resdisp_9' def.

08-10-2015, Coruja
	-Added new FeatureTOL and FeatureExtra settings (some flags still incomplete)

09-10-2015, Coruja
Added: Small improvements on TOL trade window.
Added: 'physical' gold piles now will be converted to 'virtual' gold when dropped on bankbox (if FEATURE_TOL_VIRTUALGOLD is enabled).
[sphere_msgs.scp]: Added new messages 'bvbox_deposited', 'msg_trade_sent_*', 'msg_trade_received_*'.
[sphere_map_points5.scp]: Updated [MoonGates] values.

16-10-2015, Coruja
Fixed: TOL trade window not allowing trade gold when the char have 1 or more platinum.

29-10-2015, Coruja
Fixed: Context menu not working on items.
Fixed: Spells memories incorrectly being dropped to backpack instead get removed when the char is already under a spell effect and cast it again.
Fixed: Spells memories intentionally created with TIMER=-1 not being removed when the char cast the spell again to cancel the current effect.
Changed: Buff/debuff spells now will get the memory effect layer from scripts instead use hardcoded values.
	-IMPORTANT: It's HIGHLY recommended check if your sphere_spells.scp is updated and have LAYER value properly set on buff/debuff spells, or these spells will stop working.

30-10-2015, XuN
Added EquipSound to override sounds for items when equipping them.
Changed tag.override.dropsound to DropSound.

03-11-2015, Coruja
Fixed: Possible Sphere crash when DClick on items with long LINK sequence (thx roberpot).
Fixed: Key items linked to houses/boats not being recognized correctly on backpack when using locked items.

04-11-2015, Coruja
Changed: NPC Banker (brain_banker) is now considered an NPC vendor and can use BUY/SELL commands.
	-Added new NPCTrainCost setting to tweak the cost of skills trained on NPCs vendors (credits to Nazghul, he did this setting 7 years ago but never enabled it, I just made some improvements and enabled it).
	-Updated NPCTrainMax value.

05-11-2015, XuN
Fixed NPCs not reacting instantly when they see a new target, they stand in the place for some random time without moving against their target.
Fixed Spawns having no NPC limit.
Added MAGIFC_NOREVEALINVISIBLE		02000	// (Old style backwards) Casts won't reveal you on SpellCast if you are under Invisible spelleffect.

07-11-2015, Coruja
	-Added new ClientLoginTempBan setting to tweak the temporary ban duration of client IP when it reach max wrong password tries
	-Renamed MaxAccountLoginTries setting to ClientLoginMaxTries

09-11-2015, Coruja
Fixed: Mounts disappearing on world save when ridden by NPCs.

13-11-2015, Coruja
[sphere_skills.scp]: Fixed console error when an NPC try to use Tracking skill.
[items/sphere_item_char_icons.scp]: Added TOL NPCs icons.
	-Updated NPCs Wild Tiger and TOL dinosaurs.
	-Added new TOL NPCs Silverback Gorilla, Infernus, Greater Phoenix, Myrmidex Drone.

16-11-2015, Coruja
Fixed #2563: FasterCasting char property incorrectly affecting spell cast delay on chars with GM=1 set.

19-11-2015, Coruja
Fixed: Items inside Trade Window container becoming unreachable after server worldsave + shutdown while the trade window is open.
Fixed: Tracking skill not aborting the action when the client logout.
[sphere_skills.scp]: Fixed console error on Tracking skill.

20-11-2015, Coruja
Fixed: Combat exploit to force start next swing immediately instead wait proper delay between swings.
Changed: Now instead char spawns (t_spawn_char) block the char creation when it reach sector max char complexity, it will spawn the char but throwing an 'Sector too complex' console warning.

24-11-2015, Coruja
Fixed: Buffs not reloading correct remaining timer on client login.
Fixed: Spiderweb (t_web) making chars stay stuck even after the spiderweb get removed.

28-11-2015, Coruja
Fixed: Protection spell not working when COMBAT_ELEMENTAL_ENGINE .ini setting is disabled.

01-12-2015, Coruja
Fixed: Players randomly switching to another target on combat.

03-12-2015, Coruja
[Sphere.ini]: Removed InitHiddenSkills setting. Now player characters are created with base values set on all skills set instead set only on skills that the player client version can see.

04-12-2015, Coruja
	-Added new RacialFlags setting to tweak human/elf/gargoyle racial traits individually.
	-Removed FEATURE_ML_RACIAL_BONUS and FEATURE_SA_RACIAL_BONUS settings (they got moved to RacialFlags).

06-12-2015, Coruja
Changed: Improved walk packets on classic/enhanced clients.
[Sphere.ini]: Moved DEBUGF_WALKCODES to new EF_FastWalkPrevention experimental setting (also improved, but still incomplete yet).

17-12-2015, Coruja
Fixed: House customization not allowing clients to walk.
Fixed: Backpack not updating on death.
[Sphere.ini]: Added new pre-AOS option on CombatSpeedEra setting.
	-IMPORTANT: Option values got changed, check if the selected option is correct after update the script.

18-12-2015, Coruja
Changed: Improved the event handler when an item equip/drop request was denied. Now the item is dropped on its last location instead always drop it on player backpack.

30-12-2015, Coruja
Fixed: New player chars not creating MALE_DEFAULT / FEMALE_DEFAULT newbie items when the player select Necromancer/Paladin/Ninja/Samurai as profession on character creation screen.
Fixed: Potions not removing previous memories on layer 'layer_flag_potion' before equip new memories on this layer.
Fixed: Curse spell not working correctly when COMBAT_ELEMENTAL_ENGINE is enabled.

03-01-2016, Coruja
[sphereCrypt.ini]: Added crypt keys for clients 7.0.46 and 7.0.47 (thx XuN and Feeh, I found these values on their forum posts)
[sphere_map_points0.scp]: Updated new player start locations.

08-01-2016, Coruja
Fixed: Clients requesting unnecessary 'resync' packets to server.

10-01-2016, Coruja
Fixed: Client packet problems when players teleport while walking.

11-01-2016, Coruja
Fixed: return 1 on char trigger @EquipTest / @ItemEquipTest making the item drop on char backpack instead on its last location.

12-01-2016, Coruja
Fixed: MAGICF_STACKSTATS magic flag not working correctly.

15-01-2016, Coruja
Fixed: Damage spells disturbing the caster if casted on himself.
Changed: Telnet connections will not receive B (broadcast) messages anymore.
[Sphere.ini]: Changed AutoResDisp default value and functionality.
	Previously this setting was used to set an fixed RESDISP value to new created accounts.
	Now it's a boolean (1=on/0=off) and if enabled it will automatically set account RESDISP on @Login based on player client version.

16-01-2016, Coruja
Fixed: Exploit allowing instant hit on combat.
Fixed: TARG/TARGPROP/TARGPRV char properties returning decimal values instead hex.
Fixed: OF_ScaleDamageByDurability flag not working correctly on items using min durability (MORE1L) = 0.

19-01-2016, Coruja
Changed: Improved Detecting Hidden skill behavior.
[Sphere.ini]: Changed GameMinuteLength default value.
[sphere_monsters.scp]: Added missing stats/skills values on TOL dinosaurs.
[sphere_item_char_icons.scp]: Renamed i_pet_anchisaurus -> i_pet_anchisaur
[sphere_item_animations.scp/sphere_item_deco_lightsources.scp/sphere_item_deco_virtues.scp/sphere_item_profession_alchemist.scp/sphere_item_unsorted.scp]: Removed unused TDATA4 from all t_light_lit items.

20-01-2016, Coruja
Fixed: Console error when GM use commands to add objects on undefined regions.

21-01-2016, Coruja
Added: Missing tame/bonded/summoned tooltips on NPCs.
Fixed: t_spawn_item not saving/loading correctly spawned items.
Fixed: Spawns (worldgem bit) not updating the tooltip when add/delete objects.
Changed: Summon spells now will create NPCs with HOME and HOMEDIST=10 set by default.

22-01-2016, Coruja
Added: New pet command '* unfriend'.
Changed: Many improvements on pet commands engine.
[sphere_speech.scp]: Added UNFRIEND line on speech lists.
[sphere_msgs.scp]: Added new messages 'npc_pet_confused' and 'npc_pet_targ_*'.
[sphere_spells.scp]: Removed 'spellflag_targ_xyz' from most summon spells. The only summon spells that uses target is Blade Spirits and Energy Vortex.
[items/sphere_item_magic_spellweaving.scp]: Added missing color on i_spellbook_spellweaving.

23-01-2016, Coruja
Fixed: Pets accepting items from its owner even when the owner can't access the pet backpack.
Fixed: Polymorph spell and POLY function not working correctly.

27-01-2016, Coruja
Fixed: Items disappearing when players try equip it without have required STR.
Fixed: LOWERREQ item property not working correctly.

28-01-2016, Coruja
Fixed: Summon Creature spell not working correctly.

31-01-2016, Coruja
Fixed: Character stats gump (hits/mana/stam) showing wrong info for players on same party.
Added: New function OPENTRADEWINDOW to start an trade window between 2 players (both clients must be in range and visible).
	Usage: OPENTRADEWINDOW player_uid, item_uid (item uid is optional)

05-02-2016, Vjaka
Fixed: applied a patch by cbnolok fixing xmfhtmltok and sphere crashing on custom skils with index > 57.
    Maximal skills has been set to 99

11-02-2016, Coruja
Fixed: Hiding skill not removing previous Invisibility spell effect on success.
Fixed: Char STEPSTEALTH value being reseted to 0 when function REVEAL is called to clear a single flag but the char still invisible using other flags.
Changed: Improved handling of 'Open Spellbook' and 'Open Door' client macro.
[sphere_msgs.scp]: Added new message 'macro_opendoor' and removed 'msg_nospellbook', 'npc_generic_thanks', 'npc_pet_drop'

13-02-2016, Coruja
Fixed: Buff/Debuff bar showing wrong time left on spells memories using TIMER=-1.
Fixed: Some skills not calling skillgain when action difficulty > skill value, making the skillgain chance always be 0%.

16-02-2016, Coruja
Changed: Improved Sphere main timestamp engine.

16-02-2016, Nolok
Fixed: Ships moving but not updating the multi part on Enhanced Client with smooth sailing disabled.
Changed: Removed useless screen updates when smooth sailing is on, making sailing more fluid.
Fixed: Price of items sold by the vendor swapped on Enhanced Client.
Changed: Removed useless packets sent when opening vendor sell gump on Enhanced Client.

17-02-2016, Nolok
Fixed #2576: SpawnItem value is now readable under @Create trigger.

17-02-2016, XuN
Fully enabled MT_NONMOVER from source, NPC's with this CAN flag will not move at all (avoiding glitching with dex 0 or using tag.nomovetill, which both could screw some things). Updated on sphere_defs.scp too.
Added GetSight() to Char's range in NPC_LookAround to get a dynamic value of the VisualRange property, which was not working on NPCs.
Changed: ARGN1 = 1 in @Stroke trigger(s) calling UpdateDir on character against it's target instead of forcing it to always turn if SKF_GATHER was present.

17-02-2016, Coruja
Fixed: Functions ATTACK/FACE/SALUTE crashing Sphere if called using too many args.

19-02-2016, XuN
Fixed: T_SPAWN_ITEM not working when DClicking the Spawn.

19-02-2016, Nolok
Fixed: ACT not being updated when using .add to add an item. This solves also AxisII being unable to initialize placed spawn items.

22-02-2016, Nolok
Fixed: T_SPAWN_ITEM not automatically setting attr_invis, whereas it happened with T_SPAWN_CHAR.
Fixed: T_SPAWN_ITEM not removing spawned items when it got deleted.
Fixed: forced T_SPAWN_ITEM and T_SPAWN_CHAR to be unstackable through an internal workaround, stopping the Enhanced Client behaviour
	of "unstacking" spawn items with amount > 1 when trying to move them.
Changed: T_SPAWN_ITEM now colours itself red, like t_spawn_char, and when initialized it changes the DispID to i_worldgem_lg,
	in order to differentiate it from worldgem bits related to resource gathering and to make it more visible.
Changed: the MORE2 of a T_SPAWN_CHAR does no more indicate the amount of chars spawned, for that there is the COUNT property
	(read only, introduced time ago), which works also for T_SPAWN_ITEM.
	MORE2 is used only by T_SPAWN_ITEM to indicate the maximum pile amount	of the spawned item (if this is 0, spawn up to the total amount).
	COUNT property does not sum the amount of each spawned item.
	This resolves the ambiguity of MORE2 meaning and saves some space in the save files (you may want to set MORE2=0 to your old T_SPAWN_CHARs).

	-IMPORTANT: this change means that if in your scripts you get the amount of spawned chars with MORE2,
		you should now reference to it with COUNT!

Fixed: MORE2 property for T_SPAWN_ITEM not working as intended.
Changed: now double clicking a T_SPAWN_ITEM spawnitem has the same effect it has on T_SPAWN_CHAR, that is resetting it
	(remove existing items spawned from it) if the timer is running, otherwise starting it (forcing the spawn to work and create some items).

22-02-2016, Coruja
Fixed: Enhanced clients not placing items on correct container GRID slot when using containers on 'list view' mode.

23-02-2016, Coruja
Fixed: Some clients not parsing correctly the last number/letter of client version.
Fixed: Spawn items resetting COUNT and AMOUNT values to 0 on server restart.

25-02-2016, XuN
Improved the code of NPC's SpellCasting engine: removed some code and updated a bit the current. Also moved some spells to give them higher priority (Healing > cure poison > buffs ...)
Added SKF_DISABLED, setting this flag on skills will not allow to use them by players or npcs
Added Skill_CanUse(skill) checking if the skill is disabled. Maybe this can be expanded to differ Players from NPCs , adding expansion & resdisp checks, etc.
WARNING: Following changes won't affect current scripts, but adapting them will remove the performance impact (Read NOTE for more tips about what to update).
CHANGED: Moved formulas for SpellEffect's damage above @SpellEffect trigger, so these formulas will be calculated regardless of the returns of the trigger,
			this will allow working with precise numbers instead of wondering what ARGN1 may be and creating own formulas to handle it.
	Also added for this trigger:
		-local.dam with final damage received (if any).
		-local.resist: Damage reduction to apply, it's set to 25 automatically when the spell is going to be resisted, then sysmessage <DEFMSG.RESISTMAGIC> will be shown. Setting it to 0 will result in no resist and no sysmessage. You can force or totally remove resists here.
NOTE: Since formulas will be calculated yes or yes from now, checks about spell's affecting this char or not should be moved to @SpellSuccess ( they should've been there from an start, but we all placed them in @SpellEffect :P) so @Effect won't even be called.
Fixed some spells not being correctly found in case of having multiple books since the code for GetSpellbook() returned the first found book, and this may not have the requested spell.

Script Pack:
	-sphere_defs.scp: Added SKF_DISABLED

25-02-2016, Nolok
Fixed: Spawn items sometimes created with random COUNT property.

28-02-2016, Coruja
Fixed: Buff spells acting like damage spells.
Changed: Some changes on spell triggers (@Effect [spells] / @SpellEffect [chars]) to allow more user customization
	-Renamed LOCAL.Dam to LOCAL.Effect, now it can be used on all spells (damage, buff, etc) instead only on damage spells
	-Added new LOCAL.Duration to change spell duration
	-ARGN2 [skill level] is now read-only
	-ARGN3 [effect multiplicator] got removed, it's no longer needed since now the spell effect value/duration can be changed using LOCAL.Effect/LOCAL.Duration

29-02-2016, Coruja
Changed: Function REPORTEDCLIVER now will return the full client version string (eg: 5.0.2d) and REPORTEDCLIVER.1 will return the raw version number (eg: 5.0.2d = 5000204).
Added: Support for [*]UpdateRange client macros.

01-03-2016, Coruja
Fixed: Sphere crash when any old UO:3D client try to connect.
Fixed: Chars not checking if it still have enough STR to use equipped items when decrease STR/MODSTR.

05-03-2016, Coruja
[sphere_monsters.scp]: Added new TOL NPCs Giant Gorilla, Tiger Cub, Tyrannosaurus Rex (incomplete yet).
[sphere_map_points0/1.scp]: Updated MoonGates template.

07-03-2016, Coruja
Fixed: Invisibility spell not removing previous Hiding skill effect on success.
Changed: SPEECHCOLOR property now can be used on players too (read-only).
Changed: WOPColor .ini setting now will inherit color from char SPEECHCOLOR value if set to 0.

08-03-2016, Coruja
Fixed: NPCs permanently adding target to ignore list when they can't see it.
Fixed: NPCs getting stuck over traps / field spells without walk away.

10-03-2016, Coruja
Fixed: Typedef t_booze returning console error when used more than once.
Changed: SRC on char trigger @EffectAdd now will point to the spell caster instead target.

11-03-2016, Coruja
Fixed: Magic Reflection spell effect not working correctly.
Fixed: Poison / Poison Field spells not calling trigger @EffectAdd on chars.
Fixed: Console error when call ATTACKER.x function using invalid 'x' value.

14-03-2016, Coruja
Added: ARCSIN, ARCCOS, ARCTAN intrinsic functions.
Fixed: Console error when NPCs cast buff/debuff spells on players and die, leaving the spell memory linked on an invalid UID.
Changed: Slightly changed armor % distribution between layers to match old T2A style.
	-Distribution on shields is now 7% of ARMOR value instead [Item ARMOR * (Char PARRYING / 10)]. This could reduce a lot of ARMOR on shields, but there's no problem since shields are used to block the entire damage (parrying) and not to raise ARMOR.

15-03-2016, Nolok
Changed: Reverted ARGN2 on @Effect and @SpellEffect to be Read/Write, since someone still may need it, but keep in mind that effect/duration/etc are calculated before these triggers.
	Also, since some commit, ARGN2 is the randomized spell "potency" used internally, not the original one used to cast/spelleffect the spell.

16-03-2016, Coruja
Fixed: Console error (object not placed in the world) when casting spells that equip memories with TIMER=-1.
Fixed: Weird walk animation when NPCs step on traps / field spells.

17-03-2016, Coruja
Fixed: Spells WOP sending an extra whitespace at the end (eg: "Rel Por ") breaking Razor/UOSteam WOP formatting feature.
	-Removed COMBAT_OSIDAMAGEMOD combat flag.
	-Added new CombatDamageEra setting, which does exactly the same thing using the same formulas, but now able to switch between 3 damage formulas instead 2.

18-03-2016, Coruja
Fixed: NPCs getting stuck without move when their combat target use hiding/invisibility.
Added: New LOCAL.ItemDamageLayer (read/write) on trigger @GetHit to get/select the char LAYER that will be damaged on hit.

20-03-2016, Coruja
Fixed: Sphere not storing correct client version on some specific clients, making it send unsupported packets to these clients (resulting in client crash).

21-03-2016, Coruja
Changed: Multi placement target now will center to the multi front door (as OSI does) instead multi center.

24-03-2016, Coruja
Changed: As many users requested, walk through hidden/invisible chars won't require full stamina to pass anymore (this can be customized using ARGN1 on @PersonalSpace trigger)

25-03-2016, Coruja
[sphere_msgs.scp]: Added new CMSG_DEF_FONT and CMSG_DEF_UNICODE settings to customize character name on single click.

30-03-2016, Coruja
Added: TAG.OVERRIDE.TRAINSKILLCOST on NPCs vendors to override NPCTrainCost value from sphere.ini
[sphere_map0.scp]: Fixed RECT values on Green Acres and Green Acres 3.

05-04-2016, Coruja
Fixed: Ship planks allowing usage from distances > MaxShipPlankTeleport setting on Sphere.ini, allowing the player enter on the ship on locations that he won't be able to exit.
Fixed: Magic Reflection flagging criminal the char receiving the spell instead the caster.
Fixed: Chars creating blood on combat even when BLOODCOLOR=-1 is set to prevent the blood creation.

09-04-2016, Coruja
Changed: Reverted changes on pet command STOP. Now it will act as an duplicated command of STAY instead make the pet stop all current actions and start follow his owner again.
[sphereCrypt.ini]: Updated all crypts to use the new client version format.
</pre><p style="text-align: right;">
    <a href="http://validator.w3.org/check?uri=referer"><img
        alt="Valid XHTML 1.0 Transitional" height="31" width="88" border="0" /></a>
    <a href="http://jigsaw.w3.org/css-validator/check/referer">
    <img style="border:0;width:88px;height:31px"
        alt="Valid CSS!" />
<br />