RuneHive-Game
Loading...
Searching...
No Matches
CombatTeleblockEffect.java
Go to the documentation of this file.
1package com.runehive.game.world.entity.combat.effect.impl;
2
3import com.runehive.game.world.entity.mob.prayer.Prayer;
4import com.runehive.net.packet.out.SendMessage;
5import com.runehive.game.world.entity.combat.effect.CombatEffect;
6import com.runehive.game.world.entity.mob.Mob;
7import com.runehive.game.world.entity.mob.player.Player;
8import com.runehive.net.packet.out.SendWidget;
9
10/**
11 * The combat effect applied when a player needs to be teleblocked.
12 *
13 * @author lare96 <http://github.com/lare96>
14 */
15public final class CombatTeleblockEffect extends CombatEffect {
16
17 /** Creates a new {@link CombatTeleblockEffect}. */
19 super(50);
20 }
21
22 @Override
23 public boolean apply(Mob mob) {
24 if (mob.isPlayer()) {
25 Player player = (Player) mob;
26 if (player.isTeleblocked()) {
27 return false;
28 }
29
31 player.teleblock(250);
33 } else {
34 player.teleblock(500);
36 }
37
38 player.send(new SendMessage("You have just been tele-blocked!"));
39 return true;
40 }
41 return false;
42 }
43
44 @Override
45 public boolean removeOn(Mob mob) {
46 return false;
47 }
48
49 @Override
50 public void process(Mob mob) {
51 }
52
53 @Override
54 public boolean onLogin(Mob mob) {
55 if (mob.isPlayer()) {
56 Player player = (Player) mob;
57 if (player.isTeleblocked()) {
58 return true;
59 }
60 }
61 return false;
62 }
63}
CombatEffect(int delay)
Creates a new CombatEffect.
boolean removeOn(Mob mob)
Removes this effect from mob if needed.
void process(Mob mob)
Provides processing for this effect on mob.
boolean onLogin(Mob mob)
Executed on login, primarily used to re-apply the effect to mob.
Handles the mob class.
Definition Mob.java:66
This class represents a character controlled by a player.
Definition Player.java:125
boolean isActive(Prayer... prayers)
Checks if all given prayers are active.
The OutgoingPacket that sends a message to a Players chatbox in the client.