XmlMobFactionsv1.06a
RunUO 2.0 versionupdated 6/30/06
ArteGordon
Latest News:Version 1.06 has been updated to run under RunUO 2.0.
Summary:A system that keeps track of a players faction with user-definable mob groups. Faction can be gained and lost by killing mobs that are allied or opposed to each faction group. Additional scripts that are included provide additional features such as giving out faction for completing quests, making equipment that requires faction to equip, or weapons that have damage bonuses based upon faction levels with certain groups. By following the recommended installation steps, additional faction-dependent features can be added such as making mob taming, control, and how long it takes for mobs to acquire a player as a target dependent on faction standing with a given mobs group.
Also supports mob faction rewards that can be purchased using mob kill Credits.
Recent Updates
New to version 1.06a
updated 6/30/05
- updated MobFactionRegionStone.cs with a small fix for a deserialization problem with MobFactionRegions.
New to version 1.06
update 2/1/05
- added a new MobFactionRegion feature that allows you to define a region which restricts entry based upon a minimum mob faction level. This could be placed in front of dungeons, or buildings, for example, to limit access to those with sufficient mob faction.
Players that try to recall, gate, or teleport into the region will be automatically ejected to a location that can be specified via props. By default, this location is the location of the MobFactionRegionStone that controls the region, but it can be set to anywhere.
Desired faction type and faction level can be set via [props along with some other properties.
Note, if this is placed within existing regions, you may have to raise the MobFactionRegion priority via the MobFactionRegionStone in order for it to function.
- added a MobFactionRegionStone that allows staff to define MobFactionRegions. It can either be setup as a simple single rectangular region by double clicking the flag and defining a bounding box, or you can give it the name of an existing region in the CopyRegion property and it will copy that regions bounding areas. That way you can use other tools to make more complicated regions and then just put the MobFactionRegion on top of them. Note, this doesnt have any effect on the region that you copy.
For example, if you wanted to make the Britain Graveyard accessible only to players with sufficient Undead faction, you would just set the CopyRegion to "Britain Graveyard", the FactionType to "Undead", and the FactionLevel to whatever you wanted.
New to Version 1.05a
update 1/29/05
- added optional installation step 8 that allows you to make barding dependent on mob faction.
New to Version 1.05
updated 1/22/05
- updated the installation instructions for 1.0.0Description:This system makes use of the XmlSpawner2 attachment system and the XmlSpawner2 package must be installed to support it. You dont need to use the xmlspawners themselves, and it doesnt matter whether you use the standard distribution spawners or any other spawning system but you do need the XmlSpawner2 package installed.
Because the attachment system neither requires nor makes any changes to serialization/deserializations on any item or mobile, it can be safely added and removed at any time, now or in the future, without interfering with any other systems that you might have installed.
Note, this has nothing to do with the upcoming release of the official player faction system and will not interfere with that system in any way.
Commands supported:[addallmobfactions - this command will add the mob factions attachment to all current players and can only be run by an administrator.
[removeallmobfactions - this command will remove the mob factions attachment from all current players and can only be run by an administrator.
[checkmobfactions - this command can be run by players to report their current standing with all existing mob factions (this is the same as using the item identification skill on themselves if the optional installation step 8 of the XmlSpawner2 package has been followed).
[verbosemobfactions true/false - this command can be run by players to toggle the verbose reporting of faction gained and lost for the mobs they kill.
The system comes configured with a set of default factions based around the slayer opponent groups with some modifications. These include
Player,
Humanoid,
Undead,
Reptilian,
Arachnid,
Elemental,
Abyss,
DragonLords,
NecroMasters,
Fairie,
Plant,
Underworld
Killing a mob that belongs to one of these factions will cause a loss in faction with that group and its allies (the amount can be scaled for each ally), and a gain in faction with the groups opponents (the amount can be scaled for each opponent).
Additionally, factions such as the DragonLords or NecroMasters which dont have any default members can be set up as quest factions, or can have members dynamically assigned by using the XmlDynamicFaction attachment to assign/spawn a mob into that faction.
For example, here are some of the ally/opponent relationships for a few of the default groups
Player: Allies=Player, Fairies: Opponents=Arachnid, Humanoid, Undead, Reptilian, Elemental, Abyss
Humanoid: Allies=Humanoid: Opponents=Undead, Player, Plant
Undead: Allies=Undead, Abyss: Opponents=Humanoid, Player, Fairie
The groups, their members, allies, and opponents can be configured in the XmlMobFactions.cs file and new factions, such as the Fairie, and Plant factions can be easily added into the faction group definitions in that script. The groups also do not have to remain static. They can be changed and new factions can be added transparently at any time after the system is installed and they will be automatically reflected in each players faction list.
Installation:For 1.0.0
STEP 1:Install the latest XmlSpawner2 package. You can find it here
XmlSpawner2). Make sure that you perform installation steps 2 and 6, and optionally steps 8 and 9, from that thread. If you decide not to perform XmlSpawner2 installation step 9, everything in the system will work except for the XmlFactionEquip attachment. If you decide not to perform XmlSpawner2 installation step 8, everything in the system will work except for the ability to use the Item Identification skill on yourself to open your faction window or to view any faction-dependent bonuses on items.
STEP 2: Place the scripts in this package into your custom scripts directory, or into the XmlAttachments directory of your XmlSpawner2 installation. Place the optional .xml examples in the top level of your RunUO installation directory.
STEP 3:Add mob faction support to all existing players while ingame using the command "[addallmobfactions". If you change your mind and decide to remove it, you can use the "[removeallmobfactions" command. If you would just like to try it out on one player you can use the "[addatt xmlmobfactions" command and target a player.
STEP 4: To automatically add mob faction support to newly created characters, add the following line to the end of the EventSink_CharacterCreated method in CharacterCreation.cs
around line 709 of Scripts/Misc/CharacterCreation.cs change