Use race rune natural attack speed for unarmed players
Extend getNaturalAttackSpeed to resolve the rune from the attacker type: mobbase rune for mobs, race rune for players. Unarmed players now swing at their race rune speed (20 = 2.0 s per hand) instead of a flat 5000 ms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -215,11 +215,11 @@ public enum CombatManager {
|
||||
wepSpeed = 10; //Old was 10, but it can be reached lower with legit buffs,effects.
|
||||
|
||||
delay = (long)wepSpeed * 100L;
|
||||
} else if (attacker.getObjectType().equals(mbEnums.GameObjectType.Mob)) {
|
||||
} else {
|
||||
|
||||
//unarmed mob, use the natural attack speed from its rune
|
||||
//unarmed, use the natural attack speed from the mob or race rune
|
||||
|
||||
float naturalSpeed = getNaturalAttackSpeed((Mob) attacker, slot);
|
||||
float naturalSpeed = getNaturalAttackSpeed(attacker, slot);
|
||||
|
||||
if (naturalSpeed > 0) {
|
||||
|
||||
@@ -662,13 +662,28 @@ public enum CombatManager {
|
||||
|
||||
}
|
||||
|
||||
public static float getNaturalAttackSpeed(Mob mob, mbEnums.EquipSlotType slot) {
|
||||
public static float getNaturalAttackSpeed(AbstractCharacter attacker, mbEnums.EquipSlotType slot) {
|
||||
|
||||
// Returns the rune natural attack speed (x100 ms) for this hand, or 0 if the rune has none.
|
||||
// Mobs use their mobbase rune, players use their race rune.
|
||||
|
||||
ItemTemplate rune = ItemTemplate.templates.get(mob.loadID);
|
||||
int runeID;
|
||||
ItemTemplate rune;
|
||||
int hand = slot.equals(mbEnums.EquipSlotType.LHELD) ? 2 : 1;
|
||||
|
||||
switch (attacker.getObjectType()) {
|
||||
case Mob:
|
||||
runeID = ((Mob) attacker).loadID;
|
||||
break;
|
||||
case PlayerCharacter:
|
||||
runeID = ((PlayerCharacter) attacker).getRaceID();
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
rune = ItemTemplate.templates.get(runeID);
|
||||
|
||||
if (rune == null || rune.rune_natural_attacks.isEmpty())
|
||||
return 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user