RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.content.wintertodt.Wintertodt Class Reference
Collaboration diagram for com.runehive.content.wintertodt.Wintertodt:

Static Public Member Functions

static void addPoints (Player player, int amount)
 Handles adding wintertodt points to a player.
static void chopRoot (Player player)
 Handles chopping the root.
static void feedBrazier (Player player, GameObject gameObject)
 Handles feeding the brazier.
static void fixBrazier (Player player, GameObject gameObject)
 Handles fixing the brazier.
static void fletch (Player player)
 Handles fetching the kindling.
static int getAreaAttackDamage (Player player)
 Handles the formula on how much the area attack can do.
static int getBrazierAttackDamage (Player player)
 How much damage the brazier does to a player when it breaks.
static int getBraziersLit ()
 How many braziers are currently lit.
static int getColdDamage (Player player)
 The amount of damagae the player gets from cold.
static int getWarmItemsWorn (Player player)
 How much warm clothing the player is wearing.
static void healPyromancer (Player player, Npc npc, int slot)
 Handles healing the pyromancer.
static void init ()
static boolean isActive ()
static void lightBrazier (Player player, GameObject gameObject)
 Handles lighting a brazier.
static void mixHerb (Player player)
 Handles mixing the potion.
static void removeGameItems (Player player)
 Handles removes the items within the wintertodt game.
static void send (Player player)
static void shootFlame (Brazier brazier)
 Handles spawning the flame that goes to the middle.
static void takeHerb (Player player)
 Handles taking a bruma herb.

Static Public Attributes

static final Brazier[] BRAZIERS
 Brazier data.
static final int BROKEN_BRAZIER_ID = 29313
static final int BRUMA_HERB = 20698
static final int BRUMA_KINDLING = 20696
static final int BRUMA_ROOT = 20695
 Item ids.
static final int BURNING_BRAZIER_ID = 29314
static final int EMPTY_BRAZIER_ID = 29312
static int health = 0
static final int INCAPACITATED_PYROMANCER = 7372
static final int MAX_HP = 3500
static final int PYROMANCER = 7371
static Region region
static final int REGION_ID = 6462
 Region of the wintertodt game.
static final int REJUV_POT_1 = 20702
static final int REJUV_POT_2 = 20701
static final int REJUV_POT_3 = 20700
static final int REJUV_POT_4 = 20699
static final int REJUV_POT_UNF = 20697

Static Private Member Functions

static void applyColdDamage ()
static void attackPyromancers ()
 Handles attacking the pyromancers.
static void award (Player player)
 Handles awarding players with crates.
static void breakBrazier (Brazier brazier)
 Handles breaking the brazier.
static void dealDamage ()
 Handles dealing damage to the boss.
static void death ()
 Handles the death of the boss.
static void doMagicAttack ()
 Handles doing the magic attack by the bnoss.
static void extinguishBraziers ()
 Handles extinguishing the braziers.
static void pyromancerText ()
 Handles the pyromancer speech.
static void start ()
static void update ()

Static Private Attributes

static final int ACTIVE_STORM_ID = 29308
static final int DEFAULT_DELAY = 10
static final int FLAME = 7373
static final List< Integer > GAME_ITEMS = Arrays.asList(BRUMA_ROOT, BRUMA_KINDLING, BRUMA_HERB, REJUV_POT_UNF, REJUV_POT_4, REJUV_POT_3, REJUV_POT_2, REJUV_POT_1)
 List of all minigame items.
static final int INACTIVE_STORM_ID = 29309
static final String[] PYROMANCER_DEAD_TEXT = {"My flame burns low.", "Mummy!", "I think I'm dying.", "We are doomed.", "Ugh, help me!"}
 Npc ids.
static int pyroSpeechDelay
static final int SNOW_EFFECT_ID = 26690
 Game object ids.
static int startDelay = DEFAULT_DELAY
static boolean started = false
 Game data.
static final List< Integer > WARM_CLOTHING
 List of all warm clothing.
static CustomGameObject WINTERTODT

Detailed Description

Definition at line 31 of file Wintertodt.java.

Member Function Documentation

◆ addPoints()

void com.runehive.content.wintertodt.Wintertodt.addPoints ( Player player,
int amount )
static

Handles adding wintertodt points to a player.

Definition at line 814 of file Wintertodt.java.

814 {
815 int old = player.wintertodtPoints;
816 player.wintertodtPoints += amount;
817 if (old < 500 && player.wintertodtPoints >= 500) {
818 player.message("You have helped enough to earn a supply crate. Further work will go towards better rewards.");
819 }
820 send(player);
821 }

References com.runehive.game.world.entity.mob.player.Player.message(), send(), and com.runehive.game.world.entity.mob.player.Player.wintertodtPoints.

Referenced by com.runehive.content.wintertodt.actions.FeedBrazier.execute(), com.runehive.content.wintertodt.actions.FixBrazier.execute(), com.runehive.content.wintertodt.actions.LightBrazier.execute(), and healPyromancer().

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

◆ applyColdDamage()

void com.runehive.content.wintertodt.Wintertodt.applyColdDamage ( )
staticprivate

Definition at line 251 of file Wintertodt.java.

251 {
252 region.getPlayers(0).forEach(player -> {
253 if(player.getPosition().getY() <= 3987 || Utility.random(25) != 0) return;
254
255 player.damage(new Hit(getColdDamage(player)));
256 player.message("The cold of the Wintertodt seeps into your bones.");
257
258 if(player.action.getCurrentAction() instanceof WintertodtAction)
259 player.action.getCurrentAction().cancel();
260 });
261 }
static int getColdDamage(Player player)
The amount of damagae the player gets from cold.

References getColdDamage(), com.runehive.util.Utility.random(), and region.

Referenced by init().

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

◆ attackPyromancers()

void com.runehive.content.wintertodt.Wintertodt.attackPyromancers ( )
staticprivate

Handles attacking the pyromancers.

Definition at line 411 of file Wintertodt.java.

411 {
412 List<Npc> pyros = Arrays.stream(BRAZIERS).filter(Brazier::isPyromancerAlive).map(Brazier::getPyromancer).collect(Collectors.toList());
413 if (!pyros.isEmpty() && Utility.random(pyros.size() * 30) == pyros.size()) {
414 Npc pyro = pyros.get(Utility.random(pyros.size()));
415 if(pyro.pyroHealth <= 0) return;
416
417 if(pyro.pyroSnowAttack) {
418 System.out.println("already a snow attack going for this pyro...");
419 return;
420 }
421
422 pyro.pyroSnowAttack = true;
423 GameObject snow = new CustomGameObject(SNOW_EFFECT_ID, pyro.getPosition());
424 snow.register();
425
426 World.schedule(new Task(4) {
427 @Override
428 public void execute() {
429 int damage = 6 + Utility.random(4);
430 if(damage > pyro.pyroHealth)
431 damage = pyro.pyroHealth;
432 pyro.pyroHealth -= damage;
433 pyro.writeFakeDamage(new Hit(damage));
434 if(pyro.pyroHealth <= 0) {
435 pyro.pyroHealth = 0;
437 }
438 pyro.pyroSnowAttack = false;
439 region.getPlayers(0).forEach(players -> {
440 players.send(new SendRemoveObject(new CustomGameObject(snow.getId(), snow.getPosition())));
441 });
442 snow.unregister();
443 this.cancel();
444 }
445 });
446 }
447 }
static final int SNOW_EFFECT_ID
Game object ids.
static final Brazier[] BRAZIERS
Brazier data.
void transform(int transformId)
Definition Mob.java:201

