Created
July 19, 2012 17:02
-
-
Save gutenye/3145326 to your computer and use it in GitHub Desktop.
三国杀-马腾
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module("extensions.mateng", package.seeall) | |
extension = sgs.Package("mateng") | |
mateng = sgs.General(extension, "mateng", "qun", "4", true) | |
mtmashu = sgs.CreateDistanceSkill{ | |
name = "mtmashu", | |
correct_func = function(self, from, to) | |
if from:hasSkill("mtmashu") then | |
return -1 | |
else | |
return 0 | |
end | |
end, | |
} | |
mtxiongyi = sgs.CreateViewAsSkill{ | |
name = "mtxiongyi", | |
n = 0, | |
view_as = function(self, cards) | |
if #cards == 0 then | |
local acard = mtxiongyi_card:clone() | |
acard:setSkillName("mtxiongyi") | |
return acard | |
end | |
end, | |
enabled_at_play = function(self, player) | |
return player:getMark("@mtxiongyi") >= 1 | |
end, | |
} | |
mtxiongyi_card = sgs.CreateSkillCard{ | |
name = "mtxiongyi_card", | |
target_fixed = true, | |
will_throw = true, | |
-- frequency = sgs.Skill_Limited, | |
on_use = function(self, room, source, targets) | |
room:playSkillEffect("mtxiongyi") | |
local mykingdom = source:getKingdom() | |
local kingdom | |
for _,p in sgs.qlist(room:getAlivePlayers()) do | |
kingdom = p:getKingdom() | |
if kingdom == mykingdom then | |
p:drawCards(3) | |
end | |
end | |
if source:isWounded() then | |
local kingdoms = {} | |
for _,p in sgs.qlist(room:getAlivePlayers()) do | |
kingdom = p:getKingdom() | |
kingdoms[kingdom] = (kingdoms[kingdom] or 0) + 1 | |
end | |
local mykingdom_count = kingdoms[mykingdom] | |
kingdoms[mykingdom] = nil | |
local issmallest = true | |
for k,v in pairs(kingdoms) do | |
if mykingdom_count > v then | |
issmallest = false | |
break | |
end | |
end | |
if issmallest then | |
recover = sgs.RecoverStruct() | |
recover.who = source | |
room:recover(source, recover) | |
end | |
end | |
source:loseMark("@mtxiongyi") | |
end, | |
} | |
mtxiongyi_trigger = sgs.CreateTriggerSkill{ | |
name = "#mtxiongyi_trigger", | |
events = {sgs.GameStart}, | |
frequency = sgs.Skill_NotFrequent, | |
on_trigger = function(self, event, player, data) | |
player:gainMark("@mtxiongyi", 1) | |
end, | |
} | |
mateng:addSkill(mtmashu) | |
mateng:addSkill(mtxiongyi) | |
mateng:addSkill(mtxiongyi_trigger) | |
sgs.LoadTranslationTable{ | |
["mateng"] = "马腾", | |
["mtmashu"] = "马术", | |
[":mtmashu"] = "马术:锁定技,当你计算与其他角色的距离时,始终-1。", | |
["mtxiongyi"] = "雄异", | |
[":mtxiongyi"] = "限定技,出牌阶段,你可令所有所有与你势力相同的角色摸三张牌,然后你所属势力的角色数是全场最少的(或之一),你回复1点体力。" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment