filler

Flash Sword

Flahs Bang You and your enemies

← Back to main

Code Block:


api.giveItem(playerId, "Gold Sword", 1, {
  customDisplayName: "Flash Sword"
});
      

World Code:


//Timeout Code by Sulfrox
class MinQueue{constructor(i,t,e){t=e=Uint32Array,this.c=i,this.k=new t(i+1),this.p=new e(i+1),this.h=!1,this.l=0}bbu(i){let t=this.k,e=this.p,r=t[i],h=e[i];for(;i>1;){let s=i>>>1;if(e[s]<=h)break;t[i]=t[s],e[i]=e[s],i=s}t[i]=r,e[i]=h}bbd(i){let t=this.k,e=this.p,r=t[i],h=e[i],s=1+(this.l>>>1),u=this.l+1;for(;i<s;){let n=i<<1,l=e[n],m=t[n],_=n,p=n+1;if(p<u&&e[p]<l&&(l=e[p],m=t[p],_=p),l>=h)break;t[i]=m,e[i]=l,i=_}t[i]=r,e[i]=h}push(i,t){if(this.l===this.c)throw"heap full";if(this.h)this.k[1]=i,this.p[1]=t,this.l++,this.bbd(1),this.h=!1;else{let e=this.l+1;this.k[e]=i,this.p[e]=t,this.l++,this.bbu(e)}}pop(){if(0!==this.l)return this.rpe(),this.l--,this.h=!0,this.k[1]}peekPriority(){if(0!==this.l)return this.rpe(),this.p[1]}peek(){if(0!==this.l)return this.rpe(),this.k[1]}rpe(){this.h&&(this.k[1]=this.k[this.l+1],this.p[1]=this.p[this.l+1],this.bbd(1),this.h=!1)}}let currently_running_timer,TimerQueue=new MinQueue(1024),TimerDictionary=[],TimerNum=0,TickNum=0;function setTimeOut(i,t){let e=TickNum+Math.floor(t/50);TimerDictionary[TimerNum]=i,TimerQueue.push(TimerNum,e),TimerNum++}function tick(){if(TickNum++,currently_running_timer)currently_running_timer(),currently_running_timer=void 0;else if(TimerQueue.peekPriority()<=TickNum){let i=TimerQueue.peek();void 0!==i&&(currently_running_timer=TimerDictionary[i]),TimerQueue.pop(),delete TimerDictionary[i]}}


function blindness(e, t) {
  let i = Math.floor(t / 100), o = 0;
  api.applyEffect(e, "Slowness", 1.5 * t, { inbuiltLevel: 2 });

  let n = () => {
    let t = api.getPosition(e);
    if (!t) return;
    let [l, r, m] = t, a = r + 1.6;
    api.playParticleEffect({
      texture: "square_particle",
      dir1: [-1, -1, -1],
      dir2: [1, 1, 1],
      pos1: [l - 1, a - 1, m - 1],
      pos2: [l + 1, a + 1, m + 1],
      minLifeTime: .2,
      maxLifeTime: .4,
      minEmitPower: 0,
      maxEmitPower: 0,
      minSize: 1.5,
      maxSize: 3.5,
      manualEmitCount: 150,
      gravity: [0, 0, 0],
      colorGradients: [{
        timeFraction: 0,
        minColor: [255, 255, 255, 1],
        maxColor: [255, 255, 255, 1]
      }],
      velocityGradients: [{
        timeFraction: 0,
        factor: 0,
        factor2: 0
      }],
      blendMode: 1,
      hideDist: 30
    });

    if (++o < i) setTimeOut(n, 100);
  };
  n();
}

// --- Flash Sword Trigger
onPlayerDamagingOtherPlayer = (attacker,victim,damageDealt,withItem) => {
  const held = api.getHeldItem(attacker);
  if (
    held?.name === "Gold Sword" &&
    held?.attributes?.customDisplayName === "Flash Sword"
  ) {
    blindness(victim, 500);
  }
};