RSS

姫HIME’s End Phase Trigger Script

07 Sep

In a game where the the players are unable to freely save their progress and where difficulty scales up according to the party members’ level, dying is probably everyone’s worse nightmare. Dying is one thing, but there are occassion where I do not want to get the player killed, such as during the battle tutorial at the start of the game. I am planning use the end phase trigger in conjunction with Yanfly’s enemy level script, which will hopefully make the game challenging enough to keep the players on their toes.

Yanfly’s Enemy level script allows us to scale up the enemy’s level according to one of the following options:

  • Type 0: Lowest level of all actors that have joined
  • Type 1: Lowest level in the battle party
  • Type 2: Average level of the battle party
  • Type 3: Highest level of the battle party
  • Type 4: Highest level of all the actors that have joined

Type 0 and Type 5 are definitely out of the question as they are game-breaking.
Type 1 raises a few red flags for me as players can easily cheat the system by having a low level battler in the party, but the effect isn’t as bad as type 0 or 5 as the character will gradually level up.
Type 3 is the one that I initially picked but it could potentially make the game super difficult when leveling new classes

It may seem fine at first, but what if by some random chance that the monster in the very first battle tutorial manages to kill the player? It will definitely leave a bad impression in the player’s mind. It may degenerate into criticism about the lack of professionalism or poorly thought out system. In a time where social media is thriving, a negative comment can travel far and wide and I am definitely doing my best to stay clear of that.

At first I thought that I can simply script the troop common event page to check if the player’s status is alive or dead, and use the recover all method to restore the player’s health, unfortunately the common event does not work that way. Once the victory or defeat condition has been met, anything in the common event will be ignored. This is truly a simple problem that cannot be simply solved without knowledge on RGSS scripting to make sure that the common event page is checked before self.judge_win_loss is called.

Fortunately, Hime’s end phase trigger script can do just that. It is a basic plug-and-play script that anyone, including those with no programming knowledge, can use. I don’t even have to modify anything within the troop’s common event page, unlike some of the script I am using. Below is example from a simple test map to demonstrate a simple troop event and how the end phase trigger made sure to check the battle condition before declaring the victor in the battle. The sample also made use of Hime’s Large Troop script that enable us to battle more than 8 monsters at a time.

The benefit of end phase trigger script is not limited to preventing players from getting killed in the tutorial battle. The script will help me greatly with quests. Project Avalon comes with numerous hidden objects, including but not limited to regions and companions. In order to unlock some of these features, players would have to establish themselves as a trustworthy/dependable character to the NPCs.

I strongly believe that NPCs should not be treated as objects/decorations. They have a purpose no matter how insignificant it may be. Helping villagers disposing threats or just helping them in general will earn you some trust point(s), and helping villains such as an oppressive land-owner will result in the loss of trust point(s). Trust point is similar to reputation point in MMORPGs. You can earn trust points by doing side quests and repeatable quests, but the amount that you have earned and the amount you need to unlock certain feature will be hidden. Some people might find this frustrating, but I strongly believe in helping for the sake of helping. You are helping just because it is within your ability to do so, and in return, the NPCs will appreciate you for what you did and be willing to risk their lives to follow you on your journey. That is the basis of the whole hidden companion feature. Of course you can play the role of the selfish hero who pursues wealth and fame. Selfish people usually ended up living their life in loneliness. You have the option to be a lone wolf if you want more of a challenge.

Quest is divided into four categories–kill quest, drop quest, gathering quest, interaction quest. Kill quest is your basic kill-n-amount-of-X-monsters and drop quest is the generic get-n-amount-of-X-item-from-killing-Y-monster. Most of the quest related encounter takes place using the default random encounter event. As I said before, the troop’s event will be ignored upon victory/defeat. So if the quest is to kill 5 slimes, and a troop of 5 slime appeared, defeating the troop should mean that the player have fulfilled the quest requirement. However that is not the case; player will receive 4 counts towards their kill instead of 5. This applies for quest item(s) dropped by monsters as well. The last monster will not give the item even if the drop rate is set to 100%. My solution, again, is to use Hime’s end phase trigger and all my problem will be solved just like that.

Thank you, Hime.

 
Leave a comment

Posted by on September 7, 2015 in Scripts

 

Tags:

Leave a comment