It is currently 16 Apr 2024, 04:24
   
Text Size

Community Wad

Moderator: CCGHQ Admins

Re: Community Wad

Postby addict insane » 17 Jul 2018, 16:08

You could make Leovold available with a note on it while looking for a solution. The same could be done for Karn Liberated, stating that his Ultimate is either an approximation or impossible to code.

Xander, when I try Google Drive's auto-update of the files in the CW, it zips everything into a GB-sized zip file. That is extremely difficult for me to download given the third world internet quality here in Argentina, which usually disconnects before finishing. Is there anyway to get around that other than manual updating? Any software I can download that can maybe pause the download after a disconnect instead of having to start it over
addict insane
 
Posts: 184
Joined: 02 Mar 2015, 22:20
Has thanked: 23 times
Been thanked: 11 times

Re: Community Wad

Postby fallenangle » 17 Jul 2018, 16:50

I'm not sure that I like the idea of putting "half-coded" cards into the CW. Things that are really impossible should be left out until we can think of an approximation, if only so that people don't get their hopes up unnecessarily and then complain.

As for Karn Liberated, he is now in the CW. I've been working on the card for 3 years, and the final two hurdles for his ultimate had thwarted my attempts to find solutions until recently. (For the record, those were 1) handling poison counters, which have to be overwritten rather than removed, since they cannot be removed normally; and 2) skip regular turns for other players and extra turns for all players until it is the next regular turn of the player who activated Karn so that the game starts then, as per the rules.) 1) is possible thanks to help I received from Riiak, while 2) works thanks to things I learned from Ugin's Nexus and cards that use the GetTurnID function to tell if a turn is a "regular" turn or not. I didn't actually understand coding DOTP well enough until very recently to achieve these effects, and I am not 100% certain that what I have done will work without additional fixes, so testing would be welcome. I can only really take credit for organizing, thinking through the execution of, and commenting out his Ultimate, as the rest of the code, including the Mulligan Functions needed to make it work, was done by NeoAnderson back when he was still active, and Riiak when I asked him about how to work with the GAIN POISON Trigger back in 2015 and he provided a way that worked to override a set amount of poison counters that I only recently understood and could implement. Xander and TFM also deserve credit for providing additional pointers and clarification. To Xander also goes the credit for making it possible to create the Restart Game trigger that those cards that activate on turn 0 need to be reactivated when Karn goes Ultimate. So this is very much a team effort for one card that many of us wanted to see.
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Community Wad

Postby Xander9009 » 17 Jul 2018, 17:35

Thanks. For the "ABILITY_PLAYED" trigger, TriggerObject() is the ability itself, yes, but sadly SecondaryObject() and SecondaryPlayer() are both nil when it targets a player. TriggerObject() is what I used for checking spells, but this line fails for abilities:
Code: Select all
TriggerObject():GetDataChest()
I don't know of any other way to get a pointer to the ability's target chests to check if EffectController() is among them.

I think for now I'll just mark it as partially working and drop it in. Out of the four types of triggers it should respond to, it'll correctly respond to three. Not ideal, but it's the least common one that it's going to ignore, so it's not terrible. Any other thoughts?
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Community Wad

Postby fallenangle » 17 Jul 2018, 18:22

Could you load the target definition from somewhere else and make it work that way?
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Community Wad

Postby fallenangle » 17 Jul 2018, 22:13

I'm also not sure that the TriggerObject for "Ability Played" is the ability, any more than it is for "Activated Ability Played." The trigger object, insofar as I can tell from my tests, is actually the *card* that generates the ability. Players can't put abilities onto the stack directly, as happens with spells; only cards can do so. This is probably why we can tell where an ability comes from, but not where it is, in the sense that we could directly manipulate it. It doesn't seem, at least from my tests, that abilities go into, or can be put into, chests of any kind. They're a class of stack object, like cards; but. unlike cards, they don't have pointers that go to them. That's probably why the GetDC fails in your Leovold code, as the trigger object that put the ability on the stack has no targets in a chest that can be retrieved.
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Community Wad

