Full Version : artifact chance
xmlspawner >>Scripting Support >>artifact chance
<< Prev | Next >>
darkwinters- 02-06-2006
i am messed up with artifact chances
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
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
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
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 ). 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
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 are you sure that,that is rare?
ArteGordon- 02-08-2006
they must have just gotten lucky.