/*
* JavaXYQ Source Code
* by kylixs
* at 2010-4-25
* please visit http://javaxyq.googlecode.com
* or mail to kylixs@qq.com
*/
package npc;
import java.util.List;
import java.util.Random;
import com.javaxyq.core.BaseApplication;
import com.javaxyq.core.Context;
import com.javaxyq.core.GameMain;
import com.javaxyq.event.PlayerAdapter;
import com.javaxyq.event.PlayerEvent;
import com.javaxyq.model.Option;
import com.javaxyq.model.Task;
import com.javaxyq.task.TaskManager;
import com.javaxyq.ui.UIHelper;
import com.javaxyq.widget.Player;
/**
* @author gongdewei
* @date 2010-4-25 create
*/
public class n1002 extends PlayerAdapter {
public void talk(PlayerEvent evt) {
System.out.println("talk: "+this.getClass().getName());
String chat = "��ׯ���ǵ��ɷ�Դ�أ�ׯ�ڵ��˲ι������ͬ�٣���������֮��ϡ������#r����Ϊʦ���£�";
Option[] options = new Option[3];
options[0] = new Option("Ϊʦ��������","applyfor_task");
options[1] = new Option("ѧϰ����","learn_skill");
options[2] = new Option("ͽ������","close");
Option result = doTalk(evt.getPlayer(),chat,options);
if(result!=null && "applyfor_task".equals(result.getAction())) {
applyfor_task(evt);
}else if(result!=null && "learn_skill".equals(result.getAction())) {
learn_skill(evt);
}
}
public void applyfor_task(PlayerEvent evt) {
TaskManager taskManager = application.getTaskManager();
List<Task> currTasks = taskManager.getTasksOfType("school");
if(currTasks!=null && currTasks.size()>0) {
Task currTask = currTasks.get(0);
if(!currTask.isFinished() && !currTask.isAutoSpark() && !currTask.getSubtype().equals("patrol")) {//���Զ�������ɵ�����
taskManager.process(currTask);
}
if(currTask.isFinished()) {//���������
taskManager.remove(currTask);
Player player = context.getPlayer();
dataManager.addMoney(player,currTask.getMoney());
dataManager.addExp(player, currTask.getExp());
String chat = "ͽ�������ˣ�Ϊʦ������#R"+currTask.getExp()+"#n�����#R"+currTask.getMoney()+"#n��Ǯ������Ŭ����";
int times = currTask.getInt("times");
if(times==10) {
int rounds = currTask.getInt("rounds");
//���⽱��
String[] items = {"�첻��","�����ֻ�","�ɺ���","��¶Ϊ˪","����","�ܵ�"};
String item = items[new Random().nextInt(items.length)];
dataManager.addItemToPlayerBag(player,dataManager.createItem(item));
chat += "#r����˵�"+rounds+"��ʦ�������⽱����һ��#R"+item+"#n��";
}
doTalk(context.getTalker(),chat);
}else {//������
String chat ="�㻹���������������ظ���������Ҫȡ����ǰ������";
Option[] options = new Option[2];
options[0] = new Option("�ǵģ���Ҫȡ��","cancel_task");
options[1] = new Option("��ȥ�������","close");
Option result = doTalk(context.getTalker(),chat,options);
if("cancel_task".equals(result.getAction())) {
//ȡ��δ�������
taskManager.remove(currTask);
doTalk(context.getTalker(),"���������ȡ����");
}
}
}else {//û��δ��ɵ�ʦ������
Random rand = new Random();
String[] subtypes = {"deliver","lookfor","patrol"};
String subtype = subtypes[rand.nextInt(subtypes.length)];
String sender = "��Ԫ����";
Task task = taskManager.create("school",subtype, sender);
taskManager.add(task);
String desc = taskManager.desc(task);
doTalk(context.getTalker(),desc);
}
}
public void learn_skill(PlayerEvent evt) {
Player player = context.getPlayer();
if(player.getData().level > 10) {
doTalk(context.getTalker(),"��ĸ�����dz����Щ����������Ϊʦ�ɣ�");
}else {
helper.showDialog("learn_skill");
}
}
}