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"; } }
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); } } } }
public virtual void use(ItemInInventory item) { //Do nothing }
public override void use(ItemInInventory item) { ThrownStone stone = new ThrownStone(Util.subtractPoints(MainForm.getInstance().player.location, new Point(5, 5)), MainForm.getInstance().getCursorPos()); }