package module.item.instance.chapter0; import module.character.api.ICharacter; import module.command.CommandServer; import module.item.useable.AbstractHarmfulItem; import module.map.Neighbor; import module.map.api.IRoom; import module.map.constants.CExit.exit; import module.mission.chapter0.MainMission; import module.server.PlayerServer; import module.utility.MapUtil; public class HydraulicCut extends AbstractHarmfulItem{ public HydraulicCut(){ this("�o����", "hydraulic cut"); String desc = "�@��̾a�ڴ��d�G����z���_��w���骺�o���šC�A�ܦn�_�������\n"; desc += "�ͩж��̷|���o�تF��? �����w�L�a�O�}���q�u���a�C"; this.setDescription(desc); this.setPrice(699); } public HydraulicCut(String chiName, String engName) { super(chiName, engName); } @Override public String useEffect() { return "�γ\�i�H�Ŷ}����ܮz���K���C"; } @Override protected boolean useAction(ICharacter src, ICharacter target) { CommandServer.informGroup(src.getMyGroup(), "�o�ӹD�㤣�A�X���ӧ����O�H��C\n"); return false; } @Override protected boolean useAction(ICharacter src) { IRoom targetRoom = MapUtil.roomMap.get("102,100,1"); if (src.getMyGroup().getAtRoom() == targetRoom){ targetRoom.informRoom(src.getChiName() + "���оާ@�۪o���šA�ש�b�ᦱ���K���W�}�X�F�@�D�X�f�C\n"); CommandServer.informGroup(src.getMyGroup(), src.getChiName() + "���F���Y�W�����G\"�I~�`��i�H�X�h�F�A�����}�o���a��a!\"\n"); PlayerServer.getMissionMap().get(MainMission.class.toString()) .setState(MainMission.State.AFTER_EXIT_DORMITORY); // open a tunnel through these two rooms IRoom connectRoom = MapUtil.roomMap.get("103,100,1"); targetRoom.setSingleExit(exit.EAST, new Neighbor(connectRoom, null)); connectRoom.setSingleExit(exit.WEST, new Neighbor(targetRoom, null)); return true; } else { CommandServer.informGroup(src.getMyGroup(), src.getChiName() + "���U�|�g�A�o�䤣��A�X���a��U��C\n"); return false; } } @Override public boolean isExpired(){ // always not expire return false; } }