ZoriaRPG icon

[LWeapon Script] Exploding boomerang

ZoriaRPG | PRO | 09/16/19 05:14:32 AM UTC | 0 ⭐ | 755 👁️ | Never ⏰ | []
C++ |

790 B

|

None

|

0 👍

/

0 👎

//Boomerang Explodes on contact with enemy.
//v0.1, 16th September, 2019 by ZoriaRPG
//Do: Damage value for explosion. Defaults to damage power of boomerang + 2.
 
lweapon script exploderang
{
    void run(int explosion_damage)
    {
        while(this->isValid())
        {
            for ( int q = Screen->NumNPCs(); q > 0; --q )
            {
                npc n = Screen->LoadNPC(q);
                if ( n->Defense[NPCD_BOOMERANG] != NPCDT_IGNORE && Collision(this, n) )
                {
                    n->InvFrames = 0;
                    lweapon boom = Screen->CreateLWeapon(LW_BOMBBLAST);
                    boom->X = this->X;
                    boom->Y = this->Y;
                    boom Dir = this->Dir;
                    boom->Step = 0;
                    boom->Damage = ( explosion_damage > 0 ) ? explosion_damage : (this->Power + 2);
                    this->DeadState = WDS_DEAD;
                    Remove(this);
                }
            }
            Waitframe();
        }
    }
}

Comments