jleclanche / fireplace

A Hearthstone simulator in Python
https://hearthsim.info
GNU Affero General Public License v3.0
669 stars 148 forks source link

druid ancient of war choose flipped #50

Closed hstoner009 closed 9 years ago

hstoner009 commented 9 years ago

I think the druid ancient of war uproot (+5 attack) should be "a" and rooted (+5 health + taunt) should be "b"

jleclanche commented 9 years ago

Doesn't look that way to me:

<Entity version="2" CardID="EX1_178">
    <Tag enumID="185" type="String">Ancient of War</Tag>
    <Tag enumID="183" type="" value="3" />
    <Tag enumID="202" type="" value="4" />
    <Tag enumID="201" type="" value="3" />
    <Tag enumID="199" type="" value="2" />
    <Tag enumID="203" type="" value="4" />
    <Tag enumID="48" type="" value="7" />
    <Tag enumID="47" type="" value="5" />
    <Tag enumID="45" type="" value="5" />
    <Tag enumID="251" type="" value="1" />
    <Tag enumID="184" type="String">&lt;b&gt;Choose One&lt;/b&gt; -
+5 Attack; or +5 Health and &lt;b&gt;Taunt&lt;/b&gt;.</Tag>
    <Tag enumID="321" type="" value="1" />
    <Tag enumID="330" type="" value="0" />
    <Tag enumID="331" type="" value="0" />
    <Tag enumID="342" type="String">Sean O’Daniels</Tag>
    <Tag enumID="351" type="String">Young Night Elves love to play "Who can get the Ancient of War to Uproot?"  You lose if you get crushed to death.</Tag>
    <ReferencedTag name="Taunt" enumID="190" type="Bool" value="1" />
  </Entity>
  <Entity version="2" CardID="EX1_178a">
    <MasterPower>ec4a6946-90a6-49c2-bb87-b9130226d2cd</MasterPower>
    <Tag enumID="185" type="String">Rooted</Tag>
    <Tag enumID="183" type="" value="3" />
    <Tag enumID="202" type="" value="5" />
    <Tag enumID="201" type="" value="3" />
    <Tag enumID="199" type="" value="2" />
    <Tag enumID="251" type="" value="1" />
    <Tag enumID="184" type="String">+5 Health and &lt;b&gt;Taunt&lt;/b&gt;.</Tag>
    <Tag enumID="330" type="" value="0" />
    <Tag enumID="331" type="" value="0" />
    <Power definition="ec4a6946-90a6-49c2-bb87-b9130226d2cd" />
  </Entity>
  <Entity version="2" CardID="EX1_178ae">
    <Tag enumID="185" type="String">Rooted</Tag>
    <Tag enumID="183" type="" value="3" />
    <Tag enumID="202" type="" value="6" />
    <Tag enumID="199" type="" value="2" />
    <Tag enumID="184" type="String">+5 Health and &lt;b&gt;Taunt&lt;/b&gt;.</Tag>
    <Tag enumID="330" type="" value="1" />
    <Tag enumID="331" type="" value="1" />
    <Power definition="715afc1d-036e-4fa8-b039-28280136c2ec" />
  </Entity>
  <Entity version="2" CardID="EX1_178b">
    <MasterPower>01388628-946d-465b-871a-222d03526a69</MasterPower>
    <Tag enumID="185" type="String">Uproot</Tag>
    <Tag enumID="183" type="" value="3" />
    <Tag enumID="202" type="" value="5" />
    <Tag enumID="201" type="" value="3" />
    <Tag enumID="199" type="" value="2" />
    <Tag enumID="251" type="" value="1" />
    <Tag enumID="184" type="String">+5 Attack.</Tag>
    <Tag enumID="330" type="" value="0" />
    <Tag enumID="331" type="" value="0" />
    <Power definition="01388628-946d-465b-871a-222d03526a69" />
  </Entity>
  <Entity version="2" CardID="EX1_178be">
    <Tag enumID="185" type="String">Uprooted</Tag>
    <Tag enumID="183" type="" value="3" />
    <Tag enumID="202" type="" value="6" />
    <Tag enumID="199" type="" value="2" />
    <Tag enumID="184" type="String">+5 Attack.</Tag>
    <Tag enumID="330" type="" value="1" />
    <Tag enumID="331" type="" value="1" />
    <Power definition="48a42a74-5748-4f8c-88b7-47495f34e88e" />
  </Entity>
hstoner009 commented 9 years ago

Uproot is +5 attack which is on the left side in the real game which usually corresponds to choice A. the xml file is based on the data/extra/buffs.py which has the a/b reversed if u want to match up a/b with left/right on the choices presented in the real game (Only applies to ancient of war) . The other choice cards seem consistent.

jleclanche commented 9 years ago

What I pasted is from the original enUS.xml (not the generated one). I'll doublecheck in the logs but I believe what i have is correct, and the left/right side don't necessarily correspond to a/b. It's more likely they correspond to entity IDs.

hstoner009 commented 9 years ago

I can give u a screenshot of ancient of war choice. found one online http://i.imgur.com/Pk5WjBS.jpg maybe it changed after a patch

jleclanche commented 9 years ago

@hstoner009 I'm saying I don't think the ordering is related to whether the card is a or b.

jleclanche commented 9 years ago

@hstoner009 Do pop in to the IRC channel if you want to discuss this; it's easier.

hstoner009 commented 9 years ago

Oh if ab is not left right then I would ignore my request but I know the suboptions from the dirext game maps suboption 0 to the attack choice And duboption 1 to health taunt choice.

hstoner009 commented 9 years ago

At work haha maybe later.

hstoner009 commented 9 years ago

Yeah let me do a more thorough review of this. I originally mapped suboption index to abcd And then this issued showed up. So it might be an error on my part.

hstoner009 commented 9 years ago

Yeah you are correct : subOption 0 entity=[name=Uproot id=28 zone=SETASIDE zonePos=0 cardId=EX1_178b player=1]. As a side note, I think the buff from the rooted/unrooted spell should be applied to the creator (not self) - similar to the druid of the claw.

jleclanche commented 9 years ago

Leaving this open so I can think about how ordering is defined.

hstoner009 commented 9 years ago

Hey,

Quick question. I'm not sure where is the best way to ask this. But if I wanted to save/load a fireplace game board so I can build dome decision trees, what is the best way to accomplish this? Currently deepcopy is pretty slow and I seem to hit some issues pickling the classes. Let me know if you have any tips or recommendations. Thanks!

jleclanche commented 9 years ago

@Ragowit has been looking at similar issues. You really should come back in the channel to discuss these things, much easier :)

jleclanche commented 9 years ago

@hstoner009 I fixed this by swapping the order in hs-cards.