void DuanxieCard::onEffect(const CardEffectStruct &effect) const { Room *room = effect.from->getRoom(); if (!effect.to->isChained()) { effect.to->setChained(true); room->broadcastProperty(effect.to, "chained"); room->setEmotion(effect.to, "chain"); room->getThread()->trigger(ChainStateChanged, room, effect.to); } if (!effect.from->isChained()) { effect.from->setChained(true); room->broadcastProperty(effect.from, "chained"); room->setEmotion(effect.from, "chain"); room->getThread()->trigger(ChainStateChanged, room, effect.from); } }
void IronChain::onEffect(const CardEffectStruct &effect) const{ effect.to->setChained(!effect.to->isChained()); Room *room = effect.to->getRoom(); room->broadcastProperty(effect.to, "chained"); room->setEmotion(effect.to, "chain"); room->getThread()->trigger(ChainStateChanged, room, effect.to); }