C_ItemUSe
}else if(itemId == 60041){//集體魔法卷軸:集體加速卷軸(測試)
useMassSkillEffect(pc,300,755,1,true,true);
pc.getInventory().removeItem(l1iteminstance, 1);
複製代碼
//集體魔法卷軸:集體加速卷軸 by13630020
private void useMassSkillEffect(L1PcInstance player, int time, int castgfx, int moveSet, boolean isPc, boolean isNpc) {
List<L1PcInstance> targetPc = L1World.getInstance().getVisiblePlayer(player);
List<L1Object> targetNpc = L1World.getInstance().getVisibleObjects(player);
boolean isAgree = false;
for (L1Object tgobj : targetNpc) {//對寵物或召喚
if (tgobj instanceof L1SummonInstance
|| tgobj instanceof L1PetInstance) {
isAgree=true;
}
if(isAgree){
if(isNpc){//是否給寵物或召喚
L1NpcInstance npc = (L1NpcInstance) tgobj;
if((npc instanceof L1SummonInstance || npc instanceof L1PetInstance)
&& npc.getMaster() == player){
npc.broadcastPacket(new S_SkillSound(npc.getId(), castgfx));
npc.setMoveSpeed(moveSet);
npc.setSkillEffect(STATUS_HASTE, time * 1000);
}
}
}
}
for (L1PcInstance pc : targetPc) {
if (pc.getClanid() == player.getClanid()
|| pc.getPartyID() == player.getPartyID()) {//對同盟或組隊成員
isAgree=true;
}
if(isAgree){
if(isPc){
if (pc.getClanid() == player.getClanid()
|| pc.getPartyID() == player.getPartyID()) {//是否給同盟或組隊成員
pc.sendPackets(new S_SkillSound(pc.getId(), castgfx));
pc.broadcastPacket(new S_SkillSound(pc.getId(), castgfx));
pc.sendPackets(new S_SkillHaste(pc.getId(), 1, time));
pc.broadcastPacket(new S_SkillHaste(pc.getId(), 1, 0));
pc.setMoveSpeed(moveSet);
pc.setSkillEffect(STATUS_HASTE, time * 1000);
pc.sendPackets(new S_ServerMessage(183));//\f1你的腿得到新的能量。
}
}
}
}
//最後也必須給自己效果
player.broadcastPacket(new S_SkillSound(player.getId(), castgfx));
player.sendPackets(new S_SkillSound(player.getId(), castgfx));
player.sendPackets(new S_SkillHaste(player.getId(), 1, time));
player.broadcastPacket(new S_SkillHaste(player.getId(), 1, 0));
player.setMoveSpeed(moveSet);
player.setSkillEffect(STATUS_HASTE, time * 1000);
player.sendPackets(new S_ServerMessage(183));//\f1你的腿得到新的能量。
//使用者施法動作(19)
player.sendPackets(new S_DoActionGFX(player.getId(),ActionCodes.ACTION_SkillBuff));
player.broadcastPacket(new S_DoActionGFX(player.getId(),ActionCodes.ACTION_SkillBuff));
}
// end
複製代碼
簡介一下
useMassSkillEffect{player<使用者>
,time<時間(t秒)>
,castgfx<圖檔>
,moveSet<速度值:1(加速)2(緩速XD)>
,isPc<是否給同伴true/false>
,isNpc<是否給召寵true/false>}
這樣就完成囉^^!!