Open przemyslawwalczak opened 10 years ago
Yea we already have a way to keep track of what character does how much damage too a monster. AttackerCollection.
For something like two people get the highest amount of damage at 1000 It could either roll for both, or roll for 1 or the other picking one person too get the loot.
There is also some monsters who drop an amount of silver for their killer, we could split this up on a ratio of how much damage was done overall by each person.
The idea to make the drop system is:
Some monsters reward extra silver.
var silverGain = 0;
switch (monsterID) {
case 391: // Mutant Arm Titan
silverGain = 100000;
break;
case 392: // Titan Corpse Zombie
silverGain = 300000;
break;
case 393: // Titan Yeti
silverGain = 500000;
break;
case 394: // Blue Flame Fu
case 395: // Blue Flame Fu
case 396: // Blue Flame Fu
silverGain = 700000;
break;
case 397: // Lord of Azrael
case 398: // Lord of Azrael
case 399: // Lord of Azrael
silverGain = 1000000;
break;
}
Loop all clients near monster on death within 200 units. Only gained if.
if (client.character.level - monster.info.level <= 20 && client.character.state.Location.distanceFrom(monster.Location) <= 200.0 ) {
}
Some drops appear to be based on level.
Like couple other games such as World of Warcraft or Diablo 3 has drop systems which I personally like and I suggest implementing one of (less advanced ofcourse) them in the future that can be be enabled from config file.
So an example would be an HEOLGO event where you kill bosses in a hall. I was watching other day a video where people was only ks'ing a mob while 'stealing' the loot from others who worked so hard to bring them down. I suggest to keep those events and rolls for unique and rare items for each player separately. So if everyone gets lucky, they get rares.
This idea fixes the issues of ksing good stuff, so the game will be more based on team work and everyone would have a chance to upgrade the gear after events such like that one!