RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[RunUO 2.0 RC1] Customizable WeaponAbilities

Gargouille

Sorceror
[RunUO 2.0 RC1] Customizable WeaponAbilities

This is more a HowTo rather than a ready to use system, but it will let you :

  • Create a weapon with abilities you wanted
  • Create weapons with more than two abilities
  • Create new abilities

WeaponAbilities are client-side. The client get abilities regarding to ItemID, whatever you try to do in the scripts.
What I propose to you is to cut off communication between server and client, regarding WeaponAbilities, and so replace it with a server-side system.



Cut off communication server-client:

In ScriptsItemsWeaponsAbilitiesWeaponAbility.cs find and delete (or comment) the Initialize method :
Code:
/*public static void Initialize()
{
	EventSink.SetAbility += new SetAbilityEventHandler( EventSink_SetAbility );
}*/
Then the EventSink_SetAbility will not be call no more, you can comment it too (or leave it just unuse):
Code:
/*private static void EventSink_SetAbility( SetAbilityEventArgs e )
{
	int index = e.Index;

	if ( index == 0 )
		ClearCurrentAbility( e.Mobile );
	else if ( index >= 1 && index < m_Abilities.Length )
		SetCurrentAbility( e.Mobile, m_Abilities[index] );
			
}*/

Add a new WeaponAbility system:

Just add these files in your scripts directory :
  • CustomWeaponAbilities.cs
  • CustomWeaponAbilitiesGump.cs

Then in ScriptsItemsWeaponsAbilitiesWeaponAbility.cs, find the ClearCurrentAbility method and modify it like this :
Code:
public static void ClearCurrentAbility( Mobile m )
{
	m_Table.Remove( m );

	//NEW
	CustomWeaponAbilities.Check(m);
		return;
	//NEW
			
	if ( Core.AOS && m.NetState != null )
		m.Send( ClearWeaponAbility.Instance );
}

Allow it in game :

You can lauch the gump via a command, a macro or whatever you want.

Here' s a way to automaticaly launch the gump when equiping a weapon :

In ScriptsItemsWeaponsBaseWeapon.cs, find the OnEquip method, and insert this new line just before the ending return true; :
Code:
public override bool OnEquip( Mobile from )
{
	[ int strBonus = ... ]
			
	CustomWeaponAbilities.Check(this,from);//NEW
			
	return true;
}

Now find the OnRemove method and insert this line at the bottom of the method ( but just before the coma that ends the if ( parent is Mobile ) ) :
Code:
public override void OnRemoved( object parent )
{
	if ( parent is Mobile )
	{
		[...]
				
		CustomWeaponAbilities.Check(m);//NEW
	}
}

Some bad things with it (no refreshing for example) were fix by Lord GreyWolf, by using a command lauching gump : attached file SpecialAttacksCommand.cs

And for using macro, use another file by LordGreyWolf : SpecialAttackCommands.cs.


ONCE ALL THAT THINGS ARE DONE YOU WILL BE ABLE TO CHOOSE WHATEVER ABILITY YOU WANT FOR A WEAPON !

Just change the declaration in the wanted weapon script :
Code:
public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.CrushingBlow; } }
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.ArmorIgnore; } }






BUT YOU CAN ALSO ADD ADDITIONALY ABILITIES !

With CustomWeaponAbilities.cs and CustomWeaponAbilitiesGump.cs as it is release at that time, you can go up till five abilities... Look in scripts, that is not hard to make 6, 7... where do we stop :p
( Thanks Lord GreyWolf for the help )

You just have, in order to use them, to declare in ScriptsItemsWeaponsBaseWeapon.cs the additional Abilities :
Code:
public virtual WeaponAbility ThirdAbility{ get{ return null; } }//NEW
public virtual WeaponAbility ForthAbility{ get{ return null; } }//NEW
public virtual WeaponAbility FifthAbility{ get{ return null; } }//NEW
And then overriding them in your weapons, if you need or want to.
Code:
public override WeaponAbility ThirdAbility{ get{ return WeaponAbility.NewOne; } }//NEW
public virtual WeaponAbility ForthAbility{ get{ return WeaponAbility.BleedAttack; } }//NEW
public virtual WeaponAbility FifthAbility{ get{ return WeaponAbility.DoubleShot; } }//NEW
If you do not, the Ability keeps null value, there's no problem.
You can give 5 abilities to a weapon, and just 2 to another...
Just don't assign a value for example to the ForthAbility without having assign one else to the ThirdAbility...