Postby addict insane » 18 Jul 2018, 01:12

Commune with Dinosaurs is letting you pick land cards, but not dinosaur cards.

EDIT: Somebody commented a while ago that Karn, Scion of Urza was not working properly. Has it been fixed yet?

EDIT 2: No, with Karn's plus ability you still get both cards exiled. And also this:
[lua] [string "KARN_SCION_OF_URZA_CW_TITLE (RESOLUTION_TIME_ACTION)~0x00000961"]:6:
parameter mismatch or too few parameters [expected bzS32]
addict insane
 
Posts: 184
Joined: 02 Mar 2015, 22:20
Has thanked: 23 times
Been thanked: 11 times

Re: Community Wad

Postby erjerjerj » 19 Jul 2018, 18:39

Coding request:

Is there a special reason why M19 doesn't have a development thread?

Can the following cards be coded, or are they impossible?
(I can't find them on the wad while using the deck builder)

Militia Bugler
Dusk // Dawn

Thank you all for your great work.
erjerjerj
 
Posts: 32
Joined: 23 Oct 2016, 11:58
Has thanked: 20 times
Been thanked: 3 times

Re: Community Wad

Postby fallenangle » 19 Jul 2018, 19:44

I think I can fix Karn and add Dusk//Dawn to the CW. I don't feel like doing Militia Bugler at the moment, but it is definitely possible.

There isn't a dedicated thread for M19 because Splinterverse, Xander, other modders, and I are all too busy and/or uninclined to code the set. I've already coded every rare card in the main set and every mythic in both the main and PLW Deck sections, as well as Elvish Rejuvenator. Barring my own desire to use more cards from the set, however, I doubt I'll be coding any more of them anytime soon.
fallenangle
 
Posts: 319
Joined: 20 Jul 2013, 02:31
Has thanked: 73 times
Been thanked: 41 times

Re: Community Wad

Postby NEMESiS » 20 Jul 2018, 04:36

The First Eruption's 3rd lore counter doesn't work.
User avatar
NEMESiS
 
Posts: 460
Joined: 03 Jan 2013, 04:02
Location: Pools of Becoming
Has thanked: 70 times
Been thanked: 21 times

Re: Community Wad

Postby addict insane » 20 Jul 2018, 11:54

Teferi, Hero of Dominaria's -3 ability does nothing for me, and I get:

[lua] [string "TEFERI_HERO_OF_DOMINARIA_CW_TITLE (RESOLUTION_TIME_ACTION)~0x00..."]:11: 'end' expected (to close 'if' at line 3) near '<eof>'

Arcades, The Strategist isn't enabling walls to attack.

EDIT: If you cascade into Dromoka's Command, and can't choose two modes because you have no creatures, the game gets stuck in the menu of "Choose two" and you can't continue that match.
addict insane
 
Posts: 184
Joined: 02 Mar 2015, 22:20
Has thanked: 23 times
Been thanked: 11 times

Re: Community Wad

Postby erjerjerj » 22 Jul 2018, 11:36

I have decided to code Militia Bugler as my first card :)
I used "[ TUTORIAL ADVANCE ] Coding Your Cards..." post, and took code snippets from other cards in order to do so.
I have three questions regarding it (I hope this is the right place to ask them):

1. Part of the code is:
Code: Select all
    <RESOLUTION_TIME_ACTION>
      local oTarget = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
      if oTarget ~= nil then
        oTarget:Reveal()
      end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
      local oTarget = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
      if oTarget ~= nil then
        oTarget:PutInHand()
      end
    </RESOLUTION_TIME_ACTION>
Why isn't it
Code: Select all
    <RESOLUTION_TIME_ACTION>
      local oTarget = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
      if oTarget ~= nil then
        oTarget:Reveal()
        oTarget:PutInHand()
      end
    </RESOLUTION_TIME_ACTION>
instead? is it mandatory to break the code to sections like this?

2. Where should I put the link to the wad with the new card?

