public int action(ArrayList<RObj> objs, int actionBy) {
		Player plr = (Player) objs.get(0);
		needIntersect = !needIntersect;
		if (panel.isEnabled()) {
			if (plr.getInv() == null) {
				intersect = true;
				fireThrough = true;
				riftIntersect = true;
				panel.setEnabled(false);
				panel.setOpaque(false);
				plr.setInv(this);
				plr.setImgType(1);
			}
		} else {
			JPanel p = new JPanel();
			if (plr.getFacing() == 1)
				p.setLocation(plr.getAX() - getAWidth(), plr.getAY() + plr.getAHeight() / 2);
			else
				p.setLocation(plr.getAX() + plr.getAWidth(), plr.getAY() + plr.getAHeight() / 2);
			p.setSize(getAWidth(), getAHeight());
			boolean good = true;
			for (RObj o : objs)
				if (Play.doIntersect(o.getPanel(), p) && !o.canIntersect())
					good = false;
			if (good) {
				setAX((int) p.getLocation().getX());
				setAY((int) p.getLocation().getY());
				intersect = false;
				fireThrough = false;
				panel.setEnabled(true);
				panel.setOpaque(true);
				riftIntersect = false;
				plr.setInv(null);
				plr.setImgType(0);
			}
		}
		plr.setFacing(plr.getFacing());
		return 0;
	}