RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.content.activity.infernomobs.JalAk Class Reference
Inheritance diagram for com.runehive.content.activity.infernomobs.JalAk:
Collaboration diagram for com.runehive.content.activity.infernomobs.JalAk:

Classes

class  CrushMelee
class  Mage
class  Ranged

Public Member Functions

void block (Mob attacker, Npc defender, Hit hit, CombatType combatType)
boolean canAttack (Npc attacker, Mob defender)
void finishOutgoing (Npc attacker, Mob defender)
int getAttackDelay (Npc attacker, Mob defender, FightType fightType)
void hit (Npc attacker, Mob defender, Hit hit)
 JalAk ()
boolean withinDistance (Npc attacker, Mob defender)
Public Member Functions inherited from com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy
void attack (Npc attacker, Mob defender, Hit hit)
boolean canOtherAttack (Mob attacker, Npc defender)
void finishIncoming (Mob attacker, Npc defender)
Animation getAttackAnimation (Npc attacker, Mob defender)
int getAttackDistance (Npc attacker, FightType fightType)
CombatType getCombatType ()
CombatHit[] getHits (Npc attacker, Mob defender)
void hitsplat (Npc attacker, Mob defender, Hit hit)
int modifyAccuracy (Npc attacker, Mob defender, int roll)
int modifyAggressive (Npc attacker, Mob defender, int roll)
int modifyAggressiveBonus (Npc attacker, Mob defender, int bonus)
int modifyAttackLevel (Npc attacker, Mob defender, int level)
int modifyDamage (Npc attacker, Mob defender, int damage)
int modifyDefenceLevel (Mob attacker, Npc defender, int level)
int modifyDefensive (Mob attacker, Npc defender, int roll)
int modifyDefensiveBonus (Mob attacker, Npc defender, int bonus)
int modifyMagicLevel (Npc attacker, Mob defender, int level)
int modifyOffensiveBonus (Npc attacker, Mob defender, int bonus)
int modifyRangedLevel (Npc attacker, Mob defender, int level)
int modifyStrengthLevel (Npc attacker, Mob defender, int level)
void onDamage (Npc defender, Hit hit)
void onDeath (Mob attacker, Npc defender, Hit hit)
void onKill (Npc attacker, Mob defender, Hit hit)
void preDeath (Mob attacker, Npc defender, Hit hit)
void preKill (Mob attacker, Mob defender, Hit hit)
 Called before attacker killed defender.
void start (Npc attacker, Mob defender, Hit[] hits)
Public Member Functions inherited from com.runehive.game.world.entity.combat.strategy.CombatStrategy< T extends Mob >
void attack (T attacker, Mob defender, Hit hit)
 Called when the attacking hit executes on the defender.
void block (Mob attacker, T defender, Hit hit, CombatType combatType)
 Called when the defending mob blocks a hit from the attacker.
abstract boolean canAttack (T attacker, Mob defender)
 Checks if the attacker can attack the defender.
boolean canOtherAttack (Mob attacker, T defender)
 Checks if the attacker can attack the defender.
void finishIncoming (Mob attacker, T defender)
 Called when the attacking mob finishes their strategy's attack.
void finishOutgoing (T attacker, Mob defender)
 Called when the defending mob finishes their strategy's attack.
abstract Animation getAttackAnimation (T attacker, Mob defender)
abstract int getAttackDelay (T attacker, Mob defender, FightType fightType)
abstract int getAttackDistance (T attacker, FightType fightType)
CombatProjectile getCombatProjectile ()
abstract CombatHit[] getHits (T attacker, Mob defender)
void hit (T attacker, Mob defender, Hit hit)
 Called when the attacking mob performs an attack on the defender.
void hitsplat (T attacker, Mob defender, Hit hit)
 Called when attacker does the hitsplat.
boolean isAlwaysAccurate ()
void onDamage (T defender, Hit hit)
void onDeath (Mob attacker, T defender, Hit hit)
 Called when the defending mob dies.
void onKill (T attacker, Mob defender, Hit hit)
 Called when attacker killed defender.
void preDeath (Mob attacker, T defender, Hit hit)
 Called right before the defending mob dies.
void start (T attacker, Mob defender, Hit[] hits)
 Called when the strategy starts.
Public Member Functions inherited from com.runehive.game.world.entity.combat.attack.listener.CombatListener< T extends Mob >
default void init (T attacker, Mob defender)
 Called when the strategy initializes.
