Shandalar - Program Bugs
Omniscience Doesn't Function Properly (unreproducible)
What Omniscience Currently does:
You can only cast cards if you have enough mana to pay for them and then only reduces the colored part of the cost to 0
What Omniscience should do:
You can cast cards at any time the card is normally castable without needing any mana producers in play. The cost for casting the card is set to 0. Any Spells with X in their cost cast this way set X=0.
I've know how to program and I've been trying to track down how to fix this. I think the main issue is that Omniscience needs to make the function that checks if you can cast a card in your hand skip over the mana requiremnt and then needs to modify the costs correctly. It looks like the costs are modified correctly in true_get_updated_casting_cost() in functions.c on line 7481 where cless-=c->req_colorless; but I think something isn't working right. would cless=0; fix it?
I don't know enough about the code to figure out where the "can you cast it" checker function is, but I'd be willing to fix it myself if I could be pointed in the right direction and told how to compile the code. (Is it just Make.exe?)
You can only cast cards if you have enough mana to pay for them and then only reduces the colored part of the cost to 0
What Omniscience should do:
You can cast cards at any time the card is normally castable without needing any mana producers in play. The cost for casting the card is set to 0. Any Spells with X in their cost cast this way set X=0.
I've know how to program and I've been trying to track down how to fix this. I think the main issue is that Omniscience needs to make the function that checks if you can cast a card in your hand skip over the mana requiremnt and then needs to modify the costs correctly. It looks like the costs are modified correctly in true_get_updated_casting_cost() in functions.c on line 7481 where cless-=c->req_colorless; but I think something isn't working right. would cless=0; fix it?
I don't know enough about the code to figure out where the "can you cast it" checker function is, but I'd be willing to fix it myself if I could be pointed in the right direction and told how to compile the code. (Is it just Make.exe?)
Comments
Posted by Guest » 01 Mar 2016, 06:24
I noticed other cards in the true_get_updated_casting_cost() functions actually weren't using that function anymore and instead were using
COLOR_BLACK--;
and similar. Would something like the following work to replace null_casting_cost()?
COST_WHITE = 0;
COST_BLUE = 0;
COST_BLACK = 0;
COST_RED = 0;
COST_GREEN = 0;
COST_COLORLESS=0;
COLOR_BLACK--;
and similar. Would something like the following work to replace null_casting_cost()?
COST_WHITE = 0;
COST_BLUE = 0;
COST_BLACK = 0;
COST_RED = 0;
COST_GREEN = 0;
COST_COLORLESS=0;
Posted by Korath » 04 Mar 2016, 20:56
This is a Manalink bug. Shandalar doesn't have the card (and would implement it very differently). I've moved the report to the correct place and will investigate and reply there later tonight.
Last edited by Korath on 04 Mar 2016, 20:56, edited 1 time in total.
Reason: fix markup
Reason: fix markup
2 Posts
• Page 1 of 1
Ticket details
- Ticket ID: 1030
- Project: Shandalar
- Status: Unreproducible
- Component: Individual Card
- Project version: (unknown)
- Priority: Normal
- Severity: Normal
- Assigned to: (unassigned)
- Reported by:
- Reporter's tickets: List all tickets
- Reported on: 01 Mar 2016, 06:13
- Last visited by Korath » 04 Mar 2016, 20:56.