References BRAZIERS, com.runehive.game.world.object.GameObject.getId(), com.runehive.game.world.entity.Entity.getPosition(), com.runehive.game.world.object.GameObject.getPosition(), com.runehive.content.wintertodt.Brazier.getPyromancer(), INCAPACITATED_PYROMANCER, com.runehive.content.wintertodt.Brazier.isPyromancerAlive(), com.runehive.game.world.entity.mob.npc.Npc.pyroHealth, com.runehive.game.world.entity.mob.npc.Npc.pyroSnowAttack, com.runehive.util.Utility.random(), region, com.runehive.game.world.object.GameObject.register(), com.runehive.game.world.World.schedule(), SNOW_EFFECT_ID, com.runehive.game.world.entity.mob.Mob.transform(), com.runehive.game.world.object.GameObject.unregister(), and com.runehive.game.world.entity.mob.Mob.writeFakeDamage().

Referenced by init().

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

◆ award()

void com.runehive.content.wintertodt.Wintertodt.award ( Player player)
staticprivate

Handles awarding players with crates.

Definition at line 530 of file Wintertodt.java.

530 {
531 removeGameItems(player);
532
533 if (player.wintertodtPoints >= 500) {
534 CollectionLog.increaseCounter(player, CollectionLogData.WINTERTODT);
535 player.skills.addExperience(Skill.FIREMAKING, (Skill.getLevelForExperience(player.skills.get(Skill.FIREMAKING).getExperience()) * 100) * Config.FIREMAKING_MODIFICATION);
536 int crates = player.wintertodtPoints / 500;
537 if (crates > 1)
538 player.message("You have gained " + crates + " supply crates!");
539 else
540 player.message("You have gained a supply crate!");
541 player.inventory.add(new Item(20703, crates));
542 player.inventory.refresh();
543 } else player.message("You did not earn enough points to be worthy of a gift from the citizens of Kourend this time.");
544
545 player.wintertodtPoints = 0;
546 }
static void removeGameItems(Player player)
Handles removes the items within the wintertodt game.
double getExperience()
Gets the skill experience.
Definition Skill.java:223
void addExperience(int id, double experience)
Adds experience to a given skill.
Skill get(int id)
Gets the skill for an id.
boolean add(Item item)
Attempts to deposit item into this container.
void refresh()
Refreshes the players inventory.

References com.runehive.game.world.items.containers.ItemContainer.add(), com.runehive.game.world.entity.skill.SkillManager.addExperience(), com.runehive.game.world.entity.skill.Skill.FIREMAKING, com.runehive.Config.FIREMAKING_MODIFICATION, com.runehive.game.world.entity.skill.SkillManager.get(), com.runehive.game.world.entity.skill.Skill.getExperience(), com.runehive.game.world.entity.skill.Skill.getLevelForExperience(), com.runehive.content.collectionlog.CollectionLog.increaseCounter(), com.runehive.game.world.entity.mob.player.Player.inventory, com.runehive.game.world.entity.mob.player.Player.message(), com.runehive.game.world.items.containers.inventory.Inventory.refresh(), removeGameItems(), com.runehive.game.world.entity.mob.Mob.skills, com.runehive.content.collectionlog.CollectionLogData.WINTERTODT, and com.runehive.game.world.entity.mob.player.Player.wintertodtPoints.

Referenced by death().

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

◆ breakBrazier()

void com.runehive.content.wintertodt.Wintertodt.breakBrazier ( Brazier brazier)
staticprivate

Handles breaking the brazier.

Definition at line 288 of file Wintertodt.java.

288 {
289 if(brazier.getObject().getId() == BROKEN_BRAZIER_ID) return;
290
291 List<GameObject> objects = Arrays.asList(
292 new CustomGameObject(SNOW_EFFECT_ID, new Position(brazier.getObject().getPosition().getX() + 1, brazier.getObject().getPosition().getY(), 0)),
293 new CustomGameObject(SNOW_EFFECT_ID, new Position(brazier.getObject().getPosition().getX(), brazier.getObject().getPosition().getY() + 1, 0)),
294 new CustomGameObject(SNOW_EFFECT_ID, new Position(brazier.getObject().getPosition().getX() + 1, brazier.getObject().getPosition().getY() + 1, 0)),
295 new CustomGameObject(SNOW_EFFECT_ID, new Position(brazier.getObject().getPosition().getX() + 2, brazier.getObject().getPosition().getY() + 1, 0)),
296 new CustomGameObject(SNOW_EFFECT_ID, new Position(brazier.getObject().getPosition().getX() + 1, brazier.getObject().getPosition().getY() + 2, 0))
297 );
298
299 for(GameObject gameObject : objects)
300 gameObject.register();
301
302 brazier.setSnowStorm(true);
303
304 World.schedule(new Task(4) {
305 @Override
306 public void execute() {
307
308 for(GameObject gameObject : objects) {
309 gameObject.unregister();
310 region.getPlayers(0).forEach(players -> {
311 players.send(new SendRemoveObject(new CustomGameObject(gameObject.getId(), gameObject.getPosition())));
312 });
313 }
314
315 brazier.setSnowStorm(false);
316
317 if(isActive()) {
318 //Graphio (502, 90, 0)
319 //brazier.getObject().transform(BROKEN_BRAZIER_ID);
320 brazier.getObject().unregister();
321 brazier.setObject(Wintertodt.BROKEN_BRAZIER_ID);
322 brazier.getObject().register();
323 region.getPlayers(0).forEach(player -> {
324 if(Utility.goodDistance(brazier.getObject().getPosition().getX() + 1, brazier.getObject().getPosition().getY() + 1, player.getPosition().getX(), player.getPosition().getY(), 2)) {
325 player.message("The brazier is broken and shrapnel damages you.");
326 player.damage(new Hit(Utility.random(getBrazierAttackDamage(player))));
327 }
328 });
329 }
330 this.cancel();
331 }
332 });
333 }
void setSnowStorm(boolean snowStorm)
Definition Brazier.java:48
static int getBrazierAttackDamage(Player player)
How much damage the brazier does to a player when it breaks.
int getY()
Gets the absolute y coordinate.
Definition Position.java:46
int getX()
Gets the absolute x coordinate.
Definition Position.java:41
void register()
Registers the game object.
Position getPosition()
Gets the regional location.
void unregister()
Unregisters the game object.
default int getId()
Gets the object id.

