Override TAGs

From SphereWiki
Revision as of 23:32, 7 June 2009 by MrSugarCube (talk | contribs)
Jump to: navigation, search

Override Common Data

Ever wondered why you can't change for example 'TDATA' values on a per-item basis? Or some default values from Sphere.ini?


The reason is simple: The majority of items, characters and situation will not need individual values there and are working fine with the default ones (either hardcoded or set in the INI or the *DEF sections), so it simply would be a waste of memory to store them again on each game object. Therefore for example a single crossbow in the world reads what items it needs as ammunition not from it's "WORLDITEM" data object, but from it's ITEMDEF (the TDATA property).


Alas, as time goes by for some stuff it showed reasonable to allow overriding the default values for a single item, character or even region. Nevertheless it still would be a waste of resources to give all crossbows an "ammunition" property what on almost all of them will read: "default". So the Sphere developers decided to store the respective individual changes in TAGs: If the TAG exists it will be used, if not, the default is used.


Common to most overrides is the syntax of the TAG's name: TAG.OVERRIDE.* - where "*" denotes the name of the respective tag. But there are also some others what were named before this naming scheme was established.


Item-based Override TAGs

TAG.ALWAYSSEND When optional flag OF_OsiMultiSight is on, all items inside a multi are not sent until entering the multi. If you want an item to be always sent, set TAG.ALWYASSEND to 1. This tag also can also go under the ITEMDEF section of an item.
TAG.NOSAVE If set to 1 the object will NOT be saved.
TAG.OVERRIDE.AMMOANIM Overrides TDATA4 for bow/crossbow type weapons.
TAG.OVERRIDE.AMMOANIMHUE Sets the colour of the effect when firing bow/crossbow type weapons.
TAG.OVERRIDE.AMMOANIMRENDER Sets the render mode of the effect when firing bow/crossbow type weapons.
TAG.OVERRIDE.AMMOTYPE Overrides TDATA3 for bow/crossbow type weapons.
TAG.OVERRIDE.DAMAGETYPE Sets the damage type for a weapon (ARGN2 in @GetHit trigger).
TAG.OVERRIDE.DOORSOUND_CLOSE Overrides the sound that will be played for a door when it is being closed.
TAG.OVERRIDE.DOORSOUND_OPEN Overrides the sound that will be played for a door when it is being opened.
TAG.OVERRIDE.DROPSOUND Overrides the sound that will be played when the item is dropped somewhere.
TAG.OVERRIDE_LIGHT Overrides TDATA3 for lights (T_LIGHT_LIT, T_LIGHT_OUT). Take notice that there is an underscore in this TAG's name.
TAG.OVERRIDE.MAXITEMS Overrides the maximum number of items that can be placed into a container (default: 255)
TAG.OVERRIDE.MAXWEIGHT Overrides the maximum total weight that can be placed into a container.
TAG.OVERRIDE.PORTCULUSSOUND Overrides the sound that will be played for a portcullis when it is used.
TAG.OVERRIDE.PRACTICEMAX.SKILL_$skillid Overrides SKILLPRACTICEMAX setting from Sphere.ini for a particular skill. $skillid is the numeric ID of the skill.
TAG.OVERRIDE.RANGE Overrides the RANGE property of the ITEMDEF for a weapon. If this tag exists on both the character and the weapon then the largest value will be used.
TAG.OVERRIDE.SHIPSPEED.PERIOD Overrides SHIPSPEED.PERIOD for a ship (the length of time it takes for the ship to move one step, in tenths of a second)
TAG.OVERRIDE.SHIPSPEED.TILES Overrides SHIPSPEED.TILES for a ship (the number of tiles that a ship moves in one step)
TAG.OVERRIDE.SKILL Overrides the SKILL property of the ITEMDEF for a weapon.
TAG.OVERRIDE.SOUND_HIT Overrides the hit sound for a weapon. Take notice that there is an underscore in this TAG's name.
TAG.OVERRIDE.SOUND_MISS Overrides the miss sound for a weapon. Take notice that there is an underscore in this TAG's name.


