Exemple #1
0
        public override void use(ItemInInventory item)
        {
            Point       locationStart = (MainForm.getInstance().getCursorWorldLocation().X > MainForm.getInstance().player.location.X) ? Util.addPoints(MainForm.getInstance().player.location, new Point(10, 0)) : Util.addPoints(MainForm.getInstance().player.location, new Point(-1, 0));
            EntitySword sword         = new EntitySword(locationStart, MainForm.getInstance().player);

            sword.momentum.X = (MainForm.getInstance().getCursorWorldLocation().X > MainForm.getInstance().player.location.X) ? 5 : -5;
            if (MainForm.getInstance().entities.Contains(sword))   //It's still there
            {
                MainForm.getInstance().player.swordSide = (MainForm.getInstance().getCursorWorldLocation().X > MainForm.getInstance().player.location.X) ? "right" : "left";
            }
        }
Exemple #2
0
        public override void use(ItemInInventory item)
        {
            base.use(item);
            MainForm instance       = MainForm.getInstance();
            Point    cursorLocation = MainForm.getInstance().getCursorBlockLocation();

            if (cursorLocation.X < instance.world.blocks.Count() && cursorLocation.Y < instance.world.blocks[5].Count())
            {
                if (instance.world.getBlockAt(cursorLocation.X, cursorLocation.Y) != null && instance.world.getBlockAt(cursorLocation.X, cursorLocation.Y).prototype.breakableBy.Equals(toolType))
                {
                    if (Util.distanceBetween(MainForm.getInstance().getCursorWorldLocation(), MainForm.getInstance().player.location) > 200)
                    {
                        return;
                    }
                    if (instance.world.getBlockAt(cursorLocation.X, cursorLocation.Y).prototype.hardness > instance.world.getBlockAt(cursorLocation.X, cursorLocation.Y).brokenness)
                    {
                        instance.world.getBlockAt(cursorLocation.X, cursorLocation.Y).brokenness += type.hardness;
                        Particle.spawnParticlesAround(Util.addPoints(instance.world.blocks[cursorLocation.X][cursorLocation.Y].location, new Point(10, 10)), instance.world.blocks[cursorLocation.X][cursorLocation.Y].prototype.color, 1);
                        return;
                    }
                    instance.player.inventory.addItem(instance.world.blocks[cursorLocation.X][cursorLocation.Y].prototype, 1);
                    bool shouldDoFullUpdate = false;
                    shouldDoFullUpdate = true;
                    instance.world.blocks[cursorLocation.X][cursorLocation.Y].prepareForRemoval();
                    DamageIndicator indicator = new DamageIndicator(instance.world.blocks[cursorLocation.X][cursorLocation.Y].location, instance.world.blocks[cursorLocation.X][cursorLocation.Y].getName());
                    //DamageIndicator indicator2 = new DamageIndicator(instance.world.blocks[cursorLocation.X][cursorLocation.Y].location, "■", Color.Brown);
                    Particle.spawnParticlesAround(Util.addPoints(instance.world.blocks[cursorLocation.X][cursorLocation.Y].location, new Point(10, 10)), instance.world.blocks[cursorLocation.X][cursorLocation.Y].prototype.color, 30);
                    instance.world.blocks[cursorLocation.X][cursorLocation.Y] = Block.createNewBlock(BlockPrototype.air, new Point(cursorLocation.X * 20, cursorLocation.Y * 20));
                    if (shouldDoFullUpdate)
                    {
                        LightingEngine.doFullLightingUpdate(false);
                    }
                    else
                    {
                        instance.world.updateSkyLightForColumn(cursorLocation.X);
                    }
                }
            }
        }
Exemple #3
0
 public virtual void use(ItemInInventory item)
 {
     //Do nothing
 }
Exemple #4
0
 public override void use(ItemInInventory item)
 {
     ThrownStone stone = new ThrownStone(Util.subtractPoints(MainForm.getInstance().player.location, new Point(5, 5)), MainForm.getInstance().getCursorPos());
 }