References BROKEN_BRAZIER_ID, getBrazierAttackDamage(), com.runehive.game.world.object.GameObject.getId(), com.runehive.content.wintertodt.Brazier.getObject(), com.runehive.game.world.object.GameObject.getPosition(), com.runehive.game.world.position.Position.getX(), com.runehive.game.world.position.Position.getY(), com.runehive.util.Utility.goodDistance(), isActive(), com.runehive.util.Utility.random(), region, com.runehive.game.world.object.GameObject.register(), com.runehive.game.world.World.schedule(), com.runehive.content.wintertodt.Brazier.setObject(), com.runehive.content.wintertodt.Brazier.setSnowStorm(), SNOW_EFFECT_ID, and com.runehive.game.world.object.GameObject.unregister().

Referenced by extinguishBraziers().

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

◆ chopRoot()

void com.runehive.content.wintertodt.Wintertodt.chopRoot ( Player player)
static

Handles chopping the root.

Definition at line 595 of file Wintertodt.java.

595 {
596 if(!isActive()) {
597 player.message("There's no need to do that at this time.");
598 return;
599 }
600
601 AxeData axeData = AxeData.getDefinition(player).orElse(null);
602
603 if(axeData == null) {
604 player.message("You do not have an axe which you have the woodcutting level to use.");
605 return;
606 }
607
608 if(player.inventory.getFreeSlots() <= 0) {
609 player.message("You have no space for that.");
610 return;
611 }
612
613 player.action.execute(new ChopRoots(player));
614 }
public< A extends Action<?> > void execute(A action)

References com.runehive.game.world.entity.mob.Mob.action, com.runehive.game.action.ActionManager.execute(), com.runehive.content.skill.impl.woodcutting.AxeData.getDefinition(), com.runehive.game.world.items.containers.ItemContainer.getFreeSlots(), com.runehive.game.world.entity.mob.player.Player.inventory, isActive(), and com.runehive.game.world.entity.mob.player.Player.message().

Here is the call graph for this function:

◆ dealDamage()

void com.runehive.content.wintertodt.Wintertodt.dealDamage ( )
staticprivate

Handles dealing damage to the boss.

Definition at line 474 of file Wintertodt.java.

474 {
475 int damage = 0;
476 for (Brazier brazier : BRAZIERS) {
477 if (brazier.isPyromancerAlive() && brazier.getObject().getId() == BURNING_BRAZIER_ID) {
478 shootFlame(brazier);
479 damage += 5;
480 }
481 }
482
483 if (damage > 0) {
484 health -= damage;
485 if (health <= 0) {
486 health = 0;
487 death();
488 }
489 } else
490 health = Math.min(MAX_HP, health + 5);
491 }
static void shootFlame(Brazier brazier)
Handles spawning the flame that goes to the middle.
static void death()
Handles the death of the boss.

References BRAZIERS, BURNING_BRAZIER_ID, death(), health, MAX_HP, and shootFlame().

Referenced by init().

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

◆ death()

void com.runehive.content.wintertodt.Wintertodt.death ( )
staticprivate

Handles the death of the boss.

Definition at line 506 of file Wintertodt.java.

506 {
507 started = false;
509
510 WINTERTODT.transform(INACTIVE_STORM_ID);
511
512 for (Brazier brazier : BRAZIERS) {
513 brazier.getPyromancer().speak("We can rest for a time.");
514 brazier.getPyromancer().transform(PYROMANCER);
515 brazier.getPyromancer().pyroSnowAttack = false;
516 brazier.getPyromancer().pyroHealth = 24;
517 brazier.getPyromancer().animate(65535);
518 //brazier.getObject().transform(EMPTY_BRAZIER_ID);
519 brazier.getObject().unregister();
520 brazier.setObject(EMPTY_BRAZIER_ID);
521 brazier.getObject().register();
522
523 }
524 region.getPlayers(0).forEach(Wintertodt::award);
525 }
static void award(Player player)
Handles awarding players with crates.

References award(), BRAZIERS, DEFAULT_DELAY, EMPTY_BRAZIER_ID, INACTIVE_STORM_ID, PYROMANCER, region, startDelay, started, and WINTERTODT.

Referenced by dealDamage().

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

◆ doMagicAttack()

void com.runehive.content.wintertodt.Wintertodt.doMagicAttack ( )
staticprivate

Handles doing the magic attack by the bnoss.

Definition at line 345 of file Wintertodt.java.

345 {
346 if(Utility.random(25) != 1 || region.getPlayers(0).size() == 0) return;
347
348 Player player = region.getPlayers(0).toArray(new Player[0])[Utility.random(region.getPlayers(0).size())];
349 if (player.getPosition().getY() <= 3987) return;
350
351 int baseX = player.getPosition().getX();
352 int baseY = player.getPosition().getY();
353 List<GameObject> snowAttacks = new ArrayList<>();
354
355 snowAttacks.add(new CustomGameObject(SNOW_EFFECT_ID, new Position(baseX, baseY, 0)));
356 if(region.getObjects(new Position(baseX + 1, baseY + 1, 0)).size() == 0)
357 snowAttacks.add(new CustomGameObject(SNOW_EFFECT_ID, new Position(baseX + 1, baseY + 1, 0)));
358 if(region.getObjects(new Position(baseX + 1, baseY - 1, 0)).size() == 0)
359 snowAttacks.add(new CustomGameObject(SNOW_EFFECT_ID, new Position(baseX + 1, baseY - 1, 0)));
360 if(region.getObjects(new Position(baseX - 1, baseY + 1, 0)).size() == 0)
361 snowAttacks.add(new CustomGameObject(SNOW_EFFECT_ID, new Position(baseX - 1, baseY + 1, 0)));
362 if(region.getObjects(new Position(baseX - 1, baseY - 1, 0)).size() == 0)
363 snowAttacks.add(new CustomGameObject(SNOW_EFFECT_ID, new Position(baseX - 1, baseY - 1, 0)));
364
365 for(GameObject gameObject : snowAttacks)
366 gameObject.register();
367
368 World.schedule(new Task(4) {
369 int index = 0;
370 @Override
371 public void execute() {
372 for(GameObject gameObject : snowAttacks) {
373 gameObject.transform(index == 0 ? 29325 : 29324);
374 index++;
375 }
376
377 region.getPlayers(0).forEach(players -> {
378 if(Utility.goodDistance(baseX, baseY, players.getX(), player.getY(), 1)) {
379 players.message("The freezing cold attack of the Wintertodt's magic hits you.");
380 players.damage(new Hit(1 + (getAreaAttackDamage(players) - 1)));
381 }
382 });
383 this.cancel();
384 }
385 });
386
387 World.schedule(new Task(14) {
388 @Override
389 public void execute() {
390 for(GameObject gameObject : snowAttacks) {
391 gameObject.unregister();
392 region.getPlayers(0).forEach(players -> {
393 players.send(new SendRemoveObject(new CustomGameObject(gameObject.getId(), gameObject.getPosition())));
394 });
395 }
396 this.cancel();
397 }
398 });
399 }
static int getAreaAttackDamage(Player player)
Handles the formula on how much the area attack can do.
val index

References getAreaAttackDamage(), com.runehive.game.world.entity.Entity.getPosition(), com.runehive.game.world.position.Position.getX(), com.runehive.game.world.entity.Entity.getY(), com.runehive.game.world.position.Position.getY(), com.runehive.util.Utility.goodDistance(), com.runehive.util.Utility.random(), region, com.runehive.game.world.World.schedule(), and SNOW_EFFECT_ID.