And now, you got to make these two modifications in ScriptsItemsWeaponsAbilitiesWeaponAbility.cs,

in the IsWeaponAbility method :
Code:
public static bool IsWeaponAbility( Mobile m, WeaponAbility a )
{
	if ( a == null )
		return true;

	if ( !m.Player )
		return true;

	BaseWeapon weapon = m.Weapon as BaseWeapon;

	return ( weapon != null && (weapon.PrimaryAbility == a || weapon.SecondaryAbility == a || weapon.ThirdAbility == a || weapon.ForthAbility == a || weapon.FifthAbility == a) );//NEW
		}
and in the GetRequiredSkill method :
Code:
public virtual double GetRequiredSkill( Mobile from )
		{
			BaseWeapon weapon = from.Weapon as BaseWeapon;

			if ( weapon != null && weapon.PrimaryAbility == this )
				return 70.0;
			else if ( weapon != null && weapon.SecondaryAbility == this )
				return 90.0;
			else if ( weapon != null && weapon.ThirdAbility == this )//NEW
				return 120.0;
			else if ( weapon != null && weapon.ThirdAbility == this )//NEW
				return 140.0;
			else if ( weapon != null && weapon.ThirdAbility == this )//NEW
				return 160.0;
			
			return 200.0;
		}







NOTE : the additionaly abilities required 120, 140 and 160 % skill, if you want to change this, you got to do it both in WeaponAbility/GetRequiredSkill and CustomWeaponAbilities/HasAbilities...

NOTE : you can also easily change requirement, in order to allow a third (or else) ability to a race, a class, another skill than weapon.DefSkill...

For example :in a weapon, you can declare an Ability like that :
Code:
public override WeaponAbility ThirdAbility{ get{ return PrivateNonStaticAbility; } }//NEW

private WeaponAbility m_PrivateNonStaticAbility;
public WeaponAbility PrivateNonStaticAbility
{
      get { return m_PrivateNonStaticAbility;}
      set { m_PrivateNonStaticAbility = value;}
}
And then serialize it, and set or not a value to the WeaponAbility as you want, when crafted, regarding to crafter skill level, or many maners... Then a weaponability can be for a weapon and not for all weapons of that type...







AND NOW, WHAT ABOUT CREATING NEW ABILITIES ??

In ScriptsItemsWeaponsAbilitiesWeaponAbility.cs find the
Code:
private static WeaponAbility[] m_Abilities = new WeaponAbility[30]
and increase the length, regarding how many abilities you want to add...

Then add your new abilities at the end of the list.

Then, find that kind of lines :
Code:
public static readonly WeaponAbility ArmorIgnore		= m_Abilities[ 1];
and add yours, with the good index.


Then, what about the icons for new abilities ?


First you can merge your .mul with new icons, and place them just behind abilities ones...

But you can also insert this line in ScriptsItemsWeaponsAbilitiesWeaponAbility.cs:
Code:
public virtual int CustomGump{ get{ return 0xDB;}}//NEW
You can now define what existing gump you want for that ability, just modify it in your NewAbility script.

And to make in works with the gump, just replace Icons int value definitions in CustomAbilitiesGump.cs, like this :
Code:
private int PrimaryIcon {get{return Primary<30?0x51FF+Primary:WeaponAbility.Abilities[Primary].CustomGump;}}
private int SecondaryIcon {get{return  Secondary<30?0x51FF+Secondary:WeaponAbility.Abilities[Secondary].CustomGump;}}
private int ThirdIcon {get{return  Third<30?0x51FF+Third:WeaponAbility.Abilities[Third].CustomGump;}}
private int ForthIcon {get{return  Forth<30?0x51FF+Forth:WeaponAbility.Abilities[Forth].CustomGump;}}
private int FifthIcon {get{return  Fifth<30?0x51FF+Fifth:WeaponAbility.Abilities[Fifth].CustomGump;}}




You now just have to script yours.;)

... or use LordGreyWolf ones here : http://www.runuo.com/forums/custom-script-releases/93773-new-weapon-abilities.html



