Override TAGs
Contents
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 | This is used as a modifier for the REGEN rate from Sphere.ini. The value is subtracted from the normal REGEN rate. |
TAG.OVERRIDE.REGENVAL_$statid | A modifier for the amount of points gained when a stat regenerates. The value is added to the normal regeneration amount. |
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. |