summaryrefslogblamecommitdiff
path: root/npc/commands/kami.txt
blob: 0e9b567c8d9f7f4bf679889831db6d14ba4206b1 (plain) (tree)
1
2
3
4
5
6
7

              
               
                                         
  

                                                                   




                               
                                     
                                                        



                                          


                                                        
                               
                                                   


                                            
        
 

                                                
                                                   














                                                                   










                                                       







                                                                              
                                             


        
       
                                       




                      
                                         

        
       

                                                    
 
                                                   

                                                  
 

                                                           

                                                      
 







                                         
                                         






                                                         
                                                    


           
// TMW2 Script
//
// @k <message>
// Broadcast, and broadcast to #world too
//
// @servmsg <message>
// Experimental, uses servicemessage() - requires up to date server

-	script	@k	32767,{
    end;

OnCall:
    .@request$ = strcharinfo(0)+": ";
	.@request$ += implode(.@atcmd_parameters$, " ");
    channelmes("#world", .@request$);
    announce l(.@request$), bc_all|bc_npc;
    end;

OnServMsg:
    .@request$ = strcharinfo(0)+": ";
	.@request$ += implode(.@atcmd_parameters$, " ");
    // This can be slow, beware
    .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
    for (.@i = 0; .@i < .@c; .@i++) {
        message(.@players[.@i], .@request$);
    }
    end;

OnBuff:
    // Disabled command, used for debug purposes
    .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
    for (.@i = 0; .@i < .@c; .@i++) {
        attachrid(.@players[.@i]);
        sc_start SC_INCMHPRATE, 300000, 100;
        sc_start SC_INCMSPRATE, 300000, 100;
        sc_start SC_INCFLEERATE, 300000, 100;
        sc_start SC_INCHITRATE, 300000, 100;
        sc_start SC_WALKSPEED, 300000, 150;
        sc_start SC_ATTHASTE_POTION3, 300000, 50;
        percentheal 100, 100;
        dispbottom l("YOU WERE BLESSED BY JESUSALVA");
        dispbottom l("YOU CAN FEEL THE POWER FLOWING TROUGH YOU.");
        detachrid();
    }
    end;

OnInstDestroy:
	.@request = implode(.@atcmd_parameters$, " ");
    if (.@request != 0)
        instance_destroy(.@request);
    end;

OnInstCheck:
	.@request$ = implode(.@atcmd_parameters$, " ");
    dispbottom has_instance2(.@request$);
    end;

OnPurify:
    getmapxy(.@m$, .@x, .@y, 0);
    .@r=60;
    .@b=BL_PET;

    .@c=getunits(.@b, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
    for (.@i = 0; .@i < .@c; .@i++) {
        specialeffect(FX_LIGHTNING, AREA, .@mbs[.@i]);
        unitwarp(.@mbs[.@i], "boss", 25, 25);
    }
    end;

OnHarm:
    harm(getcharid(3), 500, HARM_PHYS);
    end;

OnHarm2:
    .@id=getcharid(3);
    detachrid();
    harm(.@id, 500, HARM_MISC, Ele_Holy);
    end;

OnInit:
    bindatcmd "k", "@k::OnCall", 60, 80, 1;
    bindatcmd "servmsg", "@k::OnServMsg", 80, 99, 1;

    bindatcmd "blessing", "@k::OnBuff", 99, 100, 1;
    bindatcmd "harm", "@k::OnHarm", 80, 80, 1;
    bindatcmd "cruelty", "@k::OnHarm2", 99, 99, 1;

    bindatcmd "instcheck", "@k::OnInstCheck", 99, 100, 1;
    bindatcmd "instdestr", "@k::OnInstDestroy", 99, 100, 1;
    bindatcmd "burnlivio", "@k::OnPurify", 99, 100, 1;
    end;
}

// kamibroadcast( message{, sender} )
function	script	kamibroadcast	{
    .@msg$=getarg(0);
    .@snd$=getarg(1, "");

    // Send to #world
    if (.@snd$ == "")
        channelmes("#world", " "+.@msg$);
    else
        channelmes("#world", "[ "+.@snd$+" ] : "+.@msg$);

    // Make an announce
    if (.@snd$ == "")
        announce .@msg$, bc_all|bc_npc;
    else
        announce .@snd$+" : "+.@msg$, bc_all|bc_npc;

    return;
}