Referenced by init().

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

◆ extinguishBraziers()

void com.runehive.content.wintertodt.Wintertodt.extinguishBraziers ( )
staticprivate

Handles extinguishing the braziers.

Definition at line 266 of file Wintertodt.java.

266 {
267 for (Brazier brazier : BRAZIERS) {
268 int roll = Utility.random(health + 1500) / 10;
269 if(brazier.getObject().getId() == BURNING_BRAZIER_ID && roll == 10) {
270 if(brazier.hasSnowStorm()) continue;
271
272 if(Utility.random(health < (MAX_HP / 2) ? 2 : 3) == 1)
273 breakBrazier(brazier);
274 else {
275 //Graphic (502, 115, 0)
276 //brazier.getObject().transform(EMPTY_BRAZIER_ID);
277 brazier.getObject().unregister();
278 brazier.setObject(EMPTY_BRAZIER_ID);
279 brazier.getObject().register();
280 }
281 }
282 }
283 }
static void breakBrazier(Brazier brazier)
Handles breaking the brazier.

References BRAZIERS, breakBrazier(), BURNING_BRAZIER_ID, EMPTY_BRAZIER_ID, health, MAX_HP, and com.runehive.util.Utility.random().

Referenced by init().

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

◆ feedBrazier()

void com.runehive.content.wintertodt.Wintertodt.feedBrazier ( Player player,
GameObject gameObject )
static

Handles feeding the brazier.

Definition at line 619 of file Wintertodt.java.

619 {
620 if(!isActive()) {
621 player.message("There's no need to do that at this time.");
622 return;
623 }
624
625 Brazier brazier = null;
626
627 for(Brazier b : BRAZIERS) {
628 if(b.getObject().getId() == gameObject.getId() && b.getObject().getPosition() == gameObject.getPosition()) {
629 brazier = b;
630 break;
631 }
632 }
633
634 if(brazier == null) {
635 System.out.println("Brazier has not been found...");
636 return;
637 }
638
639 player.animate(832);
640 player.action.execute(new FeedBrazier(player, brazier));
641 }

References com.runehive.game.world.entity.mob.Mob.action, com.runehive.game.world.entity.mob.Mob.animate(), BRAZIERS, com.runehive.game.action.ActionManager.execute(), com.runehive.game.world.object.GameObject.getId(), com.runehive.game.world.object.GameObject.getPosition(), isActive(), and com.runehive.game.world.entity.mob.player.Player.message().

Here is the call graph for this function:

◆ fixBrazier()

void com.runehive.content.wintertodt.Wintertodt.fixBrazier ( Player player,
GameObject gameObject )
static

Handles fixing the brazier.

Definition at line 646 of file Wintertodt.java.

646 {
647 if(!isActive()) {
648 player.message("There's no need to do that at this time.");
649 return;
650 }
651
652 Brazier brazier = null;
653
654 for(Brazier b : BRAZIERS) {
655 if(b.getObject().getId() == gameObject.getId() && b.getObject().getPosition() == gameObject.getPosition()) {
656 brazier = b;
657 break;
658 }
659 }
660
661 if(brazier == null) {
662 System.out.println("Brazier has not been found...");
663 return;
664 }
665
666 if(!brazier.isPyromancerAlive()) {
667 player.message("Heal the Pyromancer before fixing the brazier.");
668 return;
669 }
670
671 if(!player.inventory.contains(2347)) {
672 player.message("You need a hammer to fix this brazier.");
673 return;
674 }
675
676 player.animate(3676);
677 player.action.execute(new FixBrazier(player, brazier));
678 }
boolean contains(int id)
Determines if this container contains id.

References com.runehive.game.world.entity.mob.Mob.action, com.runehive.game.world.entity.mob.Mob.animate(), BRAZIERS, com.runehive.game.world.items.containers.ItemContainer.contains(), com.runehive.game.action.ActionManager.execute(), com.runehive.game.world.object.GameObject.getId(), com.runehive.game.world.object.GameObject.getPosition(), com.runehive.game.world.entity.mob.player.Player.inventory, isActive(), com.runehive.content.wintertodt.Brazier.isPyromancerAlive(), and com.runehive.game.world.entity.mob.player.Player.message().

Here is the call graph for this function:

◆ fletch()

void com.runehive.content.wintertodt.Wintertodt.fletch ( Player player)
static

Handles fetching the kindling.

Definition at line 683 of file Wintertodt.java.

683 {
684 if(!isActive()) {
685 player.message("There's no need to do that at this time.");
686 return;
687 }
688
689 if(!player.inventory.contains(BRUMA_ROOT)) return;
690
691 player.animate(1248);
692 player.action.execute(new FletchKindling(player, player.inventory.computeAmountForId(BRUMA_ROOT)));
693 }
final int computeAmountForId(int id)
Computes the total quantity of the Items in this container with id.

References com.runehive.game.world.entity.mob.Mob.action, com.runehive.game.world.entity.mob.Mob.animate(), BRUMA_ROOT, com.runehive.game.world.items.containers.ItemContainer.computeAmountForId(), com.runehive.game.world.items.containers.ItemContainer.contains(), com.runehive.game.action.ActionManager.execute(), com.runehive.game.world.entity.mob.player.Player.inventory, isActive(), and com.runehive.game.world.entity.mob.player.Player.message().

Here is the call graph for this function:

◆ getAreaAttackDamage()

int com.runehive.content.wintertodt.Wintertodt.getAreaAttackDamage ( Player player)
static

Handles the formula on how much the area attack can do.

Definition at line 404 of file Wintertodt.java.

404 {
405 return (int) ((10.0 - getWarmItemsWorn(player)) * (Skill.getLevelForExperience(player.skills.get(Skill.HITPOINTS).getExperience()) + 1) / Skill.getLevelForExperience(player.skills.get(Skill.FIREMAKING).getExperience()) * 3);
406 }
static int getWarmItemsWorn(Player player)
How much warm clothing the player is wearing.

References com.runehive.game.world.entity.skill.Skill.FIREMAKING, com.runehive.game.world.entity.skill.SkillManager.get(), com.runehive.game.world.entity.skill.Skill.getExperience(), com.runehive.game.world.entity.skill.Skill.getLevelForExperience(), getWarmItemsWorn(), com.runehive.game.world.entity.skill.Skill.HITPOINTS, and com.runehive.game.world.entity.mob.Mob.skills.

Referenced by doMagicAttack().

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

◆ getBrazierAttackDamage()

int com.runehive.content.wintertodt.Wintertodt.getBrazierAttackDamage ( Player player)
static

How much damage the brazier does to a player when it breaks.

Definition at line 338 of file Wintertodt.java.

338 {
339 return (int) ((10.0 - getWarmItemsWorn(player)) * (Skill.getLevelForExperience(player.skills.get(Skill.HITPOINTS).getExperience()) + 1) / Skill.getLevelForExperience(player.skills.get(Skill.FIREMAKING).getExperience())) * 2;
340 }

