UOGamers 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!

  • To obtain new Razor updates, please reinstall Razor from our new website.

[SVN] Word of Death as OSI

Status
Not open for further replies.
[SVN] Word of Death as OSI

Type: OSI Discrepancy

Basic Description: Spellweaving spells in RunUO are different than OSI

Way to experience: gotta cast 'em all!

Detailed Description: check links and the index below.
Links: UOGuide: http://www.uoguide.com/Spellweaving

Code: some fragments below
This is for existing spellweaving spell. For the 4 missing ones, check here: http://www.uodemise.com/discussion/showthread.php?t=115457

First, we have to do the link of differencies.

So far:

others: they will be signal on other bugreports as they are discovered.

Word of Death [fix]

  • The huge chaos (= random) damage blast should happen only when the monster is under a certain health percentage (see http://www.uoguide.com/Word_of_Death)
  • the "pitful" damage is not so little like in RunUO (what I know is it's just different than OSI)
  • it should be influenced by SDI
 
Re: [In Development] Spellweaving as OSI

osd_daedalus;567168 said:
Arcane Circle:

  • should return up to a level 6 arcane focus (only in particular pentagrams or in any pentagram??)

Since I have found this in ArcaneCircle.cs:
Code:
int strengthBonus = Math.Min( Arcanists.Count, IsSanctuary( Caster.Location, Caster.Map ) ? 6 : 5 );    //The Sanctuary is a special, single location place

Can you please confirm you can get the level 6 focus only in Sactuary, in OSI?
 
Re: [In Development] Spellweaving as OSI

by waiting the WoD OSI test I have submitted, let's drop a bit of code!

I'll edit this post as we collect more code.

Nature's Fury:

You should NOT to be able to directly target a mobile. Instead, you should have the "Target cannot be seen" in return, with no mana consumption and no summon made

Code:
Index: Scripts/Spells/Spellweaving/NatureFury.cs
===================================================================
--- Scripts/Spells/Spellweaving/NatureFury.cs    (revision 321)
+++ Scripts/Spells/Spellweaving/NatureFury.cs    (working copy)
@@ -70,6 +70,13 @@
             {
                 Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
             }
+
+            //say "Target can not be seen" if you target directly a mobile, like in OSI
+            if (m != null)
+            {
+                Caster.SendLocalizedMessage(500237); // Target can not be seen.
+            }
+
             else if( SpellHelper.CheckTown( p, Caster ) && (m_MobileTarg ? CheckHSequence( m ) : CheckSequence()) )
             {
                 TimeSpan duration = TimeSpan.FromSeconds( Caster.Skills.Spellweaving.Value/24 + 25 + FocusLevel*2 );
 

emoooo

Sorceror
Re: [In Development] Spellweaving as OSI

Word Of Death fix
  • WoD will now only deal powerful damage if the target has less than ArcaneFocus * 5% hit points.
  • The powerful damage has been changed to 666 as per OSI.
  • The pitiful damage has been tweaked to match OSI.
  • The pitiful damage now receives bonus from SDI, as per OSI.

Again, I apologize for not using Tortoise SVN, but that thing just refuses to run on my machine =\

@WordOfDead.cs ln28
Code:
public void Target( Mobile m )
{
	if( !Caster.CanSee( m ) )
	{
		Caster.SendLocalizedMessage( 500237 ); // Target can not be seen.
	}
	else if( CheckHSequence( m ) )
	{
		Point3D loc = m.Location;
		loc.Z += 50;

		m.PlaySound( 0x211 );
		m.FixedParticles( 0x3779, 1, 30, 0x26EC, 0x3, 0x3, EffectLayer.Waist );

		Effects.SendMovingParticles( new Entity( Serial.Zero, loc, m.Map ), new Entity( Serial.Zero, m.Location, m.Map ), 0xF5F, 1, 0, true, false, 0x21, 0x3F, 0x251D, 0, 0, EffectLayer.Head, 0 );
[COLOR="Red"]
		double percentage = 0.05 * FocusLevel;

		int damage;

		if( !m.Player && (((double)m.Hits / (double)m.HitsMax) < percentage ))
		{
			damage = 666;
		}
		else
		{
			int minDamage = (int)Caster.Skills.Spellweaving.Value / 5;
			int maxDamage = (int)Caster.Skills.Spellweaving.Value / 3;
			damage = Utility.RandomMinMax(minDamage, maxDamage);
			int damageBonus = AosAttributes.GetValue( Caster, AosAttribute.SpellDamage );
                        if (m.Player && damageBonus > 15)
                               damageBonus = 15;
			damage *= damageBonus + 100;
			damage /= 100;
		}[/COLOR]

		int[] types = new int[4];
		types[Utility.Random( types.Length )] = 100;

		SpellHelper.Damage( this, m, damage, 0, types[0], types[1], types[2], types[3] );	//Chaos damage.  Random elemental damage
	}

	FinishSequence();
}
 

Attachments

  • WoD.rar
    1.2 KB · Views: 5
Re: [In Development] Spellweaving as OSI

emoooo;575601 said:
Word Of Death fix
  • WoD will now only deal powerful damage if the target has less than 5 + (ArcaneFocus * 5)% hit points.
  • The powerful damage has been changed to 666 as per OSI.
  • The pitiful damage has been tweaked to match OSI.
  • The pitiful damage now receives bonus from SDI, as per OSI.
You tested it fully? That's good!

And you noticed me a thing: WoD without focus is useless :p
 

emoooo

Sorceror
Re: [In Development] Spellweaving as OSI

osd_daedalus;575790 said:
You tested it fully? That's good!

And you noticed me a thing: WoD without focus is useless :p

yes, it would be nice if someone else tests it and confirms it though.
 
Re: [In Development] Spellweaving as OSI

adverserath;575915 said:
shouldnt it still have the 5% without focus?

Here:
http://www.uoguide.com/Word_of_Death

Talks about:
no focus: nothing
focus level 1: 5%
level 2: 10%

and so on...

I believe this line:
Code:
double percentage = 0.05 + (0.05 * FocusLevel)

should be changed as it follows:
Code:
double percentage = 0.05 * FocusLevel

because:

http://www.uoguide.com/Five_on_Friday_-_August_8,_2008

"Why can I only get a level 4 Arcane Focus even with five or more people?"
This was an intended (if undocumented) change from the last publish. I talked to Draconi about it, and it is intended - the change was made to allow the design team some greater flexibility with Arcane Focus in the future. So at the moment it's a definite nerf, but there will be an upside a little further down the road.

and Publish 55 (http://www.uoguide.com/Publish_55)

Arcane Circles will now give a bonus to arcane focus
  • Arcane Focus will require a minimum of two people to cast
  • Casting it in a pentagram or abbatoir will give you a Focus with a level equal to number of casters - 1
  • Casting in an Arcane Circle (such as in Heartwood or a crafted Circle in a player house) will give you a 1 level bonus.
  • Casting in Prism of Light will give you the Arcane Circle bonus plus an additional bonus, for a maximum possible focus level 6.

so, it's meant Arcane Focus level 1 to exist, as level 6.
 

emoooo

Sorceror
Re: [In Development] Spellweaving as OSI

osd_daedalus;575944 said:
Here:
http://www.uoguide.com/Word_of_Death

Talks about:
no focus: nothing
focus level 1: 5%
level 2: 10%

and so on...

I believe this line:
Code:
double percentage = 0.05 + (0.05 * FocusLevel)

should be changed as it follows:
Code:
double percentage = 0.05 * FocusLevel

well while I was testing it on OSI I had no arcane focus and still did the powerful damage when the target was under 5%.
ill be going to gaunt on OSI tonight or tomorrow to confirm this.
 
Re: [In Development] Spellweaving as OSI

emoooo;576173 said:
well while I was testing it on OSI I had no arcane focus and still did the powerful damage when the target was under 5%.
ill be going to gaunt on OSI tonight or tomorrow to confirm this.

thank you :)
 

emoooo

Sorceror
Re: [In Development] Spellweaving as OSI

osd_daedalus;576230 said:
thank you :)

you're right, I tried some creatures with higher health, when a mob is under 5% WoD either hits for the "pitiful" damage or less if the target has less points. I have no way to test this with arcane focus, unless somebody with an OSI account wants to team up.
 
Re: [In Development] Spellweaving as OSI

Another thing I have noticed is, IMHO, this line:

Code:
double percentage = 0.05 + (0.05 * FocusLevel)
is incorrect because, if you have a level 2 focus, you will have 0.05 + (0.05 * 2) that is 0.15, not 0.10.

So, the correct formula should be or as I said before in case you can obtain level 1 focus, or, if "no focus" means level 1 focus, at least:
Code:
double percentage = Math.Max (0.05, 0.05 * FocusLevel)
 

emoooo

Sorceror
Re: [In Development] Spellweaving as OSI

osd_daedalus;576475 said:
Another thing I have noticed is, IMHO, this line:

Code:
double percentage = 0.05 + (0.05 * FocusLevel)
is incorrect because, if you have a level 2 focus, you will have 0.05 + (0.05 * 2) that is 0.15, not 0.10.

So, the correct formula should be or as I said before in case you can obtain level 1 focus, or, if "no focus" means level 1 focus, at least:
Code:
double percentage = Math.Max (0.05, 0.05 * FocusLevel)


that chart at uo guide says that if you have 0 focus the target has to be dead. As I tested it with no arcane focus, I never got a "powerful" damage no matter how low the target was. So I guess this formula should be closer to what OSI is.
Code:
		double percentage = 0.05 * FocusLevel;
.
Something weird I noticed on my test server (not sure how it works on demise and can't log in right now) is that you can cast arcane circle alone and get lvl 1 Focus. You can't do that on OSI.
 
Re: [In Development] Spellweaving as OSI

emoooo;576573 said:
Something weird I noticed on my test server (not sure how it works on demise and can't log in right now) is that you can cast arcane circle alone and get lvl 1 Focus. You can't do that on OSI.

I bet it's a tweak applied in Demise and not in RunUO. I don't remember changes in RunUO when in Demise you weren't able to get a focus with mirror images.

It's OK then. That's a thing to consider in Arcane Circle. I prefer, though, people to be able to craft arcane circles before to apply this WoD change. A level 5 focus could be more than useful now.
 
Re: [In Development] Spellweaving as OSI

Word of Death corrected.

I have done a mistake: the base damage is still 300, as discussed here:
http://vboards.stratics.com/showthread.php?t=133452
The "666" mentioned in UOGuide is an extrapolated value that you obtain if you use arcane empowerment + reaper form + insane SDI gear.

Code:
Index: Scripts/Spells/Spellweaving/WordOfDeath.cs
===================================================================
--- Scripts/Spells/Spellweaving/WordOfDeath.cs    (revision 339)
+++ Scripts/Spells/Spellweaving/WordOfDeath.cs    (working copy)
@@ -41,17 +41,24 @@
 
                 Effects.SendMovingParticles( new Entity( Serial.Zero, loc, m.Map ), new Entity( Serial.Zero, m.Location, m.Map ), 0xF5F, 1, 0, true, false, 0x21, 0x3F, 0x251D, 0, 0, EffectLayer.Head, 0 );
 
-                int percentage = 5 + (5 * FocusLevel);
+                double percentage = 0.05 * FocusLevel;
 
                 int damage;
 
-                if( !m.Player && ((m.Hits / m.HitsMax)*100) < percentage )
+                if( !m.Player && (((double)m.Hits / (double)m.HitsMax) < percentage ))
                 {
                     damage = 300;
                 }
                 else
                 {
-                    damage = GetNewAosDamage( (int)Math.Max( Caster.Skills.Spellweaving.Value/24, 1 ) + 4, 1, 4, m );
+                    int minDamage = (int)Caster.Skills.Spellweaving.Value / 5;
+                    int maxDamage = (int)Caster.Skills.Spellweaving.Value / 3;
+                    damage = Utility.RandomMinMax(minDamage, maxDamage);
+                    int damageBonus = AosAttributes.GetValue( Caster, AosAttribute.SpellDamage );
+                    if (m.Player && damageBonus > 15)
+                        damageBonus = 15;
+                    damage *= damageBonus + 100;
+                    damage /= 100;
                 }
 
                 int[] types = new int[4];
@@ -86,4 +93,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
 

Attachments

  • WoD.diff
    1.4 KB · Views: 12
Re: [CODER NEEDED] Spellweaving as OSI

There is not much to code anymore here, just to decide when to put this fix.

My opinion is to put it as deferred until the arcane circle spell, plus pentagram/abbatoir/arcanecircle addon, are rewritten in a way they give a focus not according only by type of addon or location, but by a variable that is set as default values according to type of addon but can be changed by gamemasters.

I mean this: http://www.uodemise.com/forum/showthread.php?t=122732

one of those bugreports should be undeferred. Which one?
 
Status
Not open for further replies.
Top