Will be edited as soon as an error occurs :D

All occurences of "Fourth" were "Forth", as shown by Miller when releasing his Changeable Weapon Abilities...
It is now fixed, but if you want to use Lord GreyWolf's new Weapon Abilities, you will need to fix it too.
 

Attachments

  • CustomWeaponAbilitiesGump.cs
    5.8 KB · Views: 178
  • SpecialAttackCommands.cs
    3.6 KB · Views: 158
  • SpecialAttacksDisplay.cs
    1.7 KB · Views: 149
  • CustomWeaponAbilities.cs
    3 KB · Views: 148
one other thing you may want, just so players will not complain lol

with this system, each time they equip or unequip a weapon, it will display the special attacks gump
it will only display those ones that they can use, if any, ond that the weapon has of course

but the gump is also closable
and has 1 bug in it - if skill changes, it does not update the gump (and if skill lowered beyond uses, still can not use it then, but has it displayed)

so if they close it, or want to update it, only way is via moving weapon around lol

or

can use this command
[specialAttackDisplay
or for short
[SAD

and it redisplays the gump :)

thanks to the origional author of this (i do not know for sure who was origional author) and all of us that worked on it for the last couple of days to get it working

I know it works with svn 162, and you have to havfe the ml special abilities installed either via dvn, ec2 or 3rd part methods :)

ps - i have it installed from the ones i posted in the script support section, and is working GREAT
 

Attachments

  • SpecialAttacksDisplay.cs
    1.7 KB · Views: 56

Gargouille

Sorceror
I have merged my files with your modifications, make some changes (ServerSideSetAbility is now in CustomWeaponAbilities, and no more needing an add to WeaponAbility) and by the way I rename them...

So here is your display command, with the correct SendGump...

I include it in the release. Thanks.


thanks to the origional author of this (i do not know for sure who was origional author)

Thanks, I am :cool:, but now it's a half with you ;) Take it, I leave UO, that was one of my lasts contributions, I try to spread over the world what I done for my (RIP) shard for the lasts months...:rolleyes:
 

Attachments

  • SpecialAttacksDisplay.cs
    1.7 KB · Views: 43

Miller.

Wanderer
Hmm.. think this could be modified so that there's two total abilities, but randomly made upon the creation of the weapon? Limited, though, so there's no "crushing blow" on a dagger, and no "bleed" on a club, etc.

This looks VERY interesting. Thanks for posting it!
 

Miller.

Wanderer
Also, is there any way to have a macro to toggle on/off the abilities themselves (not just the gump)?
 
if using razor you could make one easiely

or can use a command script for them

here is the code for a command script, that will allow seting of up to 5th level (can remove the ones you do not want to use)

Code:
using System;
using Server;
using Server.Gumps;

namespace Server.Commands
{
	public class SpecialAttackCommands
	{
		public static void Initialize()
		{
			CommandSystem.Register( "SetPrimaryAbility", AccessLevel.Player, new CommandEventHandler( SetPrimaryAbility_OnCommand ) );
			CommandSystem.Register( "SetSecondaryAbility", AccessLevel.Player, new CommandEventHandler( SetSecondaryAbility_OnCommand ) );
			CommandSystem.Register( "SetThirdAbility", AccessLevel.Player, new CommandEventHandler( SetThirdAbility_OnCommand ) );
			CommandSystem.Register( "SetForthAbility", AccessLevel.Player, new CommandEventHandler( SetForthAbility_OnCommand ) );
			CommandSystem.Register( "SetFifthAbility", AccessLevel.Player, new CommandEventHandler( SetFifthAbility_OnCommand ) );
			CommandSystem.Register( "Set1", AccessLevel.Player, new CommandEventHandler( SetPrimaryAbility_OnCommand ) );
			CommandSystem.Register( "Set2", AccessLevel.Player, new CommandEventHandler( SetSecondaryAbility_OnCommand ) );
			CommandSystem.Register( "Set3", AccessLevel.Player, new CommandEventHandler( SetThirdAbility_OnCommand ) );
			CommandSystem.Register( "Set4", AccessLevel.Player, new CommandEventHandler( SetForthAbility_OnCommand ) );
			CommandSystem.Register( "Set5", AccessLevel.Player, new CommandEventHandler( SetFifthAbility_OnCommand ) );
		}