References com.runehive.game.world.entity.skill.Skill.FIREMAKING, com.runehive.game.world.entity.skill.SkillManager.get(), com.runehive.game.world.entity.skill.Skill.getExperience(), com.runehive.game.world.entity.skill.Skill.getLevelForExperience(), getWarmItemsWorn(), com.runehive.game.world.entity.skill.Skill.HITPOINTS, and com.runehive.game.world.entity.mob.Mob.skills.

Referenced by breakBrazier().

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

◆ getBraziersLit()

int com.runehive.content.wintertodt.Wintertodt.getBraziersLit ( )
static

How many braziers are currently lit.

Definition at line 584 of file Wintertodt.java.

584 {
585 int count = 0;
586 for (Brazier b : BRAZIERS)
587 if (b.getObject().getId() == BURNING_BRAZIER_ID)
588 count++;
589 return Math.min(count, 3);
590 }

References BRAZIERS, and BURNING_BRAZIER_ID.

Referenced by getColdDamage().

Here is the caller graph for this function:

◆ getColdDamage()

int com.runehive.content.wintertodt.Wintertodt.getColdDamage ( Player player)
static

The amount of damagae the player gets from cold.

Definition at line 565 of file Wintertodt.java.

565 {
566 return (int) ((16.0 - getWarmItemsWorn(player) - (2 * getBraziersLit())) * (Skill.getLevelForExperience(player.skills.get(Skill.HITPOINTS).getExperience()) + 1) / Skill.getLevelForExperience(player.skills.get(Skill.FIREMAKING).getExperience()));
567 }
static int getBraziersLit()
How many braziers are currently lit.

References com.runehive.game.world.entity.skill.Skill.FIREMAKING, com.runehive.game.world.entity.skill.SkillManager.get(), getBraziersLit(), com.runehive.game.world.entity.skill.Skill.getExperience(), com.runehive.game.world.entity.skill.Skill.getLevelForExperience(), getWarmItemsWorn(), com.runehive.game.world.entity.skill.Skill.HITPOINTS, and com.runehive.game.world.entity.mob.Mob.skills.

Referenced by applyColdDamage().

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

◆ getWarmItemsWorn()

int com.runehive.content.wintertodt.Wintertodt.getWarmItemsWorn ( Player player)
static

How much warm clothing the player is wearing.

Definition at line 572 of file Wintertodt.java.

572 {
573 int warmClothing = 0;
574 for(int id : WARM_CLOTHING) {
575 if(player.equipment.contains(id)) warmClothing++;
576 if(warmClothing >= 4) break;
577 }
578 return warmClothing;
579 }
static final List< Integer > WARM_CLOTHING
List of all warm clothing.
boolean contains(int[] bowsWithNoArrowsRequired)

References com.runehive.game.world.items.containers.equipment.Equipment.contains(), com.runehive.game.world.entity.mob.player.Player.equipment, and WARM_CLOTHING.

Referenced by getAreaAttackDamage(), getBrazierAttackDamage(), and getColdDamage().

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

◆ healPyromancer()

void com.runehive.content.wintertodt.Wintertodt.healPyromancer ( Player player,
Npc npc,
int slot )
static

Handles healing the pyromancer.

Definition at line 772 of file Wintertodt.java.

772 {
773 if(!isActive()) {
774 player.message("There's no need to do that at this time.");
775 return;
776 }
777
778 Brazier brazier = null;
779
780 for(Brazier b : BRAZIERS) {
781 if(b.getPyromancer().getPosition() == npc.getPosition() && b.getPyromancer().id == npc.id) {
782 brazier = b;
783 break;
784 }
785 }
786
787 if(brazier == null) {
788 System.out.println("Brazier has not been found...");
789 return;
790 }
791
792 Item itemUsed = player.inventory.get(slot);
793
794 if(itemUsed.getId() != REJUV_POT_4 && itemUsed.getId() != REJUV_POT_3 && itemUsed.getId() != REJUV_POT_2 && itemUsed.getId() != REJUV_POT_1) {
795 System.out.println("not a rejuv potion");
796 return;
797 }
798
799 Item newPot = new Item(player.inventory.getId(slot) + 1);
800 if(newPot.getId() > REJUV_POT_1) newPot = null;
801
802 player.inventory.set(slot, newPot, true);
803
805 brazier.getPyromancer().pyroHealth = 24;
806 brazier.getPyromancer().pyroSnowAttack = false;
807
808 addPoints(player, 30);
809 }
static void addPoints(Player player, int amount)
Handles adding wintertodt points to a player.
final int getId()
Gets the identification of this item.
Definition Item.java:324
final Item get(int index)
Gets the Item located on index.
final int getId(int index)
Gets the item id located on index.

References addPoints(), BRAZIERS, com.runehive.game.world.items.containers.ItemContainer.get(), com.runehive.game.world.items.containers.ItemContainer.getId(), com.runehive.game.world.items.Item.getId(), com.runehive.game.world.entity.Entity.getPosition(), com.runehive.content.wintertodt.Brazier.getPyromancer(), com.runehive.game.world.entity.mob.Mob.id, com.runehive.game.world.entity.mob.player.Player.inventory, isActive(), com.runehive.game.world.entity.mob.player.Player.message(), com.runehive.game.world.entity.mob.npc.Npc.pyroHealth, PYROMANCER, com.runehive.game.world.entity.mob.npc.Npc.pyroSnowAttack, REJUV_POT_1, REJUV_POT_2, REJUV_POT_3, REJUV_POT_4, com.runehive.game.world.items.containers.ItemContainer.set(), and com.runehive.game.world.entity.mob.Mob.transform().

Here is the call graph for this function:

◆ init()

void com.runehive.content.wintertodt.Wintertodt.init ( )
static

Definition at line 171 of file Wintertodt.java.

171 {
172 region = World.getRegions().getRegion(new Position(1627, 4004, 0));
173 pyroSpeechDelay = 8;
175 WINTERTODT = new CustomGameObject(INACTIVE_STORM_ID, new Position(1627, 4004, 0));
176 WINTERTODT.register();
177 started = false;
178
179 for(Brazier brazier : BRAZIERS)
180 brazier.getPyromancer().register();
181
182 World.schedule(new Task(1) {
183 @Override
184 protected void execute() {
185 if(startDelay > 0)
186 startDelay--;
187
188 if(startDelay <= 0 && !started) start();
189
190 update();
191 }
192 });
193
194 World.schedule(new Task(2) {
195 @Override
196 protected void execute() {
197 if(!isActive()) return;
198
205 dealDamage();
206 }
207 });
208 }
static void doMagicAttack()
Handles doing the magic attack by the bnoss.
static void attackPyromancers()
Handles attacking the pyromancers.
static void pyromancerText()
Handles the pyromancer speech.
static void extinguishBraziers()
Handles extinguishing the braziers.
static void dealDamage()
Handles dealing damage to the boss.

References applyColdDamage(), attackPyromancers(), BRAZIERS, dealDamage(), DEFAULT_DELAY, doMagicAttack(), extinguishBraziers(), com.runehive.game.world.region.RegionManager.getRegion(), com.runehive.game.world.World.getRegions(), INACTIVE_STORM_ID, isActive(), pyromancerText(), pyroSpeechDelay, region, com.runehive.game.world.World.schedule(), start(), startDelay, started, update(), and WINTERTODT.

