zerodowned

Moderator
There may be a better way of doing this. But this option has been working for me.

In case you're wondering, Mobile Factions is what causes the Queen's Loyalty display to show up when you hover over another player, or with just about every mob you kill, you get around 5 lines of information showing up in the bottom left-hand corner of the screen.

Personally, I don't like it. I don't want to go through and do a full removal of the system...I'm lazy.
Maybe this is close to a full removal, I don't know, but it's a 4 step process.

*Note: I choose to block or comment out sections of distro scripts rather than delete.

So, block this line out

ServUO-master\Scripts\Misc\CharacterCreation.cs (1 hit)

Line 746:
XmlAttach.AttachTo(newChar, new XmlMobFactions());

and next this one

ServUO-master\Scripts\Mobiles\BaseCreature.cs (1 hit)
Line 1194:
chance += (int)XmlMobFactions.GetScaledFaction(m, this, -250, 250, 0.001);


Next, go to ServUO-master\Scripts\Mobiles\PlayerMobile.cs and find the GetProperties method and block out this part

C#:
[/COLOR]
if (IsPlayer())
       {
         #region QueensLoyaltySystem
         if (m_Exp >= m_LevelExp)
         {
           while (m_Exp >= m_LevelExp)
           {
             m_Exp -= m_LevelExp;
             m_Level += 1;
             m_LevelExp = (long)(1000 * (Math.Pow(1.4, m_Level)));
           }
         }

         if (m_Exp < 0)
         {
           while (m_Exp < 0)
           {
             if (m_Level == 0)
             {
               m_Exp = 0;
             }
             else
             {
               m_LevelExp = (long)(1000 * (Math.Pow(1.4, m_Level - 1)));
               m_Exp += (m_LevelExp);
               m_Level -= 1;
             }
           }
         }

         m_LevelExp = (long)(1000 * (Math.Pow(1.4, m_Level)));
       
         if (m_Level == 0)
         {
           m_ExpTitle = "TerMur-guest";
         }
         else if (m_Level >= 1 && m_Level <= 5)
         {
           m_ExpTitle = "Friend of TerMur";
         }
         else if (m_Level >= 6 && m_Level <= 10)
         {
           m_ExpTitle = "Friend of TerMur";
         }
         else if (m_Level >= 11 && m_Level <= 15)
         {
           m_ExpTitle = "Friend of TerMur";
         }
         else if (m_Level >= 16 && m_Level <= 20)
         {
           m_ExpTitle = "Friend of TerMur";
         }
         else if (m_Level >= 21 && m_Level <= 25)
         {
           m_ExpTitle = "Friend of TerMur";
         }
         else if (m_Level >= 26 && m_Level <= 30)
         {
           m_ExpTitle = "A Citizen of TerMur";
         }
         else if (m_Level >= 31 && m_Level <= 35)
         {
           m_ExpTitle = "A Citizen of TerMur";
         }
         else if (m_Level >= 36 && m_Level <= 40)
         {
           m_ExpTitle = "A Citizen of TerMur";
         }
         else if (m_Level >= 41 && m_Level <= 45)
         {
           m_ExpTitle = "A Citizen of TerMur";
         }
         else if (m_Level >= 46 && m_Level <= 50)
         {
           m_ExpTitle = "A Citizen of TerMur";
         }
         else if (m_Level >= 51 && m_Level <= 60)
         {
           m_ExpTitle = "A Citizen of TerMur";
         }
         else if (m_Level >= 61 && m_Level <= 70)
         {
           m_ExpTitle = "A Noble of Termur";
         }
         else if (m_Level >= 71 && m_Level <= 80)
         {
           m_ExpTitle = "A Noble of Termur";
         }
         else if (m_Level >= 80 && m_Level <= 100)
         {
           m_ExpTitle = "A Noble of Termur";
         }
         else if (m_Level >= 101)
         {
           m_ExpTitle = "A Noble of Termur";
         }

         // Xml spawner 3.26c QueensLoyaltyTitle
         XmlData QueenTitle = (XmlData)XmlAttach.FindAttachment(this, typeof(XmlData), "QueenTitle");

         if (QueenTitle != null && QueenTitle.Data == "True")
         {
           return;
         }
         else
         {
           list.Add(
             String.Concat(
               "Queens Loyalty Level: ",
               String.Format("<BASEFONT COLOR={0}>{1}", "#FF0000", m_Level),
               "  ",
               String.Format("<BASEFONT COLOR={0}>{1}", "#000FFF", (int)(100 * m_Exp / m_LevelExp)),
               " %  ",
               String.Format("<BASEFONT COLOR={0}>{1}", "#0FFF00", m_ExpTitle)));
           InvalidateMyRunUO();
         }
         // Xml Spawner 3.26c QueensLoyaltyTitle
         
         #endregion
       }
[COLOR=#ff0000]

and if you want to remove the Kills / Deaths / Rank, find AddNameProperties and block out that section entirely.
 
I mentioned in another thread about having spent so many years creating our custom map that I have kind of lost touch with the evolution of Ultima over the years.. this is a prime example right here..
I was about to look this stuff up on UO Guide, because this was the first thing upon launching the ServUO server that struck us as annoying too.

Is this the way it actually is on the Broadsword server? (OSI/Mythic/Whatever) Or is this something of a bug that is not really meant to be implemented by default.. or what?

Im gonna read on it too, but thought I would get your guys' take on the stuff as well..

Thanks for the break down too, btw!
 
I mentioned in another thread about having spent so many years creating our custom map that I have kind of lost touch with the evolution of Ultima over the years.. this is a prime example right here..
I was about to look this stuff up on UO Guide, because this was the first thing upon launching the ServUO server that struck us as annoying too.

Is this the way it actually is on the Broadsword server? (OSI/Mythic/Whatever) Or is this something of a bug that is not really meant to be implemented by default.. or what?

Im gonna read on it too, but thought I would get your guys' take on the stuff as well..

Thanks for the break down too, btw!
Its part of the SA expansion to gain loyalty with the Gargoyle Queen which lowers cost of certain things and/or opens up various quests at different stages, depending on how its customized and implemented on an individual shard. It was something Zagros put together which we released in OrbUO 3.0. It is just an XmlAttachment, so its fairly easy to remove. I know the system works, but I cannot say for 100% that everything is implemented OSI-style. Here's the Stratics post about it:
http://uo2.stratics.com/miscellaneous/gargoyle-queen-loyalty

And the UOGuide post, which is patch notes for Pub 60 (scroll almost halfway down and you'll see the info):
http://www.uoguide.com/Publish_60
 
I had no idea this was something that's in OSI.
I guess it should be possible to prevent the displays on characters and after each kill without removing the system all together
 
This system is nothing like how the system works on OSI it should actually be removed from servuo all together as it will stop people working on a correct version of this.

No offence to mitty2 (creator of the queens loyalty over when it was orb) but this system is so far from what osi has its kinda embarassing
 
Looking at the stratics link tass23 posted above, the system makes sense and would be ~easy to rewrite.

Personally I would use Iraq-'s Doom Point system as a base: http://www.runuo.com/community/thre...tem-guarenteed-artifact-over-time-xml.487913/

Just not sure how to award more points to the attacker doing the most damage
The top attacker gets a set amount of points from each particular type of monster. Lesser attackers will receive a smaller amount of points, but the points they are awarded do not subtract from the points awarded to the top attacker.
 
Looking at the stratics link tass23 posted above, the system makes sense and would be ~easy to rewrite.

Personally I would use Iraq-'s Doom Point system as a base: http://www.runuo.com/community/thre...tem-guarenteed-artifact-over-time-xml.487913/

Just not sure how to award more points to the attacker doing the most damage
That's actually easier than you think Zero. Just look at the scripts for any of the peerless bosses. That's exactly how loot gets awarded after the kill. If you used the XmlAttachment, it's a simple thing of just increasing the Attachment value by X
 
Thank you but I don't see it. Just looked at three peerless bosses and BasePeerless.
Might be because I just woke up and coffee is calling. :)

Sorry Zero, I was thinking of the Peerless bosses, but I meant the Champion Bosses. BaseChampion.cs has code for GetLootingRights when assigning PS during and after the fight. The DamageStore is already setup in BaseCreature, so you're just calling that function and telling it what you're giving the players determined by LootingRights. This code is from BaseChampion.cs which is being used in this case to see who gets a champ skull:
Code:
				List<DamageStore> rights = BaseCreature.GetLootingRights( this.DamageEntries, this.HitsMax );
				List<Mobile> toGive = new List<Mobile>();

				for ( int i = rights.Count - 1; i >= 0; --i )
				{
					DamageStore ds = rights[i];

					if ( ds.m_HasRight )
						toGive.Add( ds.m_Mobile );
				}

				if ( toGive.Count > 0 )
					toGive[Utility.Random( toGive.Count )].AddToBackpack( new ChampionSkull( SkullType ) );
				else
					c.DropItem( new ChampionSkull( SkullType ) );

So you can use the GetLootingRights to assign an increase on the XmlAttachment for Queen's Loyalty. Hope that makes a bit more sense. :)
 
Just got around to this, and it removes the bulk but still gives points to the MobFaction system. I assume thats a whole other deal, but still kinda same annoyance of spamming every time you kill carious creatures.
 
Just got around to this, and it removes the bulk but still gives points to the MobFaction system. I assume thats a whole other deal, but still kinda same annoyance of spamming every time you kill carious creatures.

If you created your character before you made these changes then you still have the XMLattachement on your character. Use [getatt and target your character to see if the attachment is still there.
 
how would you remove it from all existing characters once it is removed from the character creation now with the Config file?
 
good question...
I'm not familiar with the config file or any recent changes that may have been done to this system.
 
It uses xml attachments, so you just need to remove the attachment from all the players.
That is my question:(
Is there a gang toidy command to remove it from all existing players or do I have to do a .getatt on everyone and remove them by hand(OMG Im gonna cry!....well no I'm not hehehe)
Thanks!
 
Back