Character-based Override TAGs

TAG.DEATHFLAGS Changes some death related behaviour. The list of supported flags are in sphere_defs.scp.
TAG.MAXPLAYERPETS Overrides the maximum number of pets that a player can stable. Default is 10.
TAG.NAME.ALT Sets an alternative name, useful for incognito effects.
TAG.NAME.HUE Changes the colour of the name displayed above a character.
TAG.NAME.PREFIX Sets some text to display before the character's name.
TAG.NAME.SUFFIX Sets some text to display after the character's name.
TAG.NOSKILLMSG When set to 1, character will receive the "gainradius_not_met" defmessage (sphere_msgs.scp) when skillgain is aborted due to the GAINRADIUS on a skill.
TAG.OVERRIDE.MOVERATE Overrides the MOVERATE property of the CHARDEF.
TAG.OVERRIDE.RANGE Overrides the RANGE property of the CHARDEF. If this tag exists on both the character and the weapon then the largest value will be used.
TAG.OVERRIDE.REGEN_$statid Overrides REGEN rate from Sphere.ini
TAG.OVERRIDE.REGENVAL_$statid Overrides REGEN amount from Sphere.ini
TAG.OVERRIDE.ROCK Sets the ID of an item that the NPC can throw at enemies.
TAG.OVERRIDE.RUNNINGPENALTY Overrides RUNNINGPENALTY from Sphere.ini
TAG.OVERRIDE.SKILLCAP_$skillid Overrides skill settings from the character's SKILLCLASS. $skillid is the numeric ID of the skill.
TAG.OVERRIDE.SKILLSUM Overrides SKILLSUM setting from the character's SKILLCLASS.
TAG.OVERRIDE.SPIDERWEB When set to 1, NPC will be able to drop spider webs (for a giant spider, if this set to 1 then it will stop it from dropping webs)
TAG.OVERRIDE.STAMINALOSSATWEIGHT Overrides STAMINALOSSATWEIGHT from Sphere.ini
TAG.OVERRIDE.STATCAP_$statid Overrides STR/DEX/INT settings from the character's SKILLCLASS. (0=STR, 1=INT, 2=DEX)
TAG.OVERRIDE.STATSUM Overrides STATSUM setting from the character's SKILLCLASS.
TAG.OVERRIDE.TRAINSKILLMAX Overrides NPCTRAINMAX setting from Sphere.ini
TAG.OVERRIDE.TRAINSKILLMAXPERCENT Overrides NPCTRAINPERCENT setting from Sphere.ini
TAG.PARTY_AUTODECLINEINVITE When set to 1, character will automatically decline party invitations.
TAG.PARTY_CANLOOTME When set to 1, party members will be allow to loot this character without it being counted as a criminal action (linked to the option in the party menu).
TAG.VENDORMARKUP This value is added to the markup percentage that vendors apply to their buy and sell prices. Since the default markup is 15%, this means that a vendor will sell something worth 100gp at 115gp and buy it back for 85gp. If you set this tag to -15 the markup will be cancelled out to 0%, or you can raise/lower it if you want your vendor to sell things at a higher/lower price.


Region-based Override TAGs

TAG.OVERRIDE.GUARDS Specifies the character that will be summoned when guards are called in the region, overriding the guards {c_h_guard 1 c_h_guard_f 1} defname in sphere_defs.scp
TAG.VENDORMARKUP This value is added to the markup percentage that vendors apply to their buy and sell prices. Since the default markup is 15%, this means that a vendor will sell something worth 100gp at 115gp and buy it back for 85gp. If you set this tag to -15 the markup will be cancelled out to 0%, or you can raise/lower it if you want your vendor to sell things at a higher/lower price. If the vendor has this tag set directly on them then this region TAG will not be used.