respectblindfolds
0/0 Germ
In the mires of Common
Posts: 7
Favorite Card: Segovian Sword
Color Alignment: White, Black, Green
|
Post by respectblindfolds on Dec 27, 2023 6:58:04 GMT
Hey ya'll Me and a friend have been trying to implement this mechanic for a while now. It's called Landbond, it's pretty much what you'd expect; it's like Landwalk, but it gives creatures a static +1/+1 based on the number of a specified land type you control. However, there's a problem we've been running into, and it has to do with plains with additional types. It always prints the extra S and for the life of me, I cannot figure out how to make it not do this. And since I honestly have no clue how anything works on the scripting side of things, I was hoping to be granted an olive branch. Thanks in advance
|
|
respectblindfolds
0/0 Germ
In the mires of Common
Posts: 7
Favorite Card: Segovian Sword
Color Alignment: White, Black, Green
|
Post by respectblindfolds on Dec 27, 2023 7:22:18 GMT
Also, something that I identified in my fenagling that appears to be a general MSE issue: If you try to put it in line with other keywords, forestbond specifically generates a space between forest and s. This also only happens if the walk/bond is lowercase specifically. I know this isn't something I did, because the same applies to forestwalk, and no other landwalk ability. Like I've seen jank in my day, but this has gotta take the cake.
|
|
Sensei Le Roof
1/1 Squirrel
I was interested in Banding until they tried to make me play bass
Posts: 85
Formerly Known As: _________________
Favorite Card: Unhinged Forest #3
Favorite Set: TV
Color Alignment: White, Blue, Black, Red, Green, Colorless
|
Post by Sensei Le Roof on Dec 27, 2023 16:28:58 GMT
That first if/then is only gonna process on an exact match. "Snow Plains" does not exactly match "Plains".
Edit: That said, what you want is something like this: {this_or_that_("creature", upper:true)} gets +1/+1 for every three {if match(param1.value, match: "land$") or contains(Param1.value, match: "snow") or contains(Param1.value, match: "basic") or contains(Param1.value, match: "legendary") then {to_lower(param1)} else param1}{if not contains(param1.value, match: "Plains") then "s"} on the battlefield.
|
|
respectblindfolds
0/0 Germ
In the mires of Common
Posts: 7
Favorite Card: Segovian Sword
Color Alignment: White, Black, Green
|
Post by respectblindfolds on Dec 28, 2023 23:00:49 GMT
Well, that's certainly a big help, though now if you put the supertype, it doesn't print the back end at all. Is there maybe another case I can slot in to fix this?
|
|
Sensei Le Roof
1/1 Squirrel
I was interested in Banding until they tried to make me play bass
Posts: 85
Formerly Known As: _________________
Favorite Card: Unhinged Forest #3
Favorite Set: TV
Color Alignment: White, Blue, Black, Red, Green, Colorless
|
Post by Sensei Le Roof on Dec 29, 2023 17:58:02 GMT
That's weird. I don't know why the Phyrexia that's happening. Um... it's kinda stupid, but maybe this? {this_or_that_("creature", upper:true)} gets +1/+1 for every three {if match(param1.value, match: "land$") or contains(Param1.value, match: "snow") or contains(Param1.value, match: "basic") or contains(Param1.value, match: "legendary") then {to_lower(param1)} else param1}{if not contains(param1.value, match: "Plains") then "s on the battlefield" else "on the battlefield."}
|
|