TL DR :
Contre les tourelles :
-
Canon Les serviteurs sont le meilleur lors de la promotion+baron, et à peu près aussi bon que mêlée alors qu'ils n'ont que la promotion.
-
Caster les minions jouent le pire lorsqu'il est promu, ou promu+baron.
Contre les sbires :
-
Mêlée sont le meilleur avec promouvoir, ou promouvoir+baron.
-
Canons avec promo+baron sont les pires (car baron réduit leur vitesse d'attaque de 50%).
Réponse complète
[...] il devrait être assez trivial de calculer les stats offensives totales et les dps finaux d'un minion.
Pas vraiment. Cela peut être assez complexe.
Minions obtenir un bonus différent de baron y promouvoir selon qu'ils sont mêlée , roulettes ou canons . Pour vérifier lequel traite le plus d amage p er s econd (dps), nous ne tiendrons pas compte de la durée de leur survie (évidemment, un canon à distance subira moins de dégâts de la part des ennemis qu'un minion de mêlée).
Pour ce faire, nous multiplions leurs dégâts d'attaque totaux par leur vitesse d'attaque finale. Puis nous appliquons des bonus multiplicatifs. Les sbires infligent un bonus de dégâts aux tours, et ont une pénalité sur les champions (mais les champions ne sont pas examinés dans cette réponse).
Toute réduction des dommages (par exemple, armure, résistance à la magie, etc.) n'est pas prise en compte. les valeurs de dps ci-dessous sont non atténuées . Enfin, le temps de jeu est fixé à 30.
Les résultats sont :
=======================================================================
Minion: caster
----------------------------------------
VS turrets
promote
DPS: 154.2
Baron + promote
DPS: 180.3
----------------------------------------
VS minions
promote
DPS: 102.8
Baron + promote
DPS: 120.2
========================================================================
Minion: melee
----------------------------------------
VS turrets
promote
DPS: 256.5
Baron + promote
DPS: 256.5
----------------------------------------
VS minions
promote
DPS: 171.0
Baron + promote
DPS: 299.2
===========================================================================
Minion: siege
----------------------------------------
VS turrets
promote
DPS: 254.2
Baron + promote
DPS: 329.2
----------------------------------------
VS minions
promote
DPS: 169.5
Baron + promote
DPS: 109.8
C'est le Python 3.4 code que j'ai écrit et utilisé pour les résultats ci-dessus :
raw_minion_stats = dict(
caster=dict(
att_dmg=23,
att_dmg_per_90_sec=1,
att_speed=0.670,
multiplicative_dmg_bonus_vs_turrets=1.5),
melee=dict(
att_dmg=12,
att_dmg_per_90_sec=0.5,
att_speed=1.250,
multiplicative_dmg_bonus_vs_turrets=1.5),
siege=dict(
att_dmg=39.5,
att_dmg_per_90_sec=1.5,
att_speed=1.000,
multiplicative_dmg_bonus_vs_turrets=1.5))
promote_buff_stats = dict(
caster=dict(
att_dmg=75,
att_speed_bonus=0.3),
melee=dict(
att_dmg=50,
att_speed_bonus=0.9),
siege=dict(
att_dmg=100,
# Since it would deal aoe dmg, we can assume it would hit 3 minions simultaneously.
multiplicative_dmg_bonus_vs_minions=3))
baron_buff_stats = dict(
caster=dict(
att_dmg=20),
melee=dict(
extra_percent_dmg_vs_minions=0.75,
),
siege=dict(
att_dmg=50,
att_speed_bonus=-0.5,
extra_percent_dmg_vs_turrets=1))
def final_att_dmg(minion_name, game_time, buffs_dcts):
"""
Returns total att_dmg after applying all bonuses.
:param minion_name: 'caster', 'melee' or 'cannon'
:param game_time: (int) Game time in minutes.
:param buffs_dcts: (list) List of buff dicts.
:return: (float)
"""
# Base attack damage
val = raw_minion_stats[minion_name]['att_dmg']
# Bonus by time
att_dmg_per_min = raw_minion_stats[minion_name]['att_dmg_per_90_sec'] / 1.5
val += att_dmg_per_min * game_time
# Bonus by buffs
for dct in buffs_dcts:
minion_buff_dct = dct[minion_name]
if 'att_dmg' in minion_buff_dct:
val += minion_buff_dct['att_dmg']
return val
def final_att_speed(minion_name, buffs_dcts):
# Base attack damage
val = raw_minion_stats[minion_name]['att_speed']
# Bonus by buffs
bonus_val = 0
for dct in buffs_dcts:
minion_buff_dct = dct[minion_name]
if 'att_speed_bonus' in minion_buff_dct:
bonus_val += minion_buff_dct['att_speed_bonus']
return val * (1 + bonus_val)
def unmitigated_dps(minion_name, game_time, buffs_dcts, versus):
"""
Calculates dmg per second of a minion with given buffs versus selected target,
without taking into account dmg resistances of target.
(Champion unmitigated_dps not available yet.)
DPS is irrelevant of combat duration.
:param versus: 'minions', or 'turrets'
:return:
"""
att_dmg = final_att_dmg(minion_name=minion_name, game_time=game_time, buffs_dcts=buffs_dcts)
att_speed = final_att_speed(minion_name=minion_name, buffs_dcts=buffs_dcts)
val = att_dmg * att_speed
extra_percent_dmg_keyword = 'extra_percent_dmg_vs_' + versus
for dct in buffs_dcts:
minion_buff_dct = dct[minion_name]
if extra_percent_dmg_keyword in minion_buff_dct:
val *= 1 + minion_buff_dct[extra_percent_dmg_keyword]
# Minions' final dmg gets a bonus vs turrets and a penalty vs champions.
multiplicative_bonus_keyword = ''
if versus == 'turrets':
multiplicative_bonus_keyword = 'multiplicative_dmg_bonus_vs_' + versus
elif versus == 'minions':
multiplicative_bonus_keyword = 'multiplicative_dmg_bonus_vs_' + versus
if multiplicative_bonus_keyword in raw_minion_stats[minion_name]:
val *= raw_minion_stats[minion_name][multiplicative_bonus_keyword]
return val
# =====================================================================================================================
# DISPLAY RESULTS
selected_game_time_in_minutes = 30
# All minions:
for _minion_name in sorted(raw_minion_stats):
msg = '\n' + '='*60
msg += '\nMinion: {}'.format(_minion_name)
for tar_name in ('turrets', 'minions'):
msg += '\n' + '-'*40
msg += '\nVS {}\n'.format(tar_name)
# promote
msg += '\npromote'
minion_dps = unmitigated_dps(minion_name=_minion_name,
game_time=selected_game_time_in_minutes,
buffs_dcts=[promote_buff_stats, ],
versus=tar_name)
msg += '\nDPS: {:.1f}'.format(minion_dps)
msg += '\n'
# Baron + promote
msg += '\nBaron + promote'
minion_dps = unmitigated_dps(minion_name=_minion_name,
game_time=selected_game_time_in_minutes,
buffs_dcts=[baron_buff_stats, promote_buff_stats],
versus=tar_name)
msg += '\nDPS: {:.1f}\n'.format(minion_dps)
print(msg)
Bien que je a fait vérifier certains des résultats (et ils semblaient raisonnables), je n'ai pas tout testé. Si vous trouvez une erreur, faites-le moi savoir.
0 votes
Dépend de l'étape du jeu. Les sbires deviennent plus forts.
0 votes
@DropDeadSander-EUW Je sais, c'est pourquoi je mentionne 35 minutes. Ça devrait être à peu près quand le premier baron meurt.