		[Usage( "SetPrimaryAbility" )]
		[Aliases( "Set1" )]
		[Description( "Sets your Weapons Primary Ability Active." )]
		private static void SetPrimaryAbility_OnCommand( CommandEventArgs e )
		{
			Mobile from = e.Mobile;
			if(!from.HasGump(typeof(SpecialAttackGump)))return;
			SpecialAttackGump gump = (SpecialAttackGump)from.FindGump(typeof(SpecialAttackGump));
			gump.OnResponse(from.NetState,new RelayInfo(1,null,null));
		}

		[Usage( "SetSecondaryAbility" )]
		[Aliases( "Set2" )]
		[Description( "Sets your Weapons Secondary Ability Active." )]
		private static void SetSecondaryAbility_OnCommand( CommandEventArgs e )
		{
			Mobile from = e.Mobile;
			if(!from.HasGump(typeof(SpecialAttackGump)))return;
			SpecialAttackGump gump = (SpecialAttackGump)from.FindGump(typeof(SpecialAttackGump));
			if(gump.Abilities<2)return;
			gump.OnResponse(from.NetState,new RelayInfo(2,null,null));
		}

		[Usage( "SetThirdAbility" )]
		[Aliases( "Set3" )]
		[Description( "Sets your Weapons Third Ability Active." )]
		private static void SetThirdAbility_OnCommand( CommandEventArgs e )
		{
			Mobile from = e.Mobile;
			if(!from.HasGump(typeof(SpecialAttackGump)))return;
			SpecialAttackGump gump = (SpecialAttackGump)from.FindGump(typeof(SpecialAttackGump));
			if(gump.Abilities<3)return;
			gump.OnResponse(from.NetState,new RelayInfo(3,null,null));
		}

		[Usage( "SetForthAbility" )]
		[Aliases( "Set4" )]
		[Description( "Sets your Weapons Forth Ability Active." )]
		private static void SetForthAbility_OnCommand( CommandEventArgs e )
		{
			Mobile from = e.Mobile;
			if(!from.HasGump(typeof(SpecialAttackGump)))return;
			SpecialAttackGump gump = (SpecialAttackGump)from.FindGump(typeof(SpecialAttackGump));
			if(gump.Abilities<4)return;
			gump.OnResponse(from.NetState,new RelayInfo(4,null,null));
		}

		[Usage( "SetFifthAbility" )]
		[Aliases( "Set5" )]
		[Description( "Sets your Weapons Fifth Ability Active." )]
		private static void SetFifthAbility_OnCommand( CommandEventArgs e )
		{
			Mobile from = e.Mobile;
			if(!from.HasGump(typeof(SpecialAttackGump)))return;
			SpecialAttackGump gump = (SpecialAttackGump)from.FindGump(typeof(SpecialAttackGump));
			if(gump.Abilities<5)return;
			gump.OnResponse(from.NetState,new RelayInfo(5,null,null));
		}
	}
}
 

Gargouille

Sorceror
Thanks LordGreyWolf, I merge your file in initial post.

And Miller, yes, it's possible to give a value to the abilities during the craft, randomly or not. Abilities are not more "static like members" but really instances ones...
 
Errors

Hello,
I am getting these errors on compiling. Did I miss a file or something?

Code:
Warnings:
 + Items/Weapons/Abilities/WeaponAbility.cs:
    CS0162: Line 320: Unreachable code detected
Errors:
 + Items/Weapons/Abilities/WeaponAbility.cs:
    CS0117: Line 43: 'Server.Items.BaseWeapon' does not contain a definition for
 'ThirdAbility'
    CS0117: Line 44: 'Server.Items.BaseWeapon' does not contain a definition for
 'ForthAbility'
    CS0117: Line 45: 'Server.Items.BaseWeapon' does not contain a definition for
 'FifthAbility'
    CS0117: Line 68: 'Server.Items.BaseWeapon' does not contain a definition for
 'ForthAbility'
    CS0117: Line 69: 'Server.Items.BaseWeapon' does not contain a definition for
 'ForthAbility'
    CS0117: Line 70: 'Server.Items.BaseWeapon' does not contain a definition for
 'FifthAbility'
    CS0117: Line 266: 'Server.Items.BaseWeapon' does not contain a definition fo
