Files
Runelite-EssentialsPlus/src/main/java/com/example/essentialsplus/loot/gear/PlayerSetup.java
T
2026-09-18 17:18:57 +02:00

50 lines
1.8 KiB
Java

package com.example.essentialsplus.loot.gear;
/**
* Levels, prayers and the selected attack style of the local player. Prayer values are multipliers
* (1.0 = no prayer); magic damage prayer is in percent.
*/
public final class PlayerSetup
{
public static final PlayerSetup DEFAULT = new PlayerSetup(99, 99, 99, 99, 99, 99, 1, 1, 1, 1, 1, 0, -1, 0, -1, false);
public final int attack, strength, defence, ranged, magic, hitpoints;
public final double meleeAcc, meleeStr, rangedAcc, rangedStr, magicAcc;
public final int magicDmgPct;
/** varbit COMBAT_WEAPON_CATEGORY, -1 unknown */
public final int weaponCategory;
/** varp COM_MODE (0..3 buttons, 4 casting, 5 defensive casting when autocasting) */
public final int comMode;
/** varbit AUTOCAST_SPELL, -1/0 none */
public final int autocastSpell;
public final boolean onSlayerTask;
public PlayerSetup(int attack, int strength, int defence, int ranged, int magic, int hitpoints,
double meleeAcc, double meleeStr, double rangedAcc, double rangedStr, double magicAcc, int magicDmgPct,
int weaponCategory, int comMode, int autocastSpell, boolean onSlayerTask)
{
this.attack = attack;
this.strength = strength;
this.defence = defence;
this.ranged = ranged;
this.magic = magic;
this.hitpoints = hitpoints;
this.meleeAcc = meleeAcc;
this.meleeStr = meleeStr;
this.rangedAcc = rangedAcc;
this.rangedStr = rangedStr;
this.magicAcc = magicAcc;
this.magicDmgPct = magicDmgPct;
this.weaponCategory = weaponCategory;
this.comMode = comMode;
this.autocastSpell = autocastSpell;
this.onSlayerTask = onSlayerTask;
}
public PlayerSetup withSlayerTask(boolean task)
{
return task == onSlayerTask ? this : new PlayerSetup(attack, strength, defence, ranged, magic, hitpoints,
meleeAcc, meleeStr, rangedAcc, rangedStr, magicAcc, magicDmgPct, weaponCategory, comMode, autocastSpell, task);
}
}