3. Is there a fast way for testing new card beside playing the game with it? (as I did)
erjerjerj
 
Posts: 32
Joined: 23 Oct 2016, 11:58
Has thanked: 20 times
Been thanked: 3 times

Re: CommGunity Wad

Postby thanosyro » 22 Jul 2018, 18:47

Goblin Guide hilarious!
Was trying a new deck against "Goblin Gangland" deck. This little @#$! weasel knows exactly when it should attack me! Imagine two of them standing still, with no defense by me, whenever my top card is a land. :lol: :lol: :lol:
thanosyro
 
Posts: 40
Joined: 28 Apr 2015, 18:58
Has thanked: 2 times
Been thanked: 3 times

Re: CommGunity Wad

Postby addict insane » 23 Jul 2018, 10:39

thanosyro wrote:Goblin Guide hilarious!
Was trying a new deck against "Goblin Gangland" deck. This little @#$! weasel knows exactly when it should attack me! Imagine two of them standing still, with no defense by me, whenever my top card is a land. :lol: :lol: :lol:
Yeah, it's been discussed that the AI can "see" both your hand and your deck. However, I believe it balances some matches, because there are cards against which the AI doesn't know how to play against (Vehicles, manlands, Aether Vial, etc.)

On a different note:
[lua] [string "TOOLCRAFT_EXEMPLAR_CW_417605_TITLE (CONTINUOUS_ACTION)~0x00003bf5"]:7: attempt to index a nil value
addict insane
 
Posts: 184
Joined: 02 Mar 2015, 22:20
Has thanked: 23 times
Been thanked: 11 times

Re: Community Wad

Postby Xander9009 » 23 Jul 2018, 17:25

erjerjerj wrote:I have decided to code Militia Bugler as my first card :)
I used "[ TUTORIAL ADVANCE ] Coding Your Cards..." post, and took code snippets from other cards in order to do so.
I have three questions regarding it (I hope this is the right place to ask them):

1. Part of the code is:
Code: Select all
    <RESOLUTION_TIME_ACTION>
      local oTarget = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
      if oTarget ~= nil then
        oTarget:Reveal()
      end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
      local oTarget = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
      if oTarget ~= nil then
        oTarget:PutInHand()
      end
    </RESOLUTION_TIME_ACTION>
Why isn't it
Code: Select all
    <RESOLUTION_TIME_ACTION>
      local oTarget = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
      if oTarget ~= nil then
        oTarget:Reveal()
        oTarget:PutInHand()
      end
    </RESOLUTION_TIME_ACTION>
instead? is it mandatory to break the code to sections like this?

2. Where should I put the link to the wad with the new card?

3. Is there a fast way for testing new card beside playing the game with it? (as I did)
PM me your email address and I'll use it to grant you permission to add new files (if you don't already have permission). There's a specific folder where you can add new files, and the scripts I made and run on my end will do the rest.

You don't always need to split them up, though splitting them up is often more reliable. If you don't want to split them up, then don't. Your choice.

For testing, using it in-game is the only reliable way to know if it's done correctly. There's a specific test card you can use called Favor of the Gods. It starts with an underscore, so if you've got the version of the deck builder which allows you to filter by underscore starting characters, you'll need to disable that (just look in the bottom right section of the simple filters).
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Community Wad

Postby MasterXploder7 » 23 Jul 2018, 22:54

I made a commander deck using the deck builder and I left the auto fill lands option on when I exported the deck. The thing is though, I had a deck of 153 cards once the match loaded. I thought anything over a 100 card deck was impossible? was this fixed while I've been away?
"Hate is an everlasting wellspring from which it is eternally sustained." - Nirkana Revenant
MasterXploder7
 
Posts: 293
Joined: 18 Jan 2014, 10:55
Has thanked: 28 times
Been thanked: 11 times

PreviousNext

Return to 2014

Who is online

Users browsing this forum: No registered users and 22 guests

cron

Who is online

In total there are 22 users online :: 0 registered, 0 hidden and 22 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 22 guests

Login Form