r 'ThirdAbility'
    CS0117: Line 266: 'Server.Items.BaseWeapon' does not contain a definition fo
r 'ForthAbility'
    CS0117: Line 266: 'Server.Items.BaseWeapon' does not contain a definition fo
r 'FifthAbility'
 + Items/Weapons/Abilities/Special Weapon Abilities/CustomWeaponAbilities.cs:
    CS0117: Line 67: 'Server.Items.BaseWeapon' does not contain a definition for
 'ThirdAbility'
    CS0117: Line 74: 'Server.Items.BaseWeapon' does not contain a definition for
 'ForthAbility'
    CS0117: Line 81: 'Server.Items.BaseWeapon' does not contain a definition for
 'FifthAbility'
    CS0117: Line 108: 'Server.Items.BaseWeapon' does not contain a definition fo
r 'ThirdAbility'
    CS0117: Line 109: 'Server.Items.BaseWeapon' does not contain a definition fo
r 'ForthAbility'
    CS0117: Line 110: 'Server.Items.BaseWeapon' does not contain a definition fo
r 'FifthAbility'
 + Items/Weapons/Abilities/Special Weapon Abilities/SpecialAttackCommands.cs:
    CS0246: Line 31: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 32: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 32: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 32: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 42: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 43: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 43: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 43: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 54: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 55: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 55: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 55: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 66: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 67: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 67: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 67: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 78: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 79: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 79: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 79: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
 + Items/Weapons/Abilities/Special Weapon Abilities/SpecialAttacksDisplay.cs:
    CS0117: Line 27: 'Server.Items.BaseWeapon' does not contain a definition for
 'ThirdAbility'
    CS0117: Line 28: 'Server.Items.BaseWeapon' does not contain a definition for
 'ForthAbility'
    CS0117: Line 29: 'Server.Items.BaseWeapon' does not contain a definition for
 'FifthAbility'

I have also included the system from Lord_Greywolf found here and posted more errors on that page as well.
 
Errors

I got the Third, Fourth and Fifth Weapon Ability errors fixed. I missed an edit.

But I still have these...

Code:
Warnings:
 + Items/Weapons/Abilities/WeaponAbility.cs:
    CS0162: Line 320: Unreachable code detected
Errors:
 + Items/Weapons/Abilities/Special Weapon Abilities/SpecialAttackCommands.cs:
    CS0246: Line 31: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 32: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 32: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 32: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 42: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 43: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 43: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 43: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 54: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 55: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 55: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 55: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 66: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 67: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 67: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 67: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 78: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 79: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 79: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
    CS0246: Line 79: The type or namespace name 'SpecialAttackGump' could not be
 found (are you missing a using directive or an assembly reference?)
 

Miller.

Wanderer
Other than implementing a command for toggling the primary/secondary/etc. abilities and then creating a Razor macro for it, I've been using this on my test server with a fully updated client. No problems as of yet.
 

Miller.

Wanderer
Theoretically speaking, here's what I want to be able to do: Each time a weapon is crafted, it gets the basic weapon abilities. Then players will be able to obtain a scroll from a weaponsmaster to change the weapon abilities.

Question: once the weapon is crafted and the abilities are set, can they be changed on the fly? Or is that needing to be hard-coded in the scripts? I mean, can I have a kryss with bleed and infect, and then another kryss with armor ignore and whirlwind?
 

Karmageddon

Sorceror
The commands work fine to use the abilities. But, what I want is the icons to show also. That way players will know what abilities a particular weapon will have if I decide to change them from original abilities. So far in my testing I have not been able to get the icons to show what abilitties the weapon has on client version 6.0.9.2. I am not sure where the cutoff on client version that it does actually show the icons and it doesn't, but I do know client version 6.0.1.1 does show the icons.
 
Client version

I finally got it working properly. I am using Client version 6.0.11.0 and everything looks good. Here is a pic to show that it does work with higher clients.
 

Attachments

  • Weapon Abilities.jpg
    Weapon Abilities.jpg
    108 KB · Views: 208

Karmageddon

Sorceror
Ok Callander did you have to make any mods to any of the original scripts in this package? Or does it work as it is? If you got it working then share what you did to get it working. Also I do not want to patch any muls at this time, so if the flag gumps need mul patching then I am not going to use that.
 
Top