default void performChecks (T attacker, Mob defender)
boolean withinDistance (T attacker, Mob defender)
Public Member Functions inherited from com.runehive.game.world.entity.combat.FormulaModifier< T extends Mob >
default int modifyAccuracy (T attacker, Mob defender, int roll)
default int modifyAggressive (T attacker, Mob defender, int roll)
default int modifyAggressiveBonus (T attacker, Mob defender, int bonus)
default int modifyAttackLevel (T attacker, Mob defender, int level)
default int modifyDamage (T attacker, Mob defender, int damage)
default int modifyDefenceLevel (Mob attacker, T defender, int level)
default int modifyDefensive (Mob attacker, T defender, int roll)
default int modifyDefensiveBonus (Mob attacker, T defender, int bonus)
default int modifyMagicLevel (T attacker, Mob defender, int level)
default int modifyOffensiveBonus (T attacker, Mob defender, int bonus)
default int modifyRangedLevel (T attacker, Mob defender, int level)
default int modifyStrengthLevel (T attacker, Mob defender, int level)

Static Private Attributes

static final CombatStrategy< Npc >[] FULL_STRATEGIES = createStrategyArray(RANGE, MAGE, MELEE)
static final Mage MAGE = new Mage()
static final CrushMelee MELEE = new CrushMelee()
static final CombatStrategy< Npc >[] NON_MELEE = createStrategyArray(RANGE, MAGE)
static final Ranged RANGE = new Ranged()

Additional Inherited Members

Static Public Member Functions inherited from com.runehive.game.world.entity.combat.strategy.CombatStrategy< T extends Mob >
static Graphic getEndGraphic (final CombatProjectile combatProjectile, final boolean splash, final Graphic splashGraphic)
static Graphic getEndGraphic (final CombatProjectile combatProjectile, final boolean splash, final Graphic splashGraphic, final int duration)
static Graphic getEndGraphic (final Optional< Graphic > end, final boolean splash, final Graphic splashGraphic, final int duration)
static int getProjectileDuration (final CombatProjectile combatProjectile)
static boolean missed (final Hit... hits)
Protected Member Functions inherited from com.runehive.game.world.entity.combat.strategy.CombatStrategy< T extends Mob >
final CombatHit nextMagicHit (T attacker, Mob defender)
CombatHit nextMagicHit (T attacker, Mob defender, CombatProjectile projectile)
final CombatHit nextMagicHit (T attacker, Mob defender, int max)
CombatHit nextMagicHit (T attacker, Mob defender, int max, CombatProjectile projectile)
final CombatHit nextMagicHit (T attacker, Mob defender, int max, int hitDelay, int hitsplatDelay)
CombatHit nextMeleeHit (T attacker, Mob defender)
CombatHit nextMeleeHit (T attacker, Mob defender, int max)
CombatHit nextMeleeHit (T attacker, Mob defender, int max, boolean multipleHitsAllowed)
CombatHit nextMeleeHit (T attacker, Mob defender, int max, int hitDelay, int hitsplatDelay)
CombatHit nextMeleeHit (T attacker, Mob defender, int max, int hitDelay, int hitsplatDelay, boolean multipleHitsAllowed)
final CombatHit nextRangedHit (T attacker, Mob defender)
final CombatHit nextRangedHit (T attacker, Mob defender, CombatProjectile projectile)
final CombatHit nextRangedHit (T attacker, Mob defender, int max)
final CombatHit nextRangedHit (T attacker, Mob defender, int max, CombatProjectile projectile)
CombatHit nextRangedHit (T attacker, Mob defender, int max, int hitDelay, int hitsplatDelay)
Protected Attributes inherited from com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy
CombatStrategy< NpccurrentStrategy

Detailed Description

Definition at line 23 of file JalAk.java.

Constructor & Destructor Documentation

◆ JalAk()

com.runehive.content.activity.infernomobs.JalAk.JalAk ( )

Definition at line 32 of file JalAk.java.

32 {
33 currentStrategy = randomStrategy(NON_MELEE);
34 }

References com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.currentStrategy, and NON_MELEE.

Member Function Documentation

◆ block()

void com.runehive.content.activity.infernomobs.JalAk.block ( Mob attacker,
Npc defender,
Hit hit,
CombatType combatType )

Reimplemented from com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.

Definition at line 53 of file JalAk.java.

53 {
54 currentStrategy.block(attacker, defender, hit, combatType);
55 defender.getCombat().attack(attacker);
56 }

References com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.currentStrategy, com.runehive.game.world.entity.mob.npc.Npc.getCombat(), and hit().

Here is the call graph for this function:

◆ canAttack()

boolean com.runehive.content.activity.infernomobs.JalAk.canAttack ( Npc attacker,
Mob defender )

Reimplemented from com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.

Definition at line 45 of file JalAk.java.

45 {
46 if (!currentStrategy.canAttack(attacker, defender)) {
47 currentStrategy = randomStrategy(NON_MELEE);
48 }
49 return currentStrategy.canAttack(attacker, defender);
50 }

References com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.currentStrategy, and NON_MELEE.

◆ finishOutgoing()

