Exemple #1
0
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            if (target is L2Door)
            {
                L2Door door = (L2Door)target;
                if (door.Level <= level)
                {
                    if (new Random().Next(100) < rate)
                    {
                        door.OpenForTime();
                    }
                    else
                    {
                        caster.sendSystemMessage(320);//You have failed to unlock the door.
                    }
                }
                else
                {
                    caster.sendSystemMessage(320);//You have failed to unlock the door.
                }
            }
            else
            {
                caster.sendSystemMessage(144);//That is an incorrect target.
            }

            return(nothing);
        }
Exemple #2
0
        public override bool canUse(world.L2Character caster)
        {
            L2Object target = caster.CurrentTarget;

            if (target is L2Door)
            {
                L2Door door = target as L2Door;
                if (door.Closed == 0)
                {
                    caster.sendSystemMessage(144);//That is an incorrect target.
                    return(false);
                }

                if (!door.UnlockSkill)
                {
                    caster.sendSystemMessage(319);//This door cannot be unlocked
                    return(false);
                }
            }
            else
            {
                caster.sendSystemMessage(144);//That is an incorrect target.
                return(false);
            }

            return(true);
        }
Exemple #3
0
        public override TEffectResult onStart(L2Character caster, world.L2Character target)
        {
            if (new Random().Next(100) < rate)
            {
                target.sendMessage("i_death " + death_type + " done on you");
            }

            return(nothing);
        }
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            if (new Random().Next(100) < rate)
            {
                target.ChangeTarget();
            }

            return(nothing);
        }
Exemple #5
0
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            double[] val = target.CharacterStat.Apply(this);

            TEffectResult ter = new TEffectResult();

            ter.TotalUI = 1;
            return(ter);
        }
Exemple #6
0
        public override TEffectResult onEnd(world.L2Character caster, world.L2Character target)
        {
            double[] val = ((world.L2Character)target).CharacterStat.Stop(this);

            TEffectResult ter = new TEffectResult();

            ter.TotalUI = 1;
            return(ter);
        }
        public override TEffectResult onEnd(world.L2Character caster, world.L2Character target)
        {
            if (target is L2Player)
            {
                ((L2Player)target).untransform();
            }

            return(nothing);
        }
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            if (target is L2Player)
            {
                TransformManager.getInstance().transformTo(transformId, (L2Player)target, -1);
            }

            return(nothing);
        }
Exemple #9
0
 public override void AttackFinished(world.L2Character target)
 {
     if (target is L2Summon)
     {
         if (((L2Summon)target).Owner != null)
         {
             AddAttackDesire(((L2Summon)target).Owner, 500);
         }
     }
 }
Exemple #10
0
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            L2Summon summon = new L2Summon();

            summon.setTemplate(NpcTable.Instance.getNpcTemplate(npcId));
            summon.setOwner((L2Player)caster);
            summon.SpawmMe();

            return(nothing);
        }
        public override TEffectResult onStart(L2Character caster, world.L2Character target)
        {
            L2Player      player   = caster as L2Player;
            CubicTemplate template = CubicController.getController().getCubic(id, lvl);

            Cubic cub = new Cubic(player, template);

            player.AddCubic(cub, false);

            return(new TEffectResult().AsTotalUI());
        }
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            if (!(target is L2Player))
            {
                return(nothing);
            }

            ((L2Player)target).specEffects.Add(ef);

            return(nothing);
        }
Exemple #13
0
        public override bool canUse(world.L2Character caster)
        {
            L2Player player = (L2Player)caster;

            if (player.Summon != null)
            {
                player.sendSystemMessage(543);//You already have a pet.
                return(false);
            }

            return(true);
        }
Exemple #14
0
        public void onDie(L2Warrior warrior, world.L2Character killer)
        {
            obj = null;
            if (RespawnTimer == null)
            {
                RespawnTimer          = new System.Timers.Timer();
                RespawnTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnRespawnTime);
            }

            RespawnTimer.Interval = Respawn;
            RespawnTimer.Enabled  = true;
        }
        public override bool canUse(world.L2Character caster)
        {
            L2Player player = (L2Player)caster;

            if (player.IsWard())
            {
                caster.sendSystemMessage(2778);//You cannot teleport while in possession of a ward.
                return(false);
            }

            return(true);
        }
        public override TEffectResult onEnd(world.L2Character caster, world.L2Character target)
        {
            if (!(target is L2Player))
            {
                return(nothing);
            }

            lock (((L2Player)target).specEffects)
                ((L2Player)target).specEffects.Remove(ef);

            return(nothing);
        }
 public override TEffectResult onEnd(world.L2Character caster, world.L2Character target)
 {
     target.Mute(1, this.HashID, false);
     if (target.MutedMagically)
     {
         return(new TEffectResult().AsTotalUI());
     }
     else
     {
         return(nothing);
     }
 }
