This commit is contained in:
Tooze 2026-06-10 21:39:08 -04:00
parent 5291b13ff7
commit 2437d287f2
3 changed files with 11 additions and 17 deletions

View file

@ -23,10 +23,8 @@ val PENANCE_FIGHTER_IDS = listOf(
NPCs.PENANCE_FIGHTER_5044,NPCs.PENANCE_FIGHTER_5045,NPCs.PENANCE_FIGHTER_5213,
NPCs.PENANCE_FIGHTER_5214,NPCs.PENANCE_FIGHTER_5215,NPCs.PENANCE_FIGHTER_5216,
NPCs.PENANCE_FIGHTER_5217,NPCs.PENANCE_FIGHTER_5218,NPCs.PENANCE_FIGHTER_5219)
data class PenanceFighterDefinition(val id: Int,val hp: Int,val attack: Int,val strength: Int, val defence: Int, val range: Int, val magic: Int)
data class PenanceFighterDefinition(val id: Int,val hp: Int,val attack: Int,val strength: Int, val defence: Int, val range: Int, val magic: Int){
companion object { val BY_ID = PENANCE_FIGHTER_DEFINITIONS.associateBy { it.id } }
}
val PENANCE_FIGHTER_DEFINITIONS = listOf(
PenanceFighterDefinition(NPCs.PENANCE_FIGHTER_5044, 28, 26, 26, 25, 1, 1),
PenanceFighterDefinition(NPCs.PENANCE_FIGHTER_5045, 29, 28, 29, 27, 1, 1),
@ -38,7 +36,7 @@ val PENANCE_FIGHTER_DEFINITIONS = listOf(
PenanceFighterDefinition(NPCs.PENANCE_FIGHTER_5218, 55, 60, 61, 62, 1, 1),
PenanceFighterDefinition(NPCs.PENANCE_FIGHTER_5219, 56, 71, 73, 66, 1, 1),
)
val PENANCE_FIGHTER_DEFINITIONS_BY_ID = PENANCE_FIGHTER_DEFINITIONS.associateBy { it.id }
class PenanceFighterNPC : NPCBehavior(*PENANCE_FIGHTER_IDS.toIntArray()) {
override fun canBeAttackedBy(self: NPC, attacker: Entity, style: CombatStyle, shouldSendMessage: Boolean): Boolean {
if (attacker is Player && getItemFromEquipment(attacker, EquipmentSlot.CAPE)?.id != 10556) {
@ -82,7 +80,7 @@ class PenanceFighterNPC : NPCBehavior(*PENANCE_FIGHTER_IDS.toIntArray()) {
self.properties.deathAnimation = Animation(5098)
self.properties.attackSpeed = 4
val definition = PenanceFighterDefinition.BY_ID[self.id] ?: return
val definition = PENANCE_FIGHTER_DEFINITIONS_BY_ID[self.id] ?: return
self.getSkills().setStaticLevel(Skills.ATTACK, definition.attack)
self.getSkills().setStaticLevel(Skills.STRENGTH, definition.strength)
@ -109,4 +107,4 @@ class PenanceFighterNPC : NPCBehavior(*PENANCE_FIGHTER_IDS.toIntArray()) {
//Fighter_Attack_5097
//5096 take hit
//5095_Move
//9094_Idle
//9094_Idle

View file

@ -26,9 +26,8 @@ val PENANCE_HEALER_IDS = intArrayOf(
NPCs.PENANCE_HEALER_5241,NPCs.PENANCE_HEALER_5242,NPCs.PENANCE_HEALER_5243,
NPCs.PENANCE_HEALER_5244,NPCs.PENANCE_HEALER_5245,NPCs.PENANCE_HEALER_5246
)
data class PenanceHealerDefinition(val id: Int,val hp: Int,val attack: Int,val strength: Int, val defence: Int, val range: Int, val magic: Int){
companion object { val BY_ID = PENANCE_HEALER_DEFINITIONS.associateBy { it.id } }
}
data class PenanceHealerDefinition(val id: Int,val hp: Int,val attack: Int,val strength: Int, val defence: Int, val range: Int, val magic: Int)
val PENANCE_HEALER_DEFINITIONS = listOf(
PenanceHealerDefinition(NPCs.PENANCE_HEALER_5238, 27, 9, 8, 9, 1, 1 ),
PenanceHealerDefinition(NPCs.PENANCE_HEALER_5239, 32, 13, 15, 14, 1, 1 ),
@ -40,6 +39,7 @@ val PENANCE_HEALER_DEFINITIONS = listOf(
PenanceHealerDefinition(NPCs.PENANCE_HEALER_5245, 67, 40, 38, 36, 1, 1 ),
PenanceHealerDefinition(NPCs.PENANCE_HEALER_5246, 76, 40, 44, 38, 1, 1 ),
)
val PENANCE_HEALER_DEFINITIONS_BY_ID = PENANCE_HEALER_DEFINITIONS.associateBy { it.id }
class PenanceHealerNPC : NPCBehavior(*PENANCE_HEALER_IDS) {
private enum class HealerMode { TARGET_PLAYER, TARGET_RUNNER, WANDER }
@ -71,7 +71,7 @@ class PenanceHealerNPC : NPCBehavior(*PENANCE_HEALER_IDS) {
self.properties.deathAnimation = Animation(5106)
self.properties.attackAnimation = Animation(5107)
val definition = PenanceHealerDefinition.BY_ID[self.id] ?: return
val definition = PENANCE_HEALER_DEFINITIONS_BY_ID[self.id] ?: return
self.getSkills().setStaticLevel(Skills.ATTACK, definition.attack)
self.getSkills().setStaticLevel(Skills.STRENGTH, definition.strength)

View file

@ -4,8 +4,6 @@ import content.minigame.barbassault.BarbRole
import content.minigame.barbassault.arena.BarbAssEvent
import content.minigame.barbassault.arena.BACombatValidation
import content.minigame.barbassault.arena.PenanceType
import content.minigame.barbassault.arenas.monsters.PENANCE_FIGHTER_DEFINITIONS
import content.minigame.barbassault.arenas.monsters.PenanceFighterDefinition
import content.minigame.barbassault.getBASession
import core.api.*
import core.api.getItemFromEquipment
@ -26,10 +24,8 @@ val PENANCE_RANGER_IDS = listOf(
NPCs.PENANCE_RANGER_5232,NPCs.PENANCE_RANGER_5233,NPCs.PENANCE_RANGER_5234,
NPCs.PENANCE_RANGER_5235,NPCs.PENANCE_RANGER_5236,NPCs.PENANCE_RANGER_5237
)
data class PenanceRangerDefinition(val id: Int,val hp: Int,val attack: Int,val strength: Int, val defence: Int, val range: Int, val magic: Int)
data class PenanceRangerDefinition(val id: Int,val hp: Int,val attack: Int,val strength: Int, val defence: Int, val range: Int, val magic: Int){
companion object { val BY_ID = PENANCE_RANGER_DEFINITIONS.associateBy { it.id } }
}
val PENANCE_RANGER_DEFINITIONS = listOf(
PenanceRangerDefinition(NPCs.PENANCE_RANGER_5229, 20, 22, 1, 21, 23, 1),
PenanceRangerDefinition(NPCs.PENANCE_RANGER_5230, 28, 27, 1, 29, 24, 1),
@ -41,6 +37,7 @@ val PENANCE_RANGER_DEFINITIONS = listOf(
PenanceRangerDefinition(NPCs.PENANCE_RANGER_5236, 54, 69, 1, 68, 70, 1),
PenanceRangerDefinition(NPCs.PENANCE_RANGER_5237, 58, 79, 1, 80, 78, 1),
)
val PENANCE_RANGER_DEFINITIONS_BY_ID = PENANCE_RANGER_DEFINITIONS.associateBy { it.id }
class PenanceRangerNPC : NPCBehavior(*PENANCE_RANGER_IDS.toIntArray()) {
override fun canBeAttackedBy(self: NPC, attacker: Entity, style: CombatStyle, shouldSendMessage: Boolean): Boolean {
@ -80,8 +77,7 @@ class PenanceRangerNPC : NPCBehavior(*PENANCE_RANGER_IDS.toIntArray()) {
self.properties.rangeAnimation = Animation(5395)
self.properties.deathAnimation = Animation(5397)
self.properties.attackSpeed = 4
val definition = PenanceRangerDefinition.BY_ID[self.id] ?: return
val definition = PENANCE_RANGER_DEFINITIONS_BY_ID[self.id] ?: return
self.getSkills().setStaticLevel(Skills.ATTACK, definition.attack)
self.getSkills().setStaticLevel(Skills.STRENGTH, definition.strength)