Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Test Subject
Original Poster
#1 Old 28th Jul 2011 at 6:21 AM Last edited by Aalea : 28th Jul 2011 at 7:56 AM.
Default Editing wish generation?
Sorry if this has been asked before, but I couldn't find anything on it. Does anyone know what file, if there is a file, that modifies how often wishes come up? I've been combing through GameplayData for a while now and can't find anything. I'm trying to disable or decrease the persistent flow of expansion pack related wishes (i.e. Discover Potion x, Play on Hopscotch Court, Visit x Hotspots, etc.). I have most of Nraas's mods and Awesomemod if anyone know whether either of those mods can influence this.

ETA: Ok, so I found the file in GameplayData that I think controls/affects wishes- it's all these "DreamNode" files. I have no idea how to actually edit them though, they're more cryptic to me than the trait files.
Advertisement
Forum Resident
#2 Old 28th Jul 2011 at 6:40 AM
Test Subject
Original Poster
#3 Old 28th Jul 2011 at 7:08 AM
No, sorry, I mean wishes/wants- not memories. Although if there was something like that mod for wishes that would be wonderful.
Forum Resident
#4 Old 28th Jul 2011 at 8:07 AM
My fault, brain fart.
Inventor
#5 Old 28th Jul 2011 at 9:22 PM Last edited by velocitygrass : 28th Jul 2011 at 11:01 PM. Reason: typo
Okay, this is not trivial (for an xml mod). Here's a quick step-by-step guide:

0) I'll assume you have all relevant files in GameplayData.package extracted (it's the DreamsAndPromisesNodes.xml file and all .dreamtree files, i.e. type 0x0604ABDA)

1) Go into DreamsAndPromisesNodes and locate your wish:

Code:
<Primitives>
  <Name>Play Hopscotch</Name>
  <Category>Hopscotch (EP4)</Category>
  <Id>186667938</Id>
  <TriggerEvent>kPlayHopscotch</TriggerEvent>
  <RequiredProductVersions>EP4</RequiredProductVersions>
  <PrimaryIcon>w_play_hopscotch</PrimaryIcon>
 </Primitives>
Now take the number in the Id tag. In this case 186667938.

2) Search through all .dreamtree files to locate that number

In this case, you'll find the Hopscotch.dreamtree

3) go to the first InstanceNode tag with that number as PrototypeId

Code:
<InstanceNode d2p1:type="DreamNodeInstance" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance">
    <Id>1829251956</Id>
    <ParentId>371339228</ParentId>
    <PrototypeId>186667938</PrototypeId>
    <Center>
      <X>-150</X>
      <Y>-163</Y>
    </Center>
    <NextDreamSelectionProbability>20</NextDreamSelectionProbability>
    <FulfillmentScore>15</FulfillmentScore>
...
  </InstanceNode>
Right above the line with your number you'll find a ParentId tag with another number. In this case 371339228.

4) Search in the same .dreamtree file for that parent number (371339228), specifically where that parent number appears in the Id tag (there might be more node instances where it appears as ParentId; ignore those for now).

Code:
<InstanceNode d2p1:type="DreamNodeInstance" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance">
    <Id>371339228</Id>
    <ParentId>2941275068</ParentId>
    <PrototypeId>4261383540</PrototypeId>
    <Center>
      <X>-77</X>
      <Y>-19</Y>
    </Center>
    <NextDreamSelectionProbability>30</NextDreamSelectionProbability>
    <DreamVisible>false</DreamVisible>
    <Repeatable>true</Repeatable>
    <TimeBetweenRepeats>12</TimeBetweenRepeats>
    <AgeZeroCheck>true</AgeZeroCheck>
    <AgeGroups>
      <string>Child</string>
      <string>Teen</string>
      <string>YoungAdult</string>
      <string>Adult</string>
      <string>Elder</string>
    </AgeGroups>
...
    <InputNumber>-15</InputNumber>
...
  </InstanceNode>
This is the parent that causes our Play Hopscotch wish to appear. You can find out what it means by looking up the prototype id (4261383540) in the DreamsAndPromisesNode.xml: It's "Have fun below $n value". The $n will be replaced by whatever is in the InputNumber tag, which is -15. So this means when the fun motive for a sim goes below -15, the parent node of our Hopscotch wish gets can be triggered.

As you can see repeatable is true and the TimeBetweenRepeats is 12, which should be sim hours I think. So what you can do is change that number to something higher.

You could also tweak NextDreamSelectionProbability to be lower.

5) If there are other nodes that also have the parent node of your wish node as their own parent, you might want to check what they are, because you'll influence the chances of them appearing too. E.g. when you go to the second appearance of the play Hopscotch wish, you'll find the parent 2815059067, which is the "Buy a [Hopscotch Court]" event (prototype id 3425286186). That one is also the parent node of a wish with prototype 186667937, which is "Win a Game of Hopscotch".

You'll have to decide if it's okay that this wish would also be affected by your changes in the parent.

6) repeat steps 3 through 5 until you've got them all. In some cases the repeatable might be directly in the node. Sometimes it could be further up in the hierarchy.


Note: I've played around with wishes for my LTW tutorial, but haven't tested exactly this. It's quite cumbersome and I think to really tweak wishes comfortably, someone would have to write a tool that lets you find parents and children by clicking a button/link and which saves you the step of looking up prototypes. I've written a little ruby script which parses the dreamtrees and converts them into more readable text files, but it's only for information.

In any case, good luck.
Test Subject
Original Poster
#6 Old 28th Jul 2011 at 10:44 PM
Wow, thank you. That's incredibly helpful. I was hoping it would just be a simple edit, but since I'm only going to be doing it with a few wishes, I think I can manage it. If I was more of a programmer I'd try to write a tool, but I really only deal with xml tuning in my modding experience. Once again, thank you so much, I wasn't expecting such a detailed tutorial and it's a huge help.
Inventor
#7 Old 28th Jul 2011 at 11:02 PM
You're welcome. I hope it works
Back to top