Referenced by com.runehive.RuneHive.processSequentialStartupTasks().

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

◆ isActive()

boolean com.runehive.content.wintertodt.Wintertodt.isActive ( )
static

Definition at line 167 of file Wintertodt.java.

167 {
168 return startDelay <= 0;
169 }

References startDelay.

Referenced by breakBrazier(), chopRoot(), feedBrazier(), fixBrazier(), fletch(), healPyromancer(), init(), lightBrazier(), mixHerb(), send(), and takeHerb().

Here is the caller graph for this function:

◆ lightBrazier()

void com.runehive.content.wintertodt.Wintertodt.lightBrazier ( Player player,
GameObject gameObject )
static

Handles lighting a brazier.

Definition at line 698 of file Wintertodt.java.

698 {
699 if(!isActive()) {
700 player.message("There's no need to do that at this time.");
701 return;
702 }
703
704 Brazier brazier = null;
705
706 for(Brazier b : BRAZIERS) {
707 if(b.getObject().getId() == gameObject.getId() && b.getObject().getPosition() == gameObject.getPosition()) {
708 brazier = b;
709 break;
710 }
711 }
712
713 if(brazier == null) {
714 System.out.println("Brazier has not been found...");
715 return;
716 }
717
718 if(!brazier.isPyromancerAlive()) {
719 player.message("Heal the Pyromancer before lighting the brazier.");
720 return;
721 }
722
723 if(!player.inventory.contains(590) && !player.equipment.contains(20720)) {
724 player.message("You need a tinderbox or Bruma Torch to light that brazier.");
725 return;
726 }
727
728 player.animate(733);
729 player.action.execute(new LightBrazier(player, brazier));
730 }

References com.runehive.game.world.entity.mob.Mob.action, com.runehive.game.world.entity.mob.Mob.animate(), BRAZIERS, com.runehive.game.world.items.containers.equipment.Equipment.contains(), com.runehive.game.world.items.containers.ItemContainer.contains(), com.runehive.game.world.entity.mob.player.Player.equipment, com.runehive.game.action.ActionManager.execute(), com.runehive.game.world.object.GameObject.getId(), com.runehive.game.world.object.GameObject.getPosition(), com.runehive.game.world.entity.mob.player.Player.inventory, isActive(), com.runehive.content.wintertodt.Brazier.isPyromancerAlive(), and com.runehive.game.world.entity.mob.player.Player.message().

Here is the call graph for this function:

◆ mixHerb()

void com.runehive.content.wintertodt.Wintertodt.mixHerb ( Player player)
static

Handles mixing the potion.

Definition at line 735 of file Wintertodt.java.

735 {
736 if(!isActive()) {
737 player.message("There's no need to do that at this time.");
738 return;
739 }
740
741 int herbs = player.inventory.computeAmountForId(BRUMA_HERB);
742 int pots = player.inventory.computeAmountForId(REJUV_POT_UNF);
743 int min = Utility.min(herbs, pots);
744
745 if(min == 0) return;
746
747 player.animate(363);
748 player.action.execute(new MixHerb(player, min));
749 }

References com.runehive.game.world.entity.mob.Mob.action, com.runehive.game.world.entity.mob.Mob.animate(), BRUMA_HERB, com.runehive.game.world.items.containers.ItemContainer.computeAmountForId(), com.runehive.game.action.ActionManager.execute(), com.runehive.game.world.entity.mob.player.Player.inventory, isActive(), com.runehive.game.world.entity.mob.player.Player.message(), com.runehive.util.Utility.min(), and REJUV_POT_UNF.

Here is the call graph for this function:

◆ pyromancerText()

void com.runehive.content.wintertodt.Wintertodt.pyromancerText ( )
staticprivate

Handles the pyromancer speech.

Definition at line 452 of file Wintertodt.java.

452 {
453 if(pyroSpeechDelay <= 0) {
454 pyroSpeechDelay = 8;
455 for (Brazier brazier : BRAZIERS) {
456 if (!brazier.isPyromancerAlive())
457 brazier.getPyromancer().speak(PYROMANCER_DEAD_TEXT[Utility.random(PYROMANCER_DEAD_TEXT.length - 1)]);
458 else if (brazier.getObject().getId() == EMPTY_BRAZIER_ID)
459 brazier.getPyromancer().speak("Light this brazier!");
460 else if (brazier.getObject().getId() == BROKEN_BRAZIER_ID)
461 brazier.getPyromancer().speak("Fix this brazier!");
462 else if (Utility.random(4) == 1)
463 brazier.getPyromancer().speak("Yemalo shi cardito!");
464
465 if (brazier.isPyromancerAlive() && brazier.getObject().getId() == BURNING_BRAZIER_ID && Utility.random(3) == 1)
466 brazier.getPyromancer().animate(4432);
467 }
468 }
469 }
static final String[] PYROMANCER_DEAD_TEXT
Npc ids.

References BRAZIERS, BROKEN_BRAZIER_ID, BURNING_BRAZIER_ID, EMPTY_BRAZIER_ID, PYROMANCER_DEAD_TEXT, pyroSpeechDelay, and com.runehive.util.Utility.random().

Referenced by init().

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

◆ removeGameItems()

void com.runehive.content.wintertodt.Wintertodt.removeGameItems ( Player player)
static

Handles removes the items within the wintertodt game.

Definition at line 551 of file Wintertodt.java.

551 {
552 int slot = 0;
553 for (Item item : player.inventory.getItems()) {
554 if (item != null && GAME_ITEMS.contains(item.getId())) {
555 player.inventory.set(slot, null, false);
556 }
557 slot++;
558 }
559 player.inventory.refresh();
560 }
static final List< Integer > GAME_ITEMS
List of all minigame items.

References GAME_ITEMS, com.runehive.game.world.items.containers.ItemContainer.getItems(), com.runehive.game.world.entity.mob.player.Player.inventory, com.runehive.game.world.items.containers.inventory.Inventory.refresh(), and com.runehive.game.world.items.containers.ItemContainer.set().

Referenced by award().

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

◆ send()

void com.runehive.content.wintertodt.Wintertodt.send ( Player player)
static

Definition at line 231 of file Wintertodt.java.

231 {
232 player.send(new SendString("Wintertodt's Energy: "+(health / (MAX_HP / 100))+"%", 41553));
233 player.send(new SendString(isActive() ? "" : "The Wintertodt returns in: " + ((startDelay * 600) / 1000) + " secs", 41554));
234 player.send(new SendString("<col="+(player.wintertodtPoints >= 500 ? "FFFFFF" : "FF0000")+">Points\\n" + player.wintertodtPoints, 41556));
235
236 //Sends the pyromancer config stuff
237 player.send(new SendConfig(2224, BRAZIERS[0].isPyromancerAlive() ? 0 : 1));
238 player.send(new SendConfig(2222, BRAZIERS[1].isPyromancerAlive() ? 0 : 1));
239 player.send(new SendConfig(2223, BRAZIERS[2].isPyromancerAlive() ? 0 : 1));
240 player.send(new SendConfig(2225, BRAZIERS[3].isPyromancerAlive() ? 0 : 1));
241 //Sends the brazier config stuff
242 player.send(new SendConfig(2228, BRAZIERS[0].getBrazierState()));
243 player.send(new SendConfig(2226, BRAZIERS[1].getBrazierState()));
244 player.send(new SendConfig(2227, BRAZIERS[2].getBrazierState()));
245 player.send(new SendConfig(2229, BRAZIERS[3].getBrazierState()));
246
247 if (player.interfaceManager.getWalkable() != 41550)
248 player.interfaceManager.openWalkable(41550);
249 }
void openWalkable(int identification)
Opens a walkable-itemcontainer for the player.

