Fixed bug relating to tracking current slayer task

This commit is contained in:
Ceikry
2023-03-31 00:04:59 +00:00
committed by Ryan
parent ebebb05af3
commit d431fec1ed
4 changed files with 15 additions and 7 deletions
@@ -170,6 +170,13 @@ class SlayerManager(val player: Player? = null) : LoginListener, PersistPlayer,
flags.setTask(task!!)
}
var activeTask: Tasks? = null
get() {
if (hasTask())
return flags.getTask()
return null
}
var master: Master?
get() = flags.getMaster()
set(master) {
+2 -2
View File
@@ -1747,7 +1747,7 @@ fun getPathableRandomLocalCoordinate(target: Entity, radius: Int, center: Locati
* @return the slayer task.
*/
fun getSlayerTask(player: Player): Tasks? {
return SlayerManager.getInstance(player).task
return SlayerManager.getInstance(player).activeTask
}
/**
@@ -1805,7 +1805,7 @@ fun getSlayerMasterLocation(player: Player): String {
*/
fun getSlayerTip(player: Player): Array<out String> {
return if (hasSlayerTask(player)) {
SlayerManager.getInstance(player).task?.tip!!
getSlayerTask(player)?.tip!!
} else {
arrayOf("You need something new to hunt.")
}
@@ -143,7 +143,7 @@ open class MeleeSwingHandler
val amuletName = (if(entity is Player) getItemFromEquipment(entity, EquipmentSlot.AMULET)?.name ?: "null" else "null").toLowerCase()
val victimName = entity.properties.combatPulse.getVictim()?.name ?: "none"
if(entity is Player && SlayerManager.getInstance(entity).task?.ids?.contains((entity.properties.combatPulse?.getVictim()?.id ?: 0)) == true)
if(entity is Player && getSlayerTask(entity)?.ids?.contains((entity.properties.combatPulse?.getVictim()?.id ?: 0)) == true)
effectiveAttackLevel *= SlayerEquipmentFlags.getDamAccBonus(entity) //Slayer Helm/ Black Mask/ Slayer cape
else if (entity is Player //Salve amulet
@@ -176,7 +176,7 @@ open class MeleeSwingHandler
cumulativeStr *= getSetMultiplier(entity, Skills.STRENGTH)
if(entity is Player && SlayerManager.getInstance(entity).task?.ids?.contains((entity.properties.combatPulse?.getVictim()?.id ?: 0)) == true)
if(entity is Player && getSlayerTask(entity)?.ids?.contains((entity.properties.combatPulse?.getVictim()?.id ?: 0)) == true)
cumulativeStr *= SlayerEquipmentFlags.getDamAccBonus(entity) //Slayer helm/black mask/skillcape
/*val hit = (16 + cumulativeStr + bonus / 8 + cumulativeStr * bonus * 0.016865) * modifier
@@ -1,6 +1,7 @@
package core.net.packet
import content.global.skill.slayer.SlayerManager
import core.api.*
import core.cache.Cache
import core.cache.def.impl.DataMap
import core.cache.def.impl.ItemDefinition
@@ -89,7 +90,7 @@ object QCRepository {
//My current slayer assignment is
else if(qcString.contains("My current Slayer assignment is")){
val amount = SlayerManager.getInstance(player!!).amount
val taskName = NPCDefinition.forId(SlayerManager.getInstance(player!!).task?.ids?.get(0) ?: 0).name.toLowerCase()
val taskName = getSlayerTask(player)?.name?.toLowerCase() ?: "None"
if(amount ?: 0 > 0){
qcString = qcString.replace("complete", "$amount $taskName")
}