I know that some modders (incl. @Dragon) are interested to change/expand on the current game review messages and the reviewer names.
Unfortunately the method that generates reviews is part of a rather complicated bunch of methods, all called from Reviews.reviewGame and to hack into those methods would be a bit more involved.
Luckily, if you are just looking to add more variety in terms of presentation (=you don’t want to change the review logic itself) then you can adjust the reviews after the game calculates the result. To do this just react to the GDT.eventKeys.gameplay.afterGameReview event.
Example:
GDT.on(GDT.eventKeys.gameplay.afterGameReview, function (e) {
var company = e.company;
var game = e.game;
var reviews = e.reviews;
for (var i = 0; i < reviews.length; i++) {
var review = reviews[i];
//review.score, review.message, review.reviewerName
if (review.reviewerName == "All Games") {
review.reviewerName = "Game Haters";
}
}
});
here, I opted to change the reviewer name from ‘All Games’ to ‘Game Haters’. By accessing the score, message and reviewerName you can easily add your own custom messages and reviewers.
Note: while you can change the message and reviewerName without side-effects, you should not change the score (at least not in a way that would change the average score) as the success of a game is calculated elsewhere (is in game.score).
nothing would happen presentation wise but sometimes the game calculates the average review score or picks a random or specific review out of the array to use in a news article.
EDIT: just checked the code and even the presentation isn’t hard coded to 4 but I think the animation position would mean that they are probably not well presented… (the presentation is in UI.showReviewWindow by the way)
In TweakMod I have already prepared and planned to re-create the Review Dialog (merely to speed it up).
So I thought that a combination between more reviewers (or changed reviewers) and a new / enhanced review screen would work. But if reviews are not always calculated based on all reviews, then it wouldn’t make really sense (or at least it wouldn’t be that comprehensible).
When I wrote InfoStatsMod, I already noticed that all the information about a released game is available as soon as the game has been released (regardless if it has been reviewed and is on sales), so all review scores have been already calculated and then from that the so called avg. score.
Would expanding the reviewers involve much more than this?
Or put in other terms, would you recommend to stick on minor changes or is it possible to enhance it as I was thinking of?
###Edit###
This is how a hook into notifications of different types.
switch (a.header) {
case "{ReleaseGame}":
// alert("{ReleaseGame}");
break;
case "{Reviews}":
// alert("{Reviews}");
break;
}
Would u say that is ok or would it be better to hook into the UI.showReviewWindow?