Making the Tribute System Work in a PER File

I have AOE1 ROR and AOE DE. My ultimate goal is to make my “Josephus Takes Galilee” Scenario work so that John of Gischala (Brown Player #4) allies with you (Yellow Player #3) if you give him 100 Gold in Tribute after 1 minute of playtime. I am having trouble with this because when I give John (P #4) the tribute, he says that my petty offerings won’t sway him. So I am running tests on AOE1’s Tribute system to figure it out.

TEST 1. (SUCCESS)
First, I took the Default.Per file and made it read as follows:

128 1 //SNTributePlayer Human Player 1 (Blue)
124 100 //SNTributeAmount
125 10 //SNTributeChatFrequency
126 0 //SNTributeChatRandomness
132 0 //SNTributePersistence Once
127 100 //SNTributeTimeout
129 1 //SNTributeSuccessOutcome Ally
130 0 //SNTributeFailureOutcome No effect
133 1 //SNTributeRevokeOnAttack Yes

//
// The default is now set out of the code.
//
END

You can read what these numbers and values mean in the Tribute information list below:

Then I resaved it with a new name (eg. Tribute Test) and pasted it in my AOE1 Directory’s Data2 folder. But when I did that, my new .per file did not show up in my PERSONALITY entries in my AOE1 Scenario Editor.

So QUESTION 1 is: Do I need to paste my .PER files in BOTH my AI Folder AND in my DATA2 Folder, or just in one of them? I think that the answer is that I just need it in my AI Folder. Maybe the Data2 folder is where my Random Map Multiplayer rounds get their Random Personalities from.

Next, I pasted my Tribute Test .per file in my AI folder, so that it was in both my AI folder and my DATA2 folder. Then I made a new scenario using my Scenario Editor. I gave Player 1 a Marketplace and 200 gold, I gave Player 2 the PERSONALITY of the Tribute Test .Per file, and set their Diplomacy to each other to be Neutral. With these settings, the scenario worked successfully as intended - Player 2 switched me to Ally when I gave him 100 gold.

TEST 2. (SUCCESS)
Next, I edited the Scenario by changing my own Player 1 starting Diplomacy toward Player 2 to Neutral. 10 seconds into the match, Player 2 demanded 100 gold and he also changed his stance to me to enemy at the same time. I don’t understand why he changed his stance to become more hostile. In any case, I immediately sent Player 2 100 gold and he switched his stance to me to “Ally,” so the scenario worked as I intended, except that I didn’t intend for Player 2 to briefly switch me to Enemy until I gave him the Tribute.

TEST 3. (Failure)
Next, I changed the first line in the .Per file to read
128 3 //SNTributePlayer Human Player 3 (Yellow)
Then I renamed it as eg. “Tribute Test1 .per”

I also made a new scenario in which I changed the Human Player to Player 3. I added an AI Player #4 and gave it the Personality of the new Tribute .per file. I set all 4 Players to Neutral to each other. Then during gameplay, Player 4 asked me (Player 3) for 100 gold and changed me to his Enemy. I gave the 100 gold to him and he replied that my petty offerings would not sway him. The he immediately asked me for another 100 gold, and when I paid it to him, he replied the same thing. So the problem is that paying the AI demanding Tribute doesn’t make him ally with you with the values above when the Human Player is switched to Player 3.

TEST 4. (Failure)
Next, I edited the .Per file and the scenario again, changing the value in “129 1 //SNTributeSuccessOutcome Ally” from 1 to 3, hoping that it would make the AI demanding the tribute ally to you because you are Player 3. But this change did not work. When I playtested my scenario with the new .Per file and the first 10 seconds passed, the AI Player #4 didn’t demand Tribute at all from me and just changed his stance towards me from Neutral to Enemy.

So Question 2 is: Can you get the Tribute system to work if you as the Human Player are Player 3 or anyone besides Player 1? This would feel a little strange because if the Tribute System only works if you (the Human Player) are Player 1, then it would make the following line pointless:

128 1 //SNTributePlayer Human Player 1 (Blue)

That is, there would be little point in the game having a Tribute SN line where the editor has to manually select the Player whom the AI would ask for Tribute if Player 1 was the only Player for whom the Tribute system worked.

TEST 5. (Success)
Phatfish wrote to me:

With this tribute .per, no matter which player the HUMAN player is be it 3 or 8, if you want to ask the HUMAN player for tribute always set the

128 1 //SNTributePlayer Human Player 1 (Blue)

to 1 .

If you want to ask another CPU player tribute, (so CPU asking CPU), change it to whatever CPU player you want to demand the tribute from. Keep in mind that if you do this the message asking for tribute will still display, making it seem like the CPU player you assigned the tribute.per to appears to be asking the HUMAN player the tribute. In this case, if you want to use a simple diplomacy change without involving actual tributing from ANY of the players (HUMAN or CPU), simply set the

127 1 //SNTributeTimeout

to 1 second .

So I renamed my .PER file as Tributetester1B and made it say:

128 1 //SNTributePlayer Human Player 1 (Blue)
124 100 //SNTributeAmount
125 10 //SNTributeChatFrequency
126 0 //SNTributeChatRandomness
132 0 //SNTributePersistence Once
127 100 //SNTributeTimeout
129 1 //SNTributeSuccessOutcome Ally
130 0 //SNTributeFailureOutcome No effect
133 1 //SNTributeRevokeOnAttack Yes

//
// The default is now set out of the code.
//
END

Then I took my last Tribute Test scenario and gave Player 4 the PERSONALITY above. Player 3 was Human and all Players were set to Neutral to eachother. In gameplay, Player 4 requested Tribute and paying it to him made him ally with me.

TEST 6. (Success)
Next, I took the previous Tribute Test Scenario above (the one in Test 5) and changed Player 3’s Stance toward all Players to Ally and left all the other Players’ stances toward me (Player 3) as Neutral. 10 seconds into the match, Player 4 asked for tribute and when I gave it to him, he allied with me.

I wish we had any trigger or file that oblige an ally to tribute you

2 Likes