mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2026-08-24 20:05:13 -06:00
Addressed issue #130. Added loar shades, fixed all their animations, proper transitions between forms, etc
This commit is contained in:
parent
55f2a6409b
commit
d14d70843d
3 changed files with 21 additions and 4 deletions
|
|
@ -14369,7 +14369,7 @@ INSERT INTO `npc_configs` (`id`, `name`, `examine`, `lifepoints`, `attack_level`
|
|||
(1235, 'Bruise Blamish Snail', 'A bruise blue coloured blamish snail', 14, 10, 10, 10, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 8143, 0, 8144, NULL, 0, 0, NULL, NULL, NULL, 9, NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(1239, 'Bedabin Nomad Fighter', 'A Bedabin nomad fighter - a sandy swordsman.', 42, 30, 30, 30, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 390, 0, 836, NULL, 0, 0, NULL, NULL, NULL, 9, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(1240, 'Loar Shadow', 'A shadowy sort of entity', 60, 31, 31, 42, 1, 42, NULL, NULL, NULL, 60, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, 3, 73, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(1241, 'Loar Shade', 'The shadowy remains of a long departed soul.', 60, 31, 31, 42, 1, 42, NULL, NULL, NULL, 60, NULL, NULL, NULL, 1283, 0, 1287, NULL, 0, 0, NULL, NULL, NULL, 3, 73, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(1241, 'Loar Shade', 'The shadowy remains of a long departed soul.', 60, 31, 31, 42, 1, 42, NULL, NULL, NULL, 60, NULL, NULL, NULL, 1283, 1284, 1308, NULL, 0, 0, NULL, NULL, NULL, 3, 73, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(1243, 'Phrin Shadow', 'A shadowy sort of entity', 61, 32, 32, 43, 1, 43, NULL, NULL, NULL, 60, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, 3, 73, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(1244, 'Phrin Shade', 'The shadowy remains of a long departed soul.', 61, 32, 32, 43, 1, 43, NULL, NULL, NULL, 60, NULL, NULL, NULL, 1283, 0, 1287, NULL, 0, 0, NULL, NULL, NULL, 3, 73, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(1245, 'Riyl Shadow', 'A shadowy sort of entity', 64, 33, 33, 45, 1, 45, NULL, NULL, NULL, 60, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, 3, 73, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
|
|
@ -15860,9 +15860,9 @@ INSERT INTO `npc_configs` (`id`, `name`, `examine`, `lifepoints`, `attack_level`
|
|||
(4654, 'Trader Crewmember', 'She\'ll never be able to climb rigging in that.', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(4655, 'Trader Crewmember', 'High heels on a ship? What is she thinking?', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(4656, 'Trader Crewmember', 'The effect is sort of spoiled by all those tattoos.', 10, 1, 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(4658, 'Dark wizard', NULL, 12, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
|
||||
(4659, 'Dark wizard', NULL, 12, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
|
||||
(4660, 'Dark wizard', NULL, 25, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
|
||||
(4658, 'Dark wizard', 'A wizard of the Dark Arts.', 12, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
|
||||
(4659, 'Dark wizard', 'A wizard of the Dark Arts.', 12, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
|
||||
(4660, 'Dark wizard', 'A wizard of the Dark Arts.', 25, 1, 1, 1, 1, NULL, NULL, NULL, NULL, 60, NULL, NULL, NULL, 810, 425, 836, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
|
||||
(4661, 'Dark wizard', 'A wizard of the Dark Arts.', 30, 1, 1, 15, 1, 15, '30,10,10,10,10,10,10,25,0,0,0,0,0,0,0', NULL, NULL, 20, 5, NULL, NULL, NULL, 404, 9055, NULL, NULL, NULL, 2713, 2718, NULL, NULL, NULL, NULL, 2, NULL, 1, NULL, NULL, NULL, NULL, NULL, '511,513,512', NULL, NULL, NULL),
|
||||
(4665, 'Baby blue dragon', 'Young but still dangerous.', 50, 40, 40, 42, 1, 40, '50,40,64,60,30,45,40,40,20,40,40,20,0,0,0', NULL, NULL, 32, 5, NULL, NULL, 25, 26, 28, NULL, 25, 25, NULL, NULL, NULL, 3, 68, 0, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, '408,410,409', NULL, NULL, NULL),
|
||||
(4666, 'Baby blue dragon', 'Young but still dangerous.', 51, 45, 45, 48, 45, 45, '49,45,43,50,73,71,56,78,68,0,0,0,0,0,0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 108, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '408,410,409', NULL, NULL, NULL),
|
||||
|
|
@ -17873,6 +17873,8 @@ INSERT INTO `npc_drops` (`npc_id`, `default`, `main`, `charm`) VALUES
|
|||
(1233, '{3367,1,1,0.0,ALWAYS}~{3357,1,1,0.0,ALWAYS}', '', ''),
|
||||
(1234, '{3363,1,1,0.0,ALWAYS}~{3359,1,1,0.0,ALWAYS}', '', ''),
|
||||
(1235, '{3367,1,1,0.0,ALWAYS}~{3361,1,1,0.0,ALWAYS}', '', ''),
|
||||
(1240, '{3396,1,1,0.0,ALWAYS}','',''),
|
||||
(1241, '{3396,1,1,0.0,ALWAYS}','',''),
|
||||
(1255, '{526,1,1,0.0,ALWAYS}', '{1139,1,1,0.0,UNCOMMON}~{1203,1,1,0.0,UNCOMMON}~{882,7,7,0.0,UNCOMMON}~{877,5,11,0.0,UNCOMMON}~{558,9,9,0.0,UNCOMMON}~{554,6,6,0.0,UNCOMMON}~{562,2,2,0.0,UNCOMMON}~{557,4,4,0.0,UNCOMMON}~{1440,1,1,0.0,UNCOMMON}~{199,1,1,0.0,RARE}~{201,1,1,0.0,RARE}~{203,1,1,0.0,UNCOMMON}~{205,1,1,0.0,RARE}~{207,1,1,0.0,RARE}~{209,1,1,0.0,RARE}~{211,1,1,0.0,RARE}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,UNCOMMON}~{995,3,30,0.0,COMMON}~{1965,1,1,0.0,UNCOMMON}~{436,1,1,0.0,UNCOMMON}~{313,110,30,0.0,RARE}~{2681,1,1,0.0,RARE}', ''),
|
||||
(1256, '{526,1,1,0.0,ALWAYS}', '{1139,1,1,0.0,UNCOMMON}~{1203,1,1,0.0,UNCOMMON}~{882,7,7,0.0,UNCOMMON}~{877,5,11,0.0,UNCOMMON}~{558,9,9,0.0,UNCOMMON}~{554,6,6,0.0,UNCOMMON}~{562,2,2,0.0,UNCOMMON}~{557,4,4,0.0,UNCOMMON}~{1440,1,1,0.0,UNCOMMON}~{199,1,1,0.0,RARE}~{201,1,1,0.0,RARE}~{203,1,1,0.0,UNCOMMON}~{205,1,1,0.0,RARE}~{207,1,1,0.0,RARE}~{209,1,1,0.0,RARE}~{211,1,1,0.0,RARE}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,UNCOMMON}~{995,3,30,0.0,COMMON}~{1965,1,1,0.0,UNCOMMON}~{436,1,1,0.0,UNCOMMON}~{313,110,30,0.0,RARE}~{2677,1,1,0.0,RARE}', ''),
|
||||
(1257, '{526,1,1,0.0,ALWAYS}', '{1139,1,1,0.0,UNCOMMON}~{1203,1,1,0.0,UNCOMMON}~{882,7,7,0.0,UNCOMMON}~{877,5,11,0.0,UNCOMMON}~{558,9,9,0.0,UNCOMMON}~{554,6,6,0.0,UNCOMMON}~{562,2,2,0.0,UNCOMMON}~{557,4,4,0.0,UNCOMMON}~{1440,1,1,0.0,UNCOMMON}~{199,1,1,0.0,RARE}~{201,1,1,0.0,RARE}~{203,1,1,0.0,UNCOMMON}~{205,1,1,0.0,RARE}~{207,1,1,0.0,RARE}~{209,1,1,0.0,RARE}~{211,1,1,0.0,RARE}~{213,1,1,0.0,RARE}~{215,1,1,0.0,RARE}~{2485,1,1,0.0,RARE}~{217,1,1,0.0,UNCOMMON}~{995,3,30,0.0,COMMON}~{1965,1,1,0.0,UNCOMMON}~{436,1,1,0.0,UNCOMMON}~{313,110,30,0.0,RARE}~{2686,1,1,0.0,RARE}', ''),
|
||||
|
|
@ -22030,6 +22032,7 @@ INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
|||
(3917, '{2581,3861,0,0,1}'),
|
||||
(7711, '{3405,9902,0,0,0}');
|
||||
INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
||||
(1240, '{3502,3288,0,1,4}-{3505,3284,0,1,4}-{3490,3292,0,1,4}-{3502,3300,0,1,4}-{3492,3303,0,1,4}-{3516,3303,0,1,4}-{3478,3281,0,1,4}-{3473,3273,0,1,4}-{3469,3288,0,1,4}-{3469,3304,0,1,4}'),
|
||||
(3851, '{2332,3669,0,0,0}-{2325,3671,0,0,4}-{2331,3670,0,0,1}-{2333,3671,0,0,3}'),
|
||||
(3848, '{2337,3703,0,0,6}-{2340,3702,0,0,6}-{2343,3702,0,0,3}-{2349,3702,0,0,6}-{2353,3703,0,0,6}-{2310,3704,0,0,6}-{2311,3696,0,0,4}-{2343,3702,0,0,3}'),
|
||||
(7734, '{3009,3487,0,0,0}'),
|
||||
|
|
@ -22068,6 +22071,7 @@ INSERT INTO `npc_spawns` (`npc_id`, `loc_data`) VALUES
|
|||
(684, '{2673,3416,0,0,0}'),
|
||||
(694, '{2659,3431,0,0,3}');
|
||||
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
|
|
|
|||
|
|
@ -221,6 +221,10 @@ public abstract class Entity extends Node {
|
|||
if (HolidayEvent.getCurrent() != null) {
|
||||
HolidayEvent.getCurrent().finalizeDeath(killer, this);
|
||||
}
|
||||
//Check if it's a Loar shade and transform back into the shadow version.
|
||||
if(this.getId() == 1240 || this.getId() == 1241){
|
||||
this.asNpc().transform(1240);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import org.crandor.game.node.Node;
|
|||
import org.crandor.game.node.entity.Entity;
|
||||
import org.crandor.game.node.entity.combat.equipment.ArmourSet;
|
||||
import org.crandor.game.node.entity.combat.equipment.WeaponInterface;
|
||||
import org.crandor.game.node.entity.impl.Animator;
|
||||
import org.crandor.game.node.entity.npc.NPC;
|
||||
import org.crandor.game.node.entity.player.Player;
|
||||
import org.crandor.game.node.entity.player.link.audio.Audio;
|
||||
|
|
@ -14,6 +15,7 @@ import org.crandor.game.node.entity.state.EntityState;
|
|||
import org.crandor.game.node.item.Item;
|
||||
import org.crandor.game.system.task.Pulse;
|
||||
import org.crandor.game.world.GameWorld;
|
||||
import org.crandor.game.world.update.flag.context.Animation;
|
||||
import org.crandor.tools.RandomFunction;
|
||||
|
||||
/**
|
||||
|
|
@ -101,6 +103,7 @@ public final class CombatPulse extends Pulse {
|
|||
if (!entity.getViewport().getRegion().isActive() || !victim.getViewport().getRegion().isActive()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!interactable()) {
|
||||
if (entity.getWalkingQueue().isMoving()) {
|
||||
return false;
|
||||
|
|
@ -373,8 +376,14 @@ public final class CombatPulse extends Pulse {
|
|||
}
|
||||
if (victim instanceof NPC) {
|
||||
if (entity instanceof Player && victim != this.victim && victim != lastVictim) {
|
||||
// Loar Shade Transformation Animation
|
||||
Animation shade = new Animation(1288, 0, Animator.Priority.VERY_HIGH);
|
||||
Player player = (Player) entity;
|
||||
Item mask = player.getEquipment().get(EquipmentContainer.SLOT_HAT);
|
||||
if(victim.getId() == 1240){
|
||||
((NPC) victim).animate(shade);
|
||||
((NPC) victim).transform(1241);
|
||||
}
|
||||
if (mask != null && mask.getId() >= 8901 && mask.getId() < 8920 && RandomFunction.random(50) == 0) {
|
||||
player.getPacketDispatch().sendMessage("Your black mask startles your enemy, you have " +
|
||||
(mask.getId() == 8919 ? "no" : Integer.toString((8920 - mask.getId()) / 2)) + " charges left.");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue