Full Version : artifact chance
xmlspawner >>Scripting Support >>artifact chance


<< Prev | Next >>

darkwinters- 02-06-2006
i am messed up with artifact chances sad.gif
i modified the default one with this
CODE

public static int GetArtifactChance( Mobile boss )
 {
  if ( !Core.AOS )
   return 0;

  int luck = LootPack.GetLuckChanceForKiller( boss );
  int chance;

if ( boss is DemonKnight )
  chance = 50 + ((luck / 4) / 24);  // 0.10
else
  chance = 38 + ((luck / 4) / 100); // 0.05

  return chance;
 }

 public static bool CheckArtifactChance( Mobile boss )
 {
  return GetArtifactChance( boss ) > Utility.Random( 100000 );
 }

but now no one can drop arties.i want it to drop arties very rare but not impossible sad.gif

ArteGordon- 02-06-2006
chance = 50 + ((luck / 4) / 24); // 0.10

your formula will just make it extremely rare. With luck of 1000

the chance is approximately 50 + (1000/4)/24, which is about 60

That is 60 out of 100000

or 6 out of 10000

or 1 time out of 1667

You just need to scale up your numbers if you want to increase the drop probability.

I dont know what you consider "very rare" so I dont know what numbers to recommend.

darkwinters- 02-06-2006
my formula is not rare its impossible smile.gif
i want it to be rare but dont want to drop arties easyly
what do you recommend?

ArteGordon- 02-06-2006
why do you say that it is impossible?

It is a 1 out of 1667 chance.

I dont know what you consider to be very rare? 1 out of a 1000? 1 out of 300? Whatever you want you can adjust the formula to achieve.

(edit)

the default formula gives about a 1 in 100 chance

darkwinters- 02-06-2006
its impossible because my shard is a 1 month old shard and nobody ever drop an artie smile.gif
it can be 2 out of 1000 for df and 1 out of 1000 for doom bosses.

Dian- 02-06-2006
I would suggest if your shards new, and small player base start out with a 1/10 or so chance to drop. then as playerbase grows a bit reduce to 1/20 or 1/50. After all, it does take them good amount of time to kill em, right?

Or if its easier to kill them, up the chance to 1/30 to start. thats still a rare chance if it takes an hour to kill the boss.

ArteGordon- 02-06-2006
well, with your current odds they would have to have killed thousands of them to see a drop.

To be 2 out of 1000, that is the same as 200 out of 100000, so you want your formula to give you a value of around 200.

Also, with your additional scaling of luck, you basically have made it irrelevant. If thats what you want.

chance = 150 + (luck /20);

would give you 2 out of 1000 with luck at 1000

chance = 50 + (luck /20);

would give you 1 out of 1000 with luck at 1000

But be aware, that even 2 out of 1000 is pretty rare. At that rate, to even see a drop in a month, they would have to kill around 1 per hour, 24 hours a day, every single day, for a month.
And it is likely that even at that rate, they might see nothing for a month.

ArteGordon- 02-06-2006
yeah, I agree with Dian. Using the default calculation of

QUOTE


  public static int GetArtifactChance( Mobile boss )
  {
  if ( !Core.AOS )
    return 0;

  int luck = LootPack.GetLuckChanceForKiller( boss );
  int chance;

  if ( boss is DemonKnight )
    chance = 1500 + (luck / 5);
  else
    chance = 750 + (luck / 10);

  return chance;
  }


with luck of around 1000, that gives you a 1.7% and 0.85% chance of a drops.

darkwinters- 02-06-2006
CODE

public static int GetArtifactChance( Mobile boss )
 {
 if ( !Core.AOS )
   return 0;

 int luck = LootPack.GetLuckChanceForKiller( boss );
 int chance;

 if ( boss is DemonKnight )
   chance = 1500 + (luck / 5);
 else
   chance = 750 + (luck / 10);

 return chance;
 }

arte i want to make this little harder than this
what do you prefer?

ArteGordon- 02-06-2006
QUOTE

with luck of around 1000, that gives you a 1.7% and 0.85% chance of a drops.


1.7% is about a 1 in 60 and 0.85% is about a 1 in 120 chance.

I would consider those to be reasonable rates, but for a smaller player base, even those could be difficult.

Odee- 02-06-2006
Well, I see this is a more complex drop script for artifacts. I have never worked with Drop Chance like that. Take a look at this. It is for a mobile drop rate.

CODE

 switch ( Utility.Random( 15 ) )
 {
  case 0: PackItem( new BracersoftheEntLord() ); break;
  case 1: PackItem( new ChestoftheEntLord() ); break;
  case 2: PackItem( new ChokeroftheEntLord() ); break;
  case 3: PackItem( new FemaleChestoftheEntLord() ); break;
  case 4: PackItem( new HeaddressoftheEntLord() ); break;
  case 5: PackItem( new LeggingsoftheEntLord() ); break;
  case 6: PackItem( new SleevesoftheEntLord() ); break;
 }



Basically what its saying is taht the number, 15, is the chance it will drop (out of 100%, correct me if Im wrong please, because I may have been looking at this the wrong way for a LONG time tongue.gif). The items, of course, are the items that it will drop, given the random drop chance. I hope this benefits you somehow. Maybe an easier way for you to drop arties on Mobiles smile.gif

darkwinters- 02-08-2006
QUOTE (darkwinters @ Feb 6 2006, 08:19 PM)
CODE

public static int GetArtifactChance( Mobile boss )
 {
 if ( !Core.AOS )
   return 0;

 int luck = LootPack.GetLuckChanceForKiller( boss );
 int chance;

 if ( boss is DemonKnight )
   chance = 1500 + (luck / 5);
 else
   chance = 750 + (luck / 10);

 return chance;
 }

arte i want to make this little harder than this
what do you prefer?
i think this one is
1.7% is about a 1 in 60 and 0.85% is about a 1 in 120 chance
can we make 1 in 500 to df and 1 in 450bosses

ArteGordon- 02-08-2006
for a 1 in 500 chance, you want this calculation

chance = 1500 + (luck / 5);

to give a value of of 200 (which is 100000/500)

So you can adjust the luck factor as you like.

if you make it

chance = 200 + (luck / 5);

then with zero luck there will be a 1 in 500 chance, with 1000 luck there will be a 1 in 250 chance.

For a 1 in 450 chance, you want the value to be (100000/450) or about 222

so, again, just adjust the numbers accordingly.

But I will tell you, if you thought that your previous odds of 1 in 1600 were impossible, then these are not going to seem much different. See previous posts for comments.

darkwinters- 02-08-2006
but with this set
CODE

public static int GetArtifactChance( Mobile boss )
{
if ( !Core.AOS )
  return 0;

int luck = LootPack.GetLuckChanceForKiller( boss );
int chance;

if ( boss is DemonKnight )
  chance = 1500 + (luck / 5);
else
  chance = 750 + (luck / 10);

return chance;
}

they dropped 5 artifacts in one day sad.gif are you sure that,that is rare?

ArteGordon- 02-08-2006
they must have just gotten lucky.