Skip to content

Standard Jutsus

Each jutsu is a separate class with the same set of methods. All go in the NPC's Update (Tick) tab.

Available Jutsus

Jutsu Import Name Description
Fireball FireballJutsu Large fireball projectile
Fire Bullet FireBulletJutsu Explosive fire bullet
Water Bullet WaterBulletJutsu Triple water bullet barrage (3x damage in water)
Lightning Ball LightningBallJutsu Electric projectile with stun + AOE in water
Tengai TengaiJutsu Massive meteor from the sky
Boil Meltdown BoilReleaseMeltdownJutsu Explosive projectile with fire + poison
Crystal Dragon CrystalDragonJutsu Crystal dragon projectile
Dust Cube DustAtomicDismantlingCubeJutsu Particle style cube explosion
Explosive Clay Birds ExplosiveClayBirdsJutsu C1 explosive clay birds
Lava Rock LavaReleaseStreamRockJutsu Lava rock with fire spread
Ice Needles IceReleaseIceNeedlesJutsu 9 ice needles in spread pattern
Storm Demon StormReleaseDemonJutsu Storm cloud with AOE damage + slowness
Scorch Ring ScorchReleaseRingOfSunsJutsu 4 homing fireballs with fire + weakness
Steel Projectile SteelReleaseProjectileJutsu Steel projectile
Wood Dragon WoodDragonJutsu Wood dragon with explosion + slowness

Import Statements

Each jutsu is imported separately. Only import the ones you need:

var Fireball = Java.type("narutodestination.Mathioks.CNPC.Jutsus.FireballJutsu");
var FireBullet = Java.type("narutodestination.Mathioks.CNPC.Jutsus.FireBulletJutsu");
var WaterBullet = Java.type("narutodestination.Mathioks.CNPC.Jutsus.WaterBulletJutsu");
var LightningBall = Java.type("narutodestination.Mathioks.CNPC.Jutsus.LightningBallJutsu");
var Tengai = Java.type("narutodestination.Mathioks.CNPC.Jutsus.TengaiJutsu");
var BoilMeltdown = Java.type("narutodestination.Mathioks.CNPC.Jutsus.BoilReleaseMeltdownJutsu");
var CrystalDragon = Java.type("narutodestination.Mathioks.CNPC.Jutsus.CrystalDragonJutsu");
var DustCube = Java.type("narutodestination.Mathioks.CNPC.Jutsus.DustAtomicDismantlingCubeJutsu");
var ClayBirds = Java.type("narutodestination.Mathioks.CNPC.Jutsus.ExplosiveClayBirdsJutsu");
var LavaRock = Java.type("narutodestination.Mathioks.CNPC.Jutsus.LavaReleaseStreamRockJutsu");
var IceNeedles = Java.type("narutodestination.Mathioks.CNPC.Jutsus.IceReleaseIceNeedlesJutsu");
var StormDemon = Java.type("narutodestination.Mathioks.CNPC.Jutsus.StormReleaseDemonJutsu");
var ScorchRing = Java.type("narutodestination.Mathioks.CNPC.Jutsus.ScorchReleaseRingOfSunsJutsu");
var SteelProjectile = Java.type("narutodestination.Mathioks.CNPC.Jutsus.SteelReleaseProjectileJutsu");
var WoodDragon = Java.type("narutodestination.Mathioks.CNPC.Jutsus.WoodDragonJutsu");

Methods

Every standard jutsu has the same five methods. The examples below use Fireball, but they work the same for all jutsus listed above.

cast(npc)

Cast with default damage and cooldown.

Fireball.cast(event.npc);

cast(npc, damage)

Cast with custom damage, default cooldown.

Fireball.cast(event.npc, 50.0);

cast(npc, damage, cooldownTicks)

Cast with custom damage and cooldown. 20 ticks = 1 second.

Fireball.cast(event.npc, 50.0, 100); // 50 damage, 5 second cooldown

percent(npc, baseDamage, percentHP)

Cast with percentage-based damage. Final damage = baseDamage + (percentHP * target's max HP).

Fireball.percent(event.npc, 5.0, 0.5); // 5 + 50% of target's max HP

percent(npc, baseDamage, percentHP, cooldownTicks)

Percentage damage with custom cooldown.

Fireball.percent(event.npc, 5.0, 0.5, 60); // 3 second cooldown

Examples

Basic fire NPC

Place in the NPC's Update (Tick) tab:

var Fireball = Java.type("narutodestination.Mathioks.CNPC.Jutsus.FireballJutsu");

function tick(event) {
    var target = event.npc.getAttackTarget();
    if (target != null) {
        Fireball.cast(event.npc);
    }
}

Water ninja with custom damage

var WaterBullet = Java.type("narutodestination.Mathioks.CNPC.Jutsus.WaterBulletJutsu");

function tick(event) {
    var target = event.npc.getAttackTarget();
    if (target != null) {
        WaterBullet.cast(event.npc, 25.0, 200);
    }
}

WaterBullet automatically does 3x damage when the NPC is in water.

Homing projectiles

var ScorchRing = Java.type("narutodestination.Mathioks.CNPC.Jutsus.ScorchReleaseRingOfSunsJutsu");

function tick(event) {
    var target = event.npc.getAttackTarget();
    if (target != null) {
        if (ScorchRing.cast(event.npc, 15.0)) {
            event.npc.say("Scorch Release: Ring of Suns!");
        }
    }
}

ScorchRing spawns 4 homing fireballs that track the target.

Random jutsu selection

var BoilMeltdown = Java.type("narutodestination.Mathioks.CNPC.Jutsus.BoilReleaseMeltdownJutsu");
var LavaRock = Java.type("narutodestination.Mathioks.CNPC.Jutsus.LavaReleaseStreamRockJutsu");
var StormDemon = Java.type("narutodestination.Mathioks.CNPC.Jutsus.StormReleaseDemonJutsu");
var IceNeedles = Java.type("narutodestination.Mathioks.CNPC.Jutsus.IceReleaseIceNeedlesJutsu");

function tick(event) {
    var target = event.npc.getAttackTarget();
    if (target != null) {
        var random = Math.random();

        if (random < 0.25) {
            BoilMeltdown.cast(event.npc, 20.0);
        } else if (random < 0.50) {
            LavaRock.cast(event.npc, 20.0);
        } else if (random < 0.75) {
            StormDemon.cast(event.npc, 10.0);
        } else {
            IceNeedles.cast(event.npc, 8.0);
        }
    }
}

Percentage damage boss

var DustCube = Java.type("narutodestination.Mathioks.CNPC.Jutsus.DustAtomicDismantlingCubeJutsu");
var ScorchRing = Java.type("narutodestination.Mathioks.CNPC.Jutsus.ScorchReleaseRingOfSunsJutsu");

function tick(event) {
    var target = event.npc.getAttackTarget();
    if (target != null) {
        var random = Math.random();

        if (random < 0.3) {
            // 10 base + 20% of target's max HP
            DustCube.percent(event.npc, 10.0, 0.20);
        } else {
            // 5 base + 10% of target's max HP
            ScorchRing.percent(event.npc, 5.0, 0.10);
        }
    }
}