spwushen=sgs.CreateTriggerSkill{
name="spwushen",
events={sgs.CardUsed,sgs.CardResponsed},
frequency=sgs.Skill_Frequent,
on_trigger=function(self,event,player,data)
local room=player:getRoom()
local card=nil
if event==sgs.CardUsed then card=data:toCardUse().card
elseif event==sgs.CardResponsed then card=data:toResponsed().m_card
end
if card:getSuit()==sgs.Card_Heart and player:hasSkill("spwushen") and card:getSkillName()~=self:objectName() then
local players=sgs.SPlayerList()
local acard=sgs.Sanguosha:cloneCard("fire_slash",sgs.Card_Heart,0)
acard:setSkillName("spwushen")
for _,p in sgs.qlist(room:getOtherPlayers(player)) do
if player:canSlash(p,acard,false) then players:append(p) end
end
if players:isEmpty() or not room:askForSkillInvoke(player,"spwushen") then return false end
local playerx=room:askForPlayerChosen(player,players,"spwushen")
local use=sgs.CardUseStruct()
use.from=player
use.to:append(playerx)
use.card=acard
room:useCard(use,false)
end
end,
}