My server has no use for this system anymore, however it was quite fun.
*Note*
We do use a customized version of the Dark Father with two different phases.
This system calculates points from killing Doom Bosses.
The file "DoomPointsSettings" is where you would go to adjust the amount of points you get per kill.
I would stick to generally where we have them, as we did test them quite a bit.
You would also be able to say [Doom and it will give you a breakdown of how many points you have...
Thanks, so is there any kind of guide on how to create a custom Demonknight is this even possible? Im brand new to ServUO looks like I kill the Database so I just started a clean install, I dont want to mess things up.
Probably just need to delete the namespace for the achievement. Was maybe some old Achievement namespace we had for killing the DarkFather back when I released this.
Hello,im forgetting something in Basecreature i think there is no posted mod,getting error in monsters:
C#:
Mobiles/Named/ShadowKnight.cs:
CS0117: Line 69: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/AbysmalHorror.cs:
CS0117: Line 66: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/DarknightCreeper.cs:
CS0117: Line 58: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/DemonKnight.cs:
CS0117: Line 328: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/FleshRenderer.cs:
CS0117: Line 57: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/Impaler.cs:
CS0117: Line 59: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
Scripts: One or more scripts failed to compile or no script files were found.
Tryed:
C#:
//ADDED FOR XML POINT/LUCK SYSTEM
public static void DistributePoints( BaseCreature creature)
{
double luck = LootPack.GetLuckChanceForKiller(creature);
double pointbonus;
List<DamageStore> rights = BaseCreature.GetLootingRights( creature.DamageEntries, creature.HitsMax );
DamageStore highest = null;
for ( int i = rights.Count - 1; i >= 0; --i )
{
DamageStore ds = rights[i];
if ( !ds.m_HasRight )
rights.RemoveAt( i );
else
{
XmlDoomPoints a = (XmlDoomPoints)XmlAttach.FindAttachment( rights[i].m_Mobile, typeof( XmlDoomPoints ));
if( a == null )
{
XmlAttach.AttachTo( rights[i].m_Mobile, new XmlDoomPoints());
}
else
{
if( creature.GetType() == typeof( DemonKnight ) )
{
pointbonus = ((luck / 3.424) / 1000) ;
pointbonus = Math.Round(pointbonus, 2);
Console.WriteLine("Calculated pointsbonus total is {0}", pointbonus);
a.Points += pointbonus;
a.Points += DoomPoints.DarkFatherPoints;
//IF Damage = Highest
//a.Points += DoomPoints.MostDamageDarkFatherPoints;
Console.WriteLine("Calculated a.Points total after Dark Father Calculation is {0}", a.Points);
//IF Damage = Highest
//a.TotalPoints += DoomPoints.MostDamageDarkFatherPoints;
a.TotalPoints += pointbonus;
a.TotalPoints += DoomPoints.DarkFatherPoints;
Console.WriteLine("Total {0}", a.TotalPoints);
}
else if (creature.GetType() == typeof(AbysmalHorror) || creature.GetType() == typeof(ShadowKnight) || creature.GetType() == typeof(DarknightCreeper) || creature.GetType() == typeof(Impaler) || creature.GetType() == typeof(FleshRenderer) )
{
pointbonus = ((luck / 3.424) / 10000);
pointbonus = Math.Round(pointbonus, 2);
Console.WriteLine("Calculated pointsbonus total is {0}", pointbonus);
a.Points += pointbonus;
a.Points += DoomPoints.GauntletBossPoints;
//IF Damage = Highest
//a.Points += DoomPoints.MostDamageBossPoints;
Console.WriteLine("Calculated a.Points total after Minions Calculation is {0}", a.Points);
//IF Damage = Highest
//a.TotalPoints += DoomPoints.MostDamageBossPoints;
a.TotalPoints += pointbonus;
a.TotalPoints += DoomPoints.GauntletBossPoints;
Console.WriteLine("Total {0}", a.TotalPoints);
}
if( a.Points >= DoomPoints.PointsPerArtifacts ) // if they have reached the points value, give them an artifact.
//if ( Utility.Random(100) < a.Points
{
// Mobile.SendMessage(
// "You have been awarded an artifact as a token of your valor. Your points have been reset.");
Console.WriteLine("You have been awarded an artifacts from the new system");
DistributeArtifact( rights[i].m_Mobile, CreateRandomArtifact() );
a.TotalArtifacts++;
a.Points -= DoomPoints.PointsPerArtifacts;
}
}
}
}
}
Getting error:
C#:
Mobiles / Normal / BaseCreature.cs:
CS1501: Line 5225: No overhead for method 'GetLootingRights' takes '2' arguments
CS0103: Line 5280: The name 'DistributeArtifact' does not exist in the current context
CS0103: Line 5280: Name 'CreateRandomArtifact' does not exist in current context
Scripts: One or more scripts failed to compile or no script files were found.
Someone got the correct code?Thanks in advance!
Post automatically merged:
UPDATED//////LOADING//////ISSUE/////
Here the final files im using to get it working after a bit of mods of my repo.
In XmlDoomPoints there is a command [Doom to get my points and artifacts dropped but when i use nothing happens.
Any advice?Thank you.
Hello,im forgetting something in Basecreature i think there is no posted mod,getting error in monsters:
C#:
Mobiles/Named/ShadowKnight.cs:
CS0117: Line 69: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/AbysmalHorror.cs:
CS0117: Line 66: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/DarknightCreeper.cs:
CS0117: Line 58: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/DemonKnight.cs:
CS0117: Line 328: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/FleshRenderer.cs:
CS0117: Line 57: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
+ Mobiles/Normal/Impaler.cs:
CS0117: Line 59: 'Server.Mobiles.DemonKnight' no contiene una definición para 'DistributePoints'
Scripts: One or more scripts failed to compile or no script files were found.
Tryed:
C#:
//ADDED FOR XML POINT/LUCK SYSTEM
public static void DistributePoints( BaseCreature creature)
{
double luck = LootPack.GetLuckChanceForKiller(creature);
double pointbonus;
List<DamageStore> rights = BaseCreature.GetLootingRights( creature.DamageEntries, creature.HitsMax );
DamageStore highest = null;
for ( int i = rights.Count - 1; i >= 0; --i )
{
DamageStore ds = rights[i];
if ( !ds.m_HasRight )
rights.RemoveAt( i );
else
{
XmlDoomPoints a = (XmlDoomPoints)XmlAttach.FindAttachment( rights[i].m_Mobile, typeof( XmlDoomPoints ));
if( a == null )
{
XmlAttach.AttachTo( rights[i].m_Mobile, new XmlDoomPoints());
}
else
{
if( creature.GetType() == typeof( DemonKnight ) )
{
pointbonus = ((luck / 3.424) / 1000) ;
pointbonus = Math.Round(pointbonus, 2);
Console.WriteLine("Calculated pointsbonus total is {0}", pointbonus);
a.Points += pointbonus;
a.Points += DoomPoints.DarkFatherPoints;
//IF Damage = Highest
//a.Points += DoomPoints.MostDamageDarkFatherPoints;
Console.WriteLine("Calculated a.Points total after Dark Father Calculation is {0}", a.Points);
//IF Damage = Highest
//a.TotalPoints += DoomPoints.MostDamageDarkFatherPoints;
a.TotalPoints += pointbonus;
a.TotalPoints += DoomPoints.DarkFatherPoints;
Console.WriteLine("Total {0}", a.TotalPoints);
}
else if (creature.GetType() == typeof(AbysmalHorror) || creature.GetType() == typeof(ShadowKnight) || creature.GetType() == typeof(DarknightCreeper) || creature.GetType() == typeof(Impaler) || creature.GetType() == typeof(FleshRenderer) )
{
pointbonus = ((luck / 3.424) / 10000);
pointbonus = Math.Round(pointbonus, 2);
Console.WriteLine("Calculated pointsbonus total is {0}", pointbonus);
a.Points += pointbonus;
a.Points += DoomPoints.GauntletBossPoints;
//IF Damage = Highest
//a.Points += DoomPoints.MostDamageBossPoints;
Console.WriteLine("Calculated a.Points total after Minions Calculation is {0}", a.Points);
//IF Damage = Highest
//a.TotalPoints += DoomPoints.MostDamageBossPoints;
a.TotalPoints += pointbonus;
a.TotalPoints += DoomPoints.GauntletBossPoints;
Console.WriteLine("Total {0}", a.TotalPoints);
}
if( a.Points >= DoomPoints.PointsPerArtifacts ) // if they have reached the points value, give them an artifact.
//if ( Utility.Random(100) < a.Points
{
// Mobile.SendMessage(
// "You have been awarded an artifact as a token of your valor. Your points have been reset.");
Console.WriteLine("You have been awarded an artifacts from the new system");
DistributeArtifact( rights[i].m_Mobile, CreateRandomArtifact() );
a.TotalArtifacts++;
a.Points -= DoomPoints.PointsPerArtifacts;
}
}
}
}
}
Getting error:
C#:
Mobiles / Normal / BaseCreature.cs:
CS1501: Line 5225: No overhead for method 'GetLootingRights' takes '2' arguments
CS0103: Line 5280: The name 'DistributeArtifact' does not exist in the current context
CS0103: Line 5280: Name 'CreateRandomArtifact' does not exist in current context
Scripts: One or more scripts failed to compile or no script files were found.
Someone got the correct code?Thanks in advance!
Post automatically merged:
UPDATED//////LOADING//////ISSUE/////
Here the final files im using to get it working after a bit of mods of my repo.
In XmlDoomPoints there is a command [Doom to get my points and artifacts dropped but when i use nothing happens.
Any advice?Thank you.