References BRAZIERS, com.runehive.game.world.entity.mob.player.InterfaceManager.getWalkable(), health, com.runehive.game.world.entity.mob.player.Player.interfaceManager, isActive(), MAX_HP, com.runehive.game.world.entity.mob.player.InterfaceManager.openWalkable(), com.runehive.game.world.entity.mob.player.Player.send(), startDelay, and com.runehive.game.world.entity.mob.player.Player.wintertodtPoints.

Referenced by addPoints(), and update().

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

◆ shootFlame()

void com.runehive.content.wintertodt.Wintertodt.shootFlame ( Brazier brazier)
static

Handles spawning the flame that goes to the middle.

Definition at line 496 of file Wintertodt.java.

496 {
497 Npc flame = new Npc(FLAME, new Position(brazier.getObject().getPosition().getX() + brazier.getFlameOffsetX(), brazier.getObject().getPosition().getY() + brazier.getFlameOffsetY(), brazier.getObject().getPosition().getHeight()), 0, brazier.direction);
498 flame.movement.simplePath(new Position(1630, 4007));
499 flame.register();
500 flame.action.execute(new FlameWalk(flame));
501 }
boolean simplePath(Position destination)
Finds a smart path to the target.
void register()
Registers an entity to the World.
Definition Npc.java:112
int getHeight()
Gets the height coordinate, or height.
Definition Position.java:51

References com.runehive.game.world.entity.mob.Mob.action, com.runehive.content.wintertodt.Brazier.direction, com.runehive.game.action.ActionManager.execute(), FLAME, com.runehive.content.wintertodt.Brazier.getFlameOffsetX(), com.runehive.content.wintertodt.Brazier.getFlameOffsetY(), com.runehive.game.world.position.Position.getHeight(), com.runehive.content.wintertodt.Brazier.getObject(), com.runehive.game.world.object.GameObject.getPosition(), com.runehive.game.world.position.Position.getX(), com.runehive.game.world.position.Position.getY(), com.runehive.game.world.entity.mob.Mob.movement, com.runehive.game.world.entity.mob.npc.Npc.register(), and com.runehive.game.world.entity.mob.movement.Movement.simplePath().

Referenced by dealDamage().

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

◆ start()

void com.runehive.content.wintertodt.Wintertodt.start ( )
staticprivate

Definition at line 210 of file Wintertodt.java.

210 {
211 WINTERTODT.transform(ACTIVE_STORM_ID);
212
213 for (Brazier brazier : BRAZIERS) {
214 //brazier.getObject().transform(EMPTY_BRAZIER_ID);
215 brazier.getObject().unregister();
216 brazier.setObject(EMPTY_BRAZIER_ID);
217 brazier.getObject().register();
218 if (!brazier.isPyromancerAlive())
219 brazier.getPyromancer().transform(PYROMANCER);
220 }
221
222 health = MAX_HP;
223 started = true;
224 update();
225 }

References ACTIVE_STORM_ID, BRAZIERS, EMPTY_BRAZIER_ID, health, MAX_HP, PYROMANCER, started, update(), and WINTERTODT.

Referenced by init().

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

◆ takeHerb()

void com.runehive.content.wintertodt.Wintertodt.takeHerb ( Player player)
static

Handles taking a bruma herb.

Definition at line 754 of file Wintertodt.java.

754 {
755 if(!isActive()) {
756 player.message("There's no need to do that at this time.");
757 return;
758 }
759
760 if(player.inventory.getFreeSlots() <= 0) {
761 player.message("You have no space for that.");
762 return;
763 }
764
765 player.animate(2282);
766 player.action.execute(new PickHerb(player));
767 }

References com.runehive.game.world.entity.mob.Mob.action, com.runehive.game.world.entity.mob.Mob.animate(), com.runehive.game.action.ActionManager.execute(), com.runehive.game.world.items.containers.ItemContainer.getFreeSlots(), com.runehive.game.world.entity.mob.player.Player.inventory, isActive(), and com.runehive.game.world.entity.mob.player.Player.message().

Here is the call graph for this function:

◆ update()

void com.runehive.content.wintertodt.Wintertodt.update ( )
staticprivate

Definition at line 227 of file Wintertodt.java.

227 {
228 region.getPlayers(0).forEach(Wintertodt::send);
229 }

References region, and send().

Referenced by init(), and start().

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

Member Data Documentation

◆ ACTIVE_STORM_ID

final int com.runehive.content.wintertodt.Wintertodt.ACTIVE_STORM_ID = 29308
staticprivate

Definition at line 75 of file Wintertodt.java.

Referenced by start().

◆ BRAZIERS

final Brazier [] com.runehive.content.wintertodt.Wintertodt.BRAZIERS
static
Initial value:
= {
new Brazier(World.getRegions().getRegion(new Position(1620, 3997, 0)).getGameObject(29312, new Position(1620, 3997, 0)), new Npc(7371, new Position(1619, 3996, 0), 0, Direction.NORTH_EAST), 2, 2, Direction.NORTH_EAST),
new Brazier(World.getRegions().getRegion(new Position(1620, 4015, 0)).getGameObject(29312, new Position(1620, 4015, 0)), new Npc(7371, new Position(1619, 4018, 0), 0, Direction.SOUTH_EAST), 2, 0, Direction.SOUTH_EAST),
new Brazier(World.getRegions().getRegion(new Position(1638, 4015, 0)).getGameObject(29312, new Position(1638, 4015, 0)), new Npc(7371, new Position(1641, 4018, 0), 0, Direction.SOUTH_WEST), 0, 0, Direction.SOUTH_WEST),
new Brazier(World.getRegions().getRegion(new Position(1638, 3997, 0)).getGameObject(29312, new Position(1638, 3997, 0)), new Npc(7371, new Position(1641, 3996, 0), 0, Direction.NORTH_WEST), 0, 2, Direction.NORTH_WEST)
}
Represents the game world.
Definition World.java:46
static RegionManager getRegions()
Definition World.java:552
Represents a non-player character in the in-game world.
Definition Npc.java:29
Represents a single tile on the game world.
Definition Position.java:14
Region getRegion(Position position)
Gets a region by position.
Represents the enumerated directions an entity can walk or face.

Brazier data.

Definition at line 160 of file Wintertodt.java.

