Not really much info in your post. Is it paid work, work for free? What kind of actual work is it? Purely C# or is there website integration? Huge job or a small job?
 
I can make you a troll with a pink hue and a name like "Gorgoth the Stanky". Thats like top-tier custom though....pretty expensive.
 
Lol, sorry all, way to vague

It'd be paid work, I want to customize some weapon properties/effects to start with, to see how well it works.
 
If you aren't wanting to give everyone the details then you should request that we PM you with info or something but this is still too up in the air.
 
Quite right, probably because I haven't decided on what I want done yet, still a bit up in the air.

But basically what I'd like done, is the Hit XXX properties (fireball/lightning/magic arrow etc) to be altered, so there's a chance it will hit up to 5 additional targets within 5 spaces.
The percentage chance of such a hit, would be 1% for every 10% in the original Hit XXX property.
So 10% Hit Magic Arrow, would give you a 1% chance of 5 enemies within 5 tiles, being hit by a magic arrow
100% Hit Magic Arrow, would give you a 10% chance.

Does that make sense?

Basically I've been playing Diablo 3, perhaps a little too much and some of the weapon effects in it, might be handy on my shard.
 
My Price List:
  • Stupid Looks: Free
  • Unwanted Advice: Free
  • Glib Answers: Free
  • Copy/Paste from Google or Wikipedia: Free
  • Real code that works the way you want it: Priceless
For most things in life, a "Smile" or "Like" are sufficient. For the really good stuff...there's Paypal.
 
Yeah I could also help you with it, however all you would really have to do is locate the section of code that handles the onhit effects (that's what you are after), then preform a check, then a search if the check is true around 5 tiles of the hit creature, and any creature (up to max of whatever) gets the same onhit effect applied.
 
Sorry, couldn't resist..

It's fine, lol, I did laugh :)

Yeah I could also help you with it, however all you would really have to do is locate the section of code that handles the onhit effects (that's what you are after), then preform a check, then a search if the check is true around 5 tiles of the hit creature, and any creature (up to max of whatever) gets the same onhit effect applied.

Yea I did try it myself, but having no coding experience, it's a bit beyond me
What I did was looked in baseweapon for the hitmagicarrow and hitareadamage and tried to create a new entry (Class?) and merge the two, but I don't know how to make it actually do the proper damage and animation.

This is what I added to baseweapon:

Below this:
int maChance = (int)(AosWeaponAttributes.GetValue(attacker, AosWeaponAttribute.HitMagicArrow) * propertyBonus);

I added:
int maChance = (int)(AosWeaponAttributes.GetValue(attacker, AosWeaponAttribute.HitMagicArrow) * propertyBonus);
int maAChance = (int)(AosWeaponAttributes.GetValue(attacker, AosWeaponAttribute.HitMagicArrow) * propertyBonus / 100);

(I'm assuming it would then calculate the odds at Hitmagicarrow property divided by 100, thus 100% magic arrow = 10% hit magic arrow area)

Now, I thought the easiest way to do the next part, was to simply copy and alter the hitareadamage code, as it already has the targetting bit in it (5 mobiles in range bit)

So I added:

if (maChance != 0 && maChance > Utility.Random(100))
DoMagicArrow(attacker, defender);

if (maAChance != 0 && maAChance > Utility.Random(100))
DoMagicArrowA(attacker, defender, 0x1F1, 120, 0, 100, 0, 0, 0);


As it's fire damage, I made it 0,100,0,0,0

This is the hitmagicarrow code and the code I copied/pasted/butchered:

Code:
  public virtual void DoMagicArrow(Mobile attacker, Mobile defender)
  {
  if (!attacker.CanBeHarmful(defender, false))
  return;

  attacker.DoHarmful(defender);

  double damage = GetAosDamage(attacker, 50, 5, 10);

  attacker.MovingParticles(defender, 0x36E4, 5, 0, false, true, 3006, 4006, 0);
  attacker.PlaySound(0x1E5);

  SpellHelper.Damage(TimeSpan.FromSeconds(1.0), defender, attacker, damage, 0, 100, 0, 0, 0);
  }
  
  public virtual void DoMagicArrowA(Mobile from, Mobile defender, int sound, int hue, int phys, int fire, int cold, int pois, int nrgy)
  {
  Map map = from.Map;

  if (map == null)
  return;

  List<Mobile> list = new List<Mobile>();

  foreach (Mobile m in from.GetMobilesInRange(5))
  {
  if (m == null || m is BaseCreature && (((BaseCreature)m).Controlled || m is BaseVendor || ((BaseCreature)m).Summoned) || m.Deleted || m is PlayerMobile || m.Map != map || !m.Alive || m.IsDeadBondedPet)
  continue;
  if (m is BaseCreature)
  list.Add(m);
  }

  if (list.Count == 0)
  return;

  Effects.PlaySound(from.Location, map, sound);

  // TODO: What is the damage calculation?

  for (int i = 0; i < list.Count; ++i)
  {
  Mobile m = list[i];

  double scalar = (15 - from.GetDistanceToSqrt(m)) / 10;

  if (scalar > 1.0)
  scalar = 1.0;
  else if (scalar < 0.0)
  continue;

  from.DoHarmful(m, true);
  double damage = GetAosDamage(from, 50, 5, 10);
  defender.MovingParticles(m, 0x36E4, 5, 0, false, true, 3006, 4006, 0);
  AOS.Damage(m, from, (int)(GetBaseDamage(from) * scalar), phys, fire, cold, pois, nrgy);
  }
  }

I think I'm getting there...wait, I did it! haha
I think 5 spaces is a bit much though, that'd be insanely laggy at a champ.

Screenshot 2015-02-26 23.31.04.png
 
Ok it kinda works, didn't notice the magic arrows are coming from the monster instead of me
In some ways it kinda looks better, as it's like the arrow is splitting into shards and bouncing off the creature
haha
 
Thanks Zero, yea I did try it both ways, but it kinda looks better with the magic arrows/fireballs richocheting off the original target (I think so anyways) :p
 
Even better if you add a timer callback delay so that they blossom off the first target after the first one hits.
 

Active Shards

Donations

Total amount
$0.00
Goal
$1,000.00
Back