代码我不会,只会用别人的代码改。
给你二个我现在玩的技能代码,跟你的要求差不多,属于养成型武将,挺好玩的。
[大限]每当你受到一次伤害,你的体力上限就增加一点。
[扬寿]你无法摸牌,但你的手牌数永远不会少于你的体力上限。
daxian=sgs.CreateTriggerSkill
{--大限
name="daxian",
frequency = sgs.Skill_Compulsory,
priority=2,
events={sgs.Damaged},
on_trigger=function(self,event,player,data)
local room = player:getRoom()
if player:getPhase() == sgs.Player_NotActive then
local log = sgs.LogMessage()
log.type = "#DaxianMAXHP"
log.from = player
log.arg = tonumber(player:getMaxHP())
log.arg2 = self:objectName()
local recover=sgs.RecoverStruct()
recover.who=player
recover.recover=0
room:recover(player,recover)
room:setPlayerProperty(player, "maxhp", sgs.QVariant(player:getMaxHP() + 1))
room:sendLog(log)
end
end
}
--扬寿
yangshou_trs=sgs.CreateTriggerSkill{
name="#yangshou_trs",
--view_as_skill=!!_vs,
events={sgs.PhaseChange},
frequency = sgs.Skill_Compulsory,
--priority
on_trigger=function(self,event,player,data)
local room=player:getRoom()
local selfplayer=room:findPlayerBySkillName(self:objectName())
local otherplayers=room:getOtherPlayers(selfplayer)
--local effect=data:toCardEffect()
if event==sgs.PhaseChange then
if selfplayer:getPhase()==sgs.Player_Discard then
local x=selfplayer:getHandcardNum()-selfplayer:getMaxHP()
room:playSkillEffect("yangshou_trs")
if x<=0 then return true end
room:askForDiscard(selfplayer,"gamerule",x,false,false)
return true
end
end
end,
--can_trigger=function(self, player)
--local room=player:getRoom()
--local selfplayer=room:findPlayerBySkillName(self:objectName())
--if selfplayer==nil then return false end
--return selfplayer:isAlive()
--end
}