Go Back   RunUO - Ultima Online Emulation > RunUO > Server Support on Windows

Server Support on Windows Get (and give) support on general questions related to the RunUO server itself.

Reply
 
Thread Tools Display Modes
Old 06-18-2004, 11:53 AM   #1 (permalink)
Newbie
 
Join Date: Feb 2004
Location: Richmond, VA
Age: 30
Posts: 68
Default Taking Powerscrolls out

I have a shard thats been up for about 6 months and lately people are quiting because they dont like the powerscrolls. Its a PreAOS shard and I thought it would be neat to add powerscrolls and now everybody suggest taking them out. Is there anyway or a command to set everybodies skill caps back to 100 so I dont have to go into each character by hand and do it? I know how to stop people from getting new powerscrolls but how can i remove the current ones and skills from players that have them. Or am I looking at just having to do a shard wipe?
Rhivan is offline   Reply With Quote
Old 06-18-2004, 01:01 PM   #2 (permalink)
Not a lurker
 
cward's Avatar
 
Join Date: Jan 2004
Location: Kentucky
Age: 33
Posts: 1,213
Default

Quote:
Originally Posted by Rhivan
I have a shard thats been up for about 6 months and lately people are quiting because they dont like the powerscrolls. Its a PreAOS shard and I thought it would be neat to add powerscrolls and now everybody suggest taking them out. Is there anyway or a command to set everybodies skill caps back to 100 so I dont have to go into each character by hand and do it? I know how to stop people from getting new powerscrolls but how can i remove the current ones and skills from players that have them. Or am I looking at just having to do a shard wipe?
You would have to write a script for the Login event and have it set all skill caps to 100.0 .
If you want to delete all in game scrolls try [global delete where PowerScroll .
__________________
Ilshenar ChampionSpawn Generator
OSI Clone World Spawn files for MegaSpawner.
Current spawn files available:
Malas
Ilshenar
cward is offline   Reply With Quote
Old 06-18-2004, 01:43 PM   #3 (permalink)
 
Join Date: May 2004
Age: 28
Posts: 14
Default

Quote:
Originally Posted by cward
You would have to write a script for the Login event and have it set all skill caps to 100.0 .
If you want to delete all in game scrolls try [global delete where PowerScroll .
I'm sure he was probably meaning like in champion spawns. Sort of, how do you set it so during a champion spawn theres no powerscrolls? I remember doing champion spawn on OSI when they did'nt have powerscrolls. Personally I think powerscrolls helped ruin the game. But i've also been wanting to know how to take them out, so any info would help me also.
Michael642 is offline   Reply With Quote
Old 06-18-2004, 02:34 PM   #4 (permalink)
 
Join Date: Aug 2003
Posts: 271
Send a message via AIM to Zidane4056
Default

Find this
Code:
		public void GivePowerScrolls()
		{
			if ( Map != Map.Felucca )
				return;

			ArrayList toGive = new ArrayList();

			ArrayList list = Aggressors;
			for ( int i = 0; i < list.Count; ++i )
			{
				AggressorInfo info = (AggressorInfo)list[i];

				if ( info.Attacker.Player && info.Attacker.Alive && (DateTime.Now - info.LastCombatTime) < TimeSpan.FromSeconds( 30.0 ) && !toGive.Contains( info.Attacker ) )
					toGive.Add( info.Attacker );
			}

			list = Aggressed;
			for ( int i = 0; i < list.Count; ++i )
			{
				AggressorInfo info = (AggressorInfo)list[i];

				if ( info.Defender.Player && info.Defender.Alive && (DateTime.Now - info.LastCombatTime) < TimeSpan.FromSeconds( 30.0 ) && !toGive.Contains( info.Defender ) )
					toGive.Add( info.Defender );
			}

			if ( toGive.Count == 0 )
				return;

			// Randomize
			for ( int i = 0; i < toGive.Count; ++i )
			{
				int rand = Utility.Random( toGive.Count );
				object hold = toGive[i];
				toGive[i] = toGive[rand];
				toGive[rand] = hold;
			}

			for ( int i = 0; i < 6; ++i )
			{
				int level;
				double random = Utility.RandomDouble();

				if ( 0.1 >= random )
					level = 20;
				else if ( 0.4 >= random )
					level = 15;
				else
					level = 10;

				Mobile m = (Mobile)toGive[i % toGive.Count];

				PowerScroll ps = PowerScroll.CreateRandomNoCraft( level, level );

				m.SendLocalizedMessage( 1049524 ); // You have received a scroll of power!
				m.AddToBackpack( ps );

				if ( m is PlayerMobile )
				{
					PlayerMobile pm = (PlayerMobile)m;

					for ( int j = 0; j < pm.JusticeProtectors.Count; ++j )
					{
						Mobile prot = (Mobile)pm.JusticeProtectors[j];

						if ( prot.Map != m.Map || prot.Kills >= 5 || prot.Criminal )
							continue;

						int chance = 0;

						switch ( VirtueHelper.GetLevel( prot, VirtueName.Justice ) )
						{
							case VirtueLevel.Seeker: chance = 60; break;
							case VirtueLevel.Follower: chance = 80; break;
							case VirtueLevel.Knight: chance = 100; break;
						}

						if ( chance > Utility.Random( 100 ) )
						{
							prot.SendLocalizedMessage( 1049368 ); // You have been rewarded for your dedication to Justice!
							prot.AddToBackpack( new PowerScroll( ps.Skill, ps.Value ) );
						}
					}
				}
			}
		}
in Scripts/Mobiles/Special/BaseChampion.cs. Delete everything between those brackets and replace it with "return true;" so it looks like this:
Code:
		public void GivePowerScrolls()
		{
                          return true;
		}
BUT BE SURE TO BACKUP YOUR ORIGINAL FILE; I HAVE NOT TESTED THIS AND DO NOT GUARANTEE IT WILL WORK!!!
Zidane4056 is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5