Exemple #18
0
        public override bool canUse(world.L2Character caster)
        {
            if (!(caster is L2Player))
            {
                return(false);
            }

            L2Player player = (L2Player)caster;

            if (player.Summon != null)
            {
                player.sendSystemMessage(2062);//You cannot polymorph when you have summoned a servitor/pet.
                return(false);
            }

            if (player.isSittingInProgress() || player.isSitting())
            {
                player.sendSystemMessage(2283);//You cannot transform while sitting.
                player.sendActionFailed();
                return(false);
            }

            if (player.isInWater())
            {
                player.sendSystemMessage(2060);//You cannot polymorph into the desired form in water.
                player.sendActionFailed();
                return(false);
            }

            if (player.MountType > 0)
            {
                player.sendSystemMessage(2063);//You cannot polymorph while riding a pet.
                player.sendActionFailed();
                return(false);
            }

            if (player.TransformID != 0)
            {
                player.sendSystemMessage(2058);//You already polymorphed and cannot polymorph again.
                player.sendActionFailed();
                return(false);
            }

            if (player.isOnShip() || player.Boat != null)
            {
                player.sendSystemMessage(2182);//You cannot polymorph while riding a boat.
                player.sendActionFailed();
                return(false);
            }

            return(true);
        }
Exemple #19
0
        public override TEffectResult onStart(L2Character caster, world.L2Character target)
        {
            double current = target.CurrentHP;

            target.CurrentHP = power;
            double next = target.CurrentHP;

            int diff = (int)(next - current);

            //$s1 HP has been restored.
            target.sendPacket(new SystemMessage(1066).addNumber(diff));
            return(nothing);
        }
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            L2Player player = target as L2Player;

            if (player == null)
            {
                return(nothing);
            }

            player.ReduceSouls(count);

            return(nothing);
        }
Exemple #21
0
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            L2Player player = target as L2Player;

            if (player == null)
            {
                return(nothing);
            }

            player.UpdateAgathionEnergy(count);

            return(nothing);
        }
Exemple #22
0
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            if (!(target is L2Player))
            {
                return(nothing);
            }

            ((L2Player)target).specEffects.Add(ef);

            TEffectResult ter = new TEffectResult();

            ter.addSU(StatusUpdate.EVASION, ((world.L2Character)target).CharacterStat.getStat(TEffectType.b_evasion));
            return(nothing);
        }
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            int[] loc = null; //для городов не буду писать, пусть тащит как нуль
            if (region.Equals("hideout"))
            {
                L2Player player = (L2Player)target;
                if (player.ClanId > 0 && player.Clan.HideoutID > 0)
                {
                    loc = player.Clan.hideout.ownerLoc;
                }
            }

            //if (loc == null) //ELFOC
            //    loc = MapRegionTable.getInstance().getRespawn(target.X, target.Y, ((L2Player)target).Karma);

            ((L2Character)target).teleport(loc[0], loc[1], loc[2], -1);
            return(nothing);
        }
Exemple #24
0
        public override TEffectResult onStart(L2Character caster, world.L2Character target)
        {
            if (!tempSuccess)
            {
                return(nothing);
            }

            double shieldDef = Formulas.checkShieldDef(caster, target);
            double damage    = Formulas.getPhysSkillHitDamage(caster, target, power);

            //$c1 has given $c2 damage of $s3.
            caster.sendPacket(new SystemMessage(2261).addPlayerName(caster.Name).addString(target.Name).addNumber(damage));
            if (target is L2Player) //$c1 has received $s3 damage from $c2.
            {
                target.sendPacket(new SystemMessage(2262).addPlayerName(target.Name).addPlayerName(caster.Name).addNumber(damage));
            }

            target.reduceHp(caster, damage);

            return(nothing);
        }
        public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
        {
            L2Player player = caster as L2Player;
            L2Item   item   = player.getWeaponItem();

            if (item == null || !ItemTable.getInstance().ConvertDataList.ContainsKey(item.Template.ItemID))
            {
                caster.sendSystemMessage(2130);//You cannot convert this item.
                return(nothing);
            }

            int newid = ItemTable.getInstance().ConvertDataList[item.Template.ItemID];

            int pdollId = player.Inventory.getPaperdollId(item.Template);

            player.setPaperdoll(pdollId, null, false);
            player.broadcastUserInfo();

            int oldweight = item.Template.Weight;

            item.Template = ItemTable.getInstance().getItem(newid);
            item.sql_update();

            if (oldweight != item.Template.Weight)
            {
                player.updateWeight();
            }

            player.setPaperdoll(pdollId, item, false);
            player.broadcastUserInfo();

            InventoryUpdate iu = new InventoryUpdate();

            iu.addModItem(item);
            player.sendPacket(iu);

            return(nothing);
        }
        public override bool canUse(world.L2Character caster)
        {
            L2Item item = caster.getWeaponItem();

            if (item == null)
            {
                caster.sendSystemMessage(2130);//You cannot convert this item.
                return(false);
            }

            if (item.AugmentationID > 0)
            {
                caster.sendSystemMessage(2129);//The augmented item cannot be converted. Please convert after the augmentation has been removed.
                return(false);
            }

            if (!ItemTable.getInstance().ConvertDataList.ContainsKey(item.Template.ItemID))
            {
                caster.sendSystemMessage(2130);//You cannot convert this item.
                return(false);
            }

            return(true);
        }
 public override bool canUse(world.L2Character caster)
 {
     return(caster is L2Player);
 }
 public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
 {
     target.Mute(1, this.HashID, true);
     return(new TEffectResult().AsTotalUI());
 }
 public override TEffectResult onStart(world.L2Character caster, world.L2Character target)
 {
     return(nothing);
 }