160 {
161 new Brazier(World.getRegions().getRegion(new Position(1620, 3997, 0)).getGameObject(29312, new Position(1620, 3997, 0)), new Npc(7371, new Position(1619, 3996, 0), 0, Direction.NORTH_EAST), 2, 2, Direction.NORTH_EAST), // sw
162 new Brazier(World.getRegions().getRegion(new Position(1620, 4015, 0)).getGameObject(29312, new Position(1620, 4015, 0)), new Npc(7371, new Position(1619, 4018, 0), 0, Direction.SOUTH_EAST), 2, 0, Direction.SOUTH_EAST), // nw
163 new Brazier(World.getRegions().getRegion(new Position(1638, 4015, 0)).getGameObject(29312, new Position(1638, 4015, 0)), new Npc(7371, new Position(1641, 4018, 0), 0, Direction.SOUTH_WEST), 0, 0, Direction.SOUTH_WEST), // ne
164 new Brazier(World.getRegions().getRegion(new Position(1638, 3997, 0)).getGameObject(29312, new Position(1638, 3997, 0)), new Npc(7371, new Position(1641, 3996, 0), 0, Direction.NORTH_WEST), 0, 2, Direction.NORTH_WEST) // se
165 };

Referenced by attackPyromancers(), dealDamage(), death(), extinguishBraziers(), feedBrazier(), fixBrazier(), getBraziersLit(), healPyromancer(), init(), lightBrazier(), pyromancerText(), send(), and start().

◆ BROKEN_BRAZIER_ID

final int com.runehive.content.wintertodt.Wintertodt.BROKEN_BRAZIER_ID = 29313
static

Definition at line 78 of file Wintertodt.java.

Referenced by breakBrazier(), and pyromancerText().

◆ BRUMA_HERB

final int com.runehive.content.wintertodt.Wintertodt.BRUMA_HERB = 20698
static

◆ BRUMA_KINDLING

final int com.runehive.content.wintertodt.Wintertodt.BRUMA_KINDLING = 20696
static

◆ BRUMA_ROOT

final int com.runehive.content.wintertodt.Wintertodt.BRUMA_ROOT = 20695
static

◆ BURNING_BRAZIER_ID

◆ DEFAULT_DELAY

final int com.runehive.content.wintertodt.Wintertodt.DEFAULT_DELAY = 10
staticprivate

Definition at line 33 of file Wintertodt.java.

Referenced by death(), and init().

◆ EMPTY_BRAZIER_ID

final int com.runehive.content.wintertodt.Wintertodt.EMPTY_BRAZIER_ID = 29312
static

◆ FLAME

final int com.runehive.content.wintertodt.Wintertodt.FLAME = 7373
staticprivate

Definition at line 69 of file Wintertodt.java.

Referenced by shootFlame().

◆ GAME_ITEMS

final List<Integer> com.runehive.content.wintertodt.Wintertodt.GAME_ITEMS = Arrays.asList(BRUMA_ROOT, BRUMA_KINDLING, BRUMA_HERB, REJUV_POT_UNF, REJUV_POT_4, REJUV_POT_3, REJUV_POT_2, REJUV_POT_1)
staticprivate

List of all minigame items.

Definition at line 85 of file Wintertodt.java.

Referenced by removeGameItems().

◆ health

int com.runehive.content.wintertodt.Wintertodt.health = 0
static

Definition at line 45 of file Wintertodt.java.

Referenced by dealDamage(), extinguishBraziers(), send(), and start().

◆ INACTIVE_STORM_ID

final int com.runehive.content.wintertodt.Wintertodt.INACTIVE_STORM_ID = 29309
staticprivate

Definition at line 76 of file Wintertodt.java.

Referenced by death(), and init().

◆ INCAPACITATED_PYROMANCER

final int com.runehive.content.wintertodt.Wintertodt.INCAPACITATED_PYROMANCER = 7372
static

◆ MAX_HP

final int com.runehive.content.wintertodt.Wintertodt.MAX_HP = 3500
static

Definition at line 44 of file Wintertodt.java.

Referenced by dealDamage(), extinguishBraziers(), send(), and start().

◆ PYROMANCER

◆ PYROMANCER_DEAD_TEXT

final String [] com.runehive.content.wintertodt.Wintertodt.PYROMANCER_DEAD_TEXT = {"My flame burns low.", "Mummy!", "I think I'm dying.", "We are doomed.", "Ugh, help me!"}
staticprivate

Npc ids.

Definition at line 65 of file Wintertodt.java.

65{"My flame burns low.", "Mummy!", "I think I'm dying.", "We are doomed.", "Ugh, help me!"};

Referenced by pyromancerText().

◆ pyroSpeechDelay

int com.runehive.content.wintertodt.Wintertodt.pyroSpeechDelay
staticprivate

Definition at line 47 of file Wintertodt.java.

Referenced by init(), and pyromancerText().

◆ region

Region com.runehive.content.wintertodt.Wintertodt.region
static

◆ REGION_ID

final int com.runehive.content.wintertodt.Wintertodt.REGION_ID = 6462
static

Region of the wintertodt game.

Definition at line 38 of file Wintertodt.java.

◆ REJUV_POT_1

final int com.runehive.content.wintertodt.Wintertodt.REJUV_POT_1 = 20702
static

Definition at line 59 of file Wintertodt.java.

Referenced by healPyromancer().

◆ REJUV_POT_2

final int com.runehive.content.wintertodt.Wintertodt.REJUV_POT_2 = 20701
static

Definition at line 58 of file Wintertodt.java.

Referenced by healPyromancer().

◆ REJUV_POT_3

final int com.runehive.content.wintertodt.Wintertodt.REJUV_POT_3 = 20700
static

Definition at line 57 of file Wintertodt.java.

Referenced by healPyromancer().

◆ REJUV_POT_4

final int com.runehive.content.wintertodt.Wintertodt.REJUV_POT_4 = 20699
static

◆ REJUV_POT_UNF

final int com.runehive.content.wintertodt.Wintertodt.REJUV_POT_UNF = 20697
static

◆ SNOW_EFFECT_ID

final int com.runehive.content.wintertodt.Wintertodt.SNOW_EFFECT_ID = 26690
staticprivate

Game object ids.

Definition at line 74 of file Wintertodt.java.

Referenced by attackPyromancers(), breakBrazier(), and doMagicAttack().

◆ startDelay

int com.runehive.content.wintertodt.Wintertodt.startDelay = DEFAULT_DELAY
staticprivate

Definition at line 46 of file Wintertodt.java.

Referenced by death(), init(), isActive(), and send().

◆ started

boolean com.runehive.content.wintertodt.Wintertodt.started = false
staticprivate

Game data.

Definition at line 43 of file Wintertodt.java.

Referenced by death(), init(), and start().

◆ WARM_CLOTHING

final List<Integer> com.runehive.content.wintertodt.Wintertodt.WARM_CLOTHING
staticprivate

List of all warm clothing.

Definition at line 91 of file Wintertodt.java.

Referenced by getWarmItemsWorn().

◆ WINTERTODT

CustomGameObject com.runehive.content.wintertodt.Wintertodt.WINTERTODT
staticprivate

Definition at line 80 of file Wintertodt.java.

Referenced by death(), init(), and start().


The documentation for this class was generated from the following file: