29 Star 269 Fork 62

Eiden / hearthstone

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
TheCavernsBelowCard.java 1.72 KB
一键复制 编辑 原始数据 按行查看 历史
package cn.eiden.hsm.game.card.ungoro.rogue;
import cn.eiden.hsm.annotation.EventHandler;
import cn.eiden.hsm.event.events.UseMinionCardFromHandEvent;
import cn.eiden.hsm.game.Gamer;
import cn.eiden.hsm.game.card.CardFactory;
import cn.eiden.hsm.game.card.defs.ungoro.rogue.TheCavernsBelow;
import cn.eiden.hsm.game.minion.Minion;
import cn.eiden.hsm.game.quest.AbstractQuest;
import cn.eiden.hsm.game.quest.Quest;
import cn.eiden.hsm.game.quest.Reward;
import cn.eiden.hsm.listener.AbstractQuestListener;
/**
* 探索地下洞穴
* @author Eiden J.P Zhou
* @date 2020/6/10 14:14
*/
public class TheCavernsBelowCard extends TheCavernsBelow {
@Override
public void magicEffect(Gamer gamer, Minion target) {
gamer.addQuest(new ThisQuest());
}
private static class ThisQuest extends AbstractQuest {
@Override
public Reward getReward() {
return (o) -> o.getHand().addHandsCard(CardFactory.getCardById(QUEST_REWARD_DATABASE_ID));
}
public ThisQuest() {
super(QUEST_PROGRESS_TOTAL, new QuestListener());
}
}
private static class QuestListener extends AbstractQuestListener{
@EventHandler
public void onEvent(UseMinionCardFromHandEvent event){
Quest quest = this.getQuest();
Gamer owner = quest.getOwner();
Minion minion = event.getMinionObject();
if (owner == event.getOwner()){
int usedNum = owner.getHistory().getCountByMinionName(minion);
quest.setProgress(usedNum+1);
if (quest.checkComplete()){
quest.getReward().earnRewards(owner);
owner.removeQuest(quest);
}
}
}
}
}
Java
1
https://gitee.com/EidenRitto/hearthstone.git
git@gitee.com:EidenRitto/hearthstone.git
EidenRitto
hearthstone
hearthstone
master

搜索帮助