Skip to content

Commit

Permalink
SP Gan Furen
Browse files Browse the repository at this point in the history
  • Loading branch information
Paracel committed Sep 11, 2014
1 parent 4a1c9e1 commit e274487
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 3 deletions.
4 changes: 4 additions & 0 deletions lang/zh_CN/Package/GeneralConversion.lua
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ return {
["&sp_hetaihou"] = "何太后",
["illustrator:sp_hetaihou"] = "琛·美弟奇",

["sp_ganfuren"] = "SP甘夫人",
["&sp_ganfuren"] = "甘夫人",
["illustrator:sp_ganfuren"] = "琛·美弟奇",

["tw_diaochan"] = "TW貂蝉",
["&tw_diaochan"] = "貂蝉",
["illustrator:tw_diaochan"] = "陳俊佐",
Expand Down
4 changes: 3 additions & 1 deletion lang/zh_CN/Package/HegemonyPackage.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@ return {
["ganfuren"] = "甘夫人",
["illustrator:ganfuren"] = "琛·美弟奇",
["shushen"] = "淑慎",
[":shushen"] = "每当你回复1点体力后,你可以令一名其他角色摸一张牌",
[":shushen"] = "每当你回复1点体力后,你可以令一名其他角色回复1点体力或摸两张牌",
["shushen-invoke"] = "你可以发动“淑慎”<br/> <b>操作提示</b>: 选择一名其他角色→点击确定<br/>",
["shushen:recover"] = "令该角色回复1点体力",
["shushen:draw"] = "令该角色摸一张牌",
["shenzhi"] = "神智",
[":shenzhi"] = "准备阶段开始时,你可以弃置所有手牌:若你以此法弃置的牌不少于X张,你回复1点体力。(X为你的体力值)",

Expand Down
12 changes: 11 additions & 1 deletion lua/ai/hegemony-ai.lua
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,17 @@ end

sgs.ai_skill_playerchosen.shushen = function(self, targets)
if #self.friends_noself == 0 then return nil end
return self:findPlayerToDraw(false, 1)
self:sort(self.friends_noself)
for _, friend in ipairs(self.friends_noself) do
if friend:isWounded() and not self:needToLoseHp(friend) then return friend end
end
return self:findPlayerToDraw(false, 2)
end

sgs.ai_skill_choice.shushen = function(self, choices, data)
local friend = data:toPlayer()
if (friend:isWounded() and not self:needToLoseHp(friend)) or self:needKongcheng(friend, true) then return "recover" end
return "draw"
end

sgs.ai_playerchosen_intention.shushen = -80
Expand Down
5 changes: 4 additions & 1 deletion src/package/hegemony.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,10 @@ class Shushen: public TriggerSkill {
ServerPlayer *target = room->askForPlayerChosen(player, room->getOtherPlayers(player), objectName(), "shushen-invoke", true, true);
if (target) {
room->broadcastSkillInvoke(objectName(), target->getGeneralName().contains("liubei") ? 2 : 1);
target->drawCards(1, objectName());
if (target->isWounded() && room->askForChoice(player, objectName(), "recover+draw", QVariant::fromValue(target)) == "recover")
room->recover(target, RecoverStruct(player));
else
target->drawCards(2, objectName());
} else {
break;
}
Expand Down
4 changes: 4 additions & 0 deletions src/package/sp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2554,6 +2554,10 @@ SPPackage::SPPackage()
maliang->addSkill(new Xiemu);
maliang->addSkill(new Naman);

General *sp_ganfuren = new General(this, "sp_ganfuren", "shu", 3, false, true); // SP 037
sp_ganfuren->addSkill("shushen");
sp_ganfuren->addSkill("shenzhi");

addMetaObject<YuanhuCard>();
addMetaObject<XuejiCard>();
addMetaObject<BifaCard>();
Expand Down

0 comments on commit e274487

Please sign in to comment.