Hello KBGaming&&Music,
You can dynamically alter Skill Costs via either plugins like YEP Skill Core or our Independent Card Variables plugin.
If you are using YEP Skill Core, you can use the <Custom MP Cost> Notetag in order to have it such that a particular Actor gets to cast this Skill for free.
<Custom MP Cost> if(user.actorId() == 2) { cost = 0; } </Custom MP Cost>
If you would like this to work at the Skill Type level then you might need to use YEP Buff States Core and have a check similar to this on the State itself when the user goes to select the Skill in the menu (which is the CGC equivalent of hovering over the card in Hand).
If you are using Independent Card Variables, you can create a Variable for the card instance and set it to 0, then assign it to the MP Cost.
<Card Passives> Var(0) init 0 </Card Passives>
<MP cost = var(0)>
The MP Cost will change if you change the value of the Variable via another Card Action, Damage Formula or Script Call.
The second request is a little easier but you'll have to include it in the Card Actions Notetag of each Card. You can check for the user's Actor ID in an if statement and if they match then have the Card move to the Deck/Hand after play and skip to a Label at the End. If not, then it will move to Discard/Exile as the Card normally does.
<Card Actions> //Do Card Actions Here ... If (user.actorId() == 2) Move this to Deck If (user.actorId() == 2) Jump to End Move this to Discard Label End </Card Actions>
There is currently no way to bind a Card Action like Discard or Remove to a Zone destination so it will need to be done manually. This will be a feature introduced in a future update.
Hope this helps. Let us know if there is more we can do.
Thanks,
MythAtelier Team