void com.runehive.content.activity.infernomobs.JalAk.finishOutgoing ( Npc attacker,
Mob defender )

Reimplemented from com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.

Definition at line 59 of file JalAk.java.

59 {
60 currentStrategy.finishOutgoing(attacker, defender);
61 if (MELEE.withinDistance(attacker, defender)) {
62 currentStrategy = randomStrategy(FULL_STRATEGIES);
63 } else {
64 currentStrategy = randomStrategy(NON_MELEE);
65 }
66 }

References com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.currentStrategy, FULL_STRATEGIES, MELEE, and NON_MELEE.

◆ getAttackDelay()

int com.runehive.content.activity.infernomobs.JalAk.getAttackDelay ( Npc attacker,
Mob defender,
FightType fightType )

Reimplemented from com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.

Definition at line 69 of file JalAk.java.

69 {
70 return attacker.definition.getAttackDelay();
71 }

References com.runehive.game.world.entity.mob.npc.Npc.definition, and com.runehive.game.world.entity.mob.npc.definition.NpcDefinition.getAttackDelay().

Here is the call graph for this function:

◆ hit()

void com.runehive.content.activity.infernomobs.JalAk.hit ( Npc attacker,
Mob defender,
Hit hit )

Reimplemented from com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.

Definition at line 74 of file JalAk.java.

74 {
75 super.hit(attacker, defender, hit);
76
77 if (!defender.isPlayer())
78 return;
79 Player player = defender.getPlayer();
80
81 if (currentStrategy.getCombatType().equals(CombatType.MELEE)
82 && player.prayer.isActive(Prayer.PROTECT_FROM_MELEE)) {
83 hit.setDamage(0);
84 } else if (currentStrategy.getCombatType().equals(CombatType.RANGED)
85 && player.prayer.isActive(Prayer.PROTECT_FROM_RANGE)) {
86 hit.setDamage(0);
87 } else if (currentStrategy.getCombatType().equals(CombatType.MAGIC)
88 && player.prayer.isActive(Prayer.PROTECT_FROM_MAGIC)) {
89 hit.setDamage(0);
90 }
91 }

References com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.currentStrategy, com.runehive.game.world.entity.mob.Mob.getPlayer(), hit(), com.runehive.game.world.entity.mob.prayer.PrayerBook.isActive(), com.runehive.game.world.entity.mob.Mob.isPlayer(), com.runehive.game.world.entity.combat.CombatType.MAGIC, com.runehive.game.world.entity.combat.CombatType.MELEE, com.runehive.game.world.entity.mob.Mob.prayer, com.runehive.game.world.entity.mob.prayer.Prayer.PROTECT_FROM_MAGIC, com.runehive.game.world.entity.mob.prayer.Prayer.PROTECT_FROM_MELEE, com.runehive.game.world.entity.mob.prayer.Prayer.PROTECT_FROM_RANGE, and com.runehive.game.world.entity.combat.CombatType.RANGED.

Referenced by block(), and hit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ withinDistance()

boolean com.runehive.content.activity.infernomobs.JalAk.withinDistance ( Npc attacker,
Mob defender )

Reimplemented from com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.

Definition at line 37 of file JalAk.java.

37 {
38 if (!currentStrategy.withinDistance(attacker, defender)) {
39 currentStrategy = randomStrategy(NON_MELEE);
40 }
41 return currentStrategy.withinDistance(attacker, defender);
42 }

References com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy.currentStrategy, and NON_MELEE.

Member Data Documentation

◆ FULL_STRATEGIES

final CombatStrategy<Npc> [] com.runehive.content.activity.infernomobs.JalAk.FULL_STRATEGIES = createStrategyArray(RANGE, MAGE, MELEE)
staticprivate

Definition at line 29 of file JalAk.java.

Referenced by finishOutgoing().

◆ MAGE

final Mage com.runehive.content.activity.infernomobs.JalAk.MAGE = new Mage()
staticprivate

Definition at line 26 of file JalAk.java.

◆ MELEE

final CrushMelee com.runehive.content.activity.infernomobs.JalAk.MELEE = new CrushMelee()
staticprivate

Definition at line 25 of file JalAk.java.

Referenced by finishOutgoing().

◆ NON_MELEE

final CombatStrategy<Npc> [] com.runehive.content.activity.infernomobs.JalAk.NON_MELEE = createStrategyArray(RANGE, MAGE)
staticprivate

Definition at line 30 of file JalAk.java.

Referenced by canAttack(), finishOutgoing(), JalAk(), and withinDistance().

◆ RANGE

final Ranged com.runehive.content.activity.infernomobs.JalAk.RANGE = new Ranged()
staticprivate

Definition at line 27 of file JalAk.java.


The documentation for this class was generated from the following file:
  • java/com/runehive/content/activity/infernomobs/JalAk.java