Fixed bug relating to tracking current slayer task
This commit is contained in:
@@ -170,6 +170,13 @@ class SlayerManager(val player: Player? = null) : LoginListener, PersistPlayer,
|
|||||||
flags.setTask(task!!)
|
flags.setTask(task!!)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var activeTask: Tasks? = null
|
||||||
|
get() {
|
||||||
|
if (hasTask())
|
||||||
|
return flags.getTask()
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
var master: Master?
|
var master: Master?
|
||||||
get() = flags.getMaster()
|
get() = flags.getMaster()
|
||||||
set(master) {
|
set(master) {
|
||||||
|
|||||||
@@ -1747,7 +1747,7 @@ fun getPathableRandomLocalCoordinate(target: Entity, radius: Int, center: Locati
|
|||||||
* @return the slayer task.
|
* @return the slayer task.
|
||||||
*/
|
*/
|
||||||
fun getSlayerTask(player: Player): Tasks? {
|
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> {
|
fun getSlayerTip(player: Player): Array<out String> {
|
||||||
return if (hasSlayerTask(player)) {
|
return if (hasSlayerTask(player)) {
|
||||||
SlayerManager.getInstance(player).task?.tip!!
|
getSlayerTask(player)?.tip!!
|
||||||
} else {
|
} else {
|
||||||
arrayOf("You need something new to hunt.")
|
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 amuletName = (if(entity is Player) getItemFromEquipment(entity, EquipmentSlot.AMULET)?.name ?: "null" else "null").toLowerCase()
|
||||||
val victimName = entity.properties.combatPulse.getVictim()?.name ?: "none"
|
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
|
effectiveAttackLevel *= SlayerEquipmentFlags.getDamAccBonus(entity) //Slayer Helm/ Black Mask/ Slayer cape
|
||||||
|
|
||||||
else if (entity is Player //Salve amulet
|
else if (entity is Player //Salve amulet
|
||||||
@@ -176,7 +176,7 @@ open class MeleeSwingHandler
|
|||||||
|
|
||||||
cumulativeStr *= getSetMultiplier(entity, Skills.STRENGTH)
|
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
|
cumulativeStr *= SlayerEquipmentFlags.getDamAccBonus(entity) //Slayer helm/black mask/skillcape
|
||||||
|
|
||||||
/*val hit = (16 + cumulativeStr + bonus / 8 + cumulativeStr * bonus * 0.016865) * modifier
|
/*val hit = (16 + cumulativeStr + bonus / 8 + cumulativeStr * bonus * 0.016865) * modifier
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package core.net.packet
|
package core.net.packet
|
||||||
|
|
||||||
import content.global.skill.slayer.SlayerManager
|
import content.global.skill.slayer.SlayerManager
|
||||||
|
import core.api.*
|
||||||
import core.cache.Cache
|
import core.cache.Cache
|
||||||
import core.cache.def.impl.DataMap
|
import core.cache.def.impl.DataMap
|
||||||
import core.cache.def.impl.ItemDefinition
|
import core.cache.def.impl.ItemDefinition
|
||||||
@@ -89,7 +90,7 @@ object QCRepository {
|
|||||||
//My current slayer assignment is
|
//My current slayer assignment is
|
||||||
else if(qcString.contains("My current Slayer assignment is")){
|
else if(qcString.contains("My current Slayer assignment is")){
|
||||||
val amount = SlayerManager.getInstance(player!!).amount
|
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){
|
if(amount ?: 0 > 0){
|
||||||
qcString = qcString.replace("complete", "$amount $taskName")
|
qcString = qcString.replace("complete", "$amount $taskName")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user