There are ways to manipulate the event by simply naming them, this is gonna be a modding tool I wanna make that gives modders more options. If you have new idea or ideas to improve a current one, feel free to let me know
***For Players***
If you are just here to get the script for a mod that uses it, simply download EventManipulation v2.zip
Compatible Mods
none so far
Install Instructions:
1. Dowload the mod from the link below
2. Extract the file(s) into your /HaremCollector_vxxx folder
3. Play the game and enjoy the mod
Mega Download Link
***For Modders***
So Conash has made a lot of custom code that allow you to manipulate event behaviour by simply including any of these things in the name, these include:
Mov-Up/Down/Left/Right: This forces an event to spawn one tile to either of those directions
This can be useful if you for example want two events to be on top of eachother
AUTO: This forces an event to not stop updating/working when it is out of range. By default any event that isn't in the field of view stops working, this makes it so it continue
This can be useful for events that moves synchronized, for example dancing events
STOP: Normally the game will try to update every event constantly. This stops that
Is useful for increasing performance. For example if you have a map full of events that's solely there for a sprite visual, those don't need to be updated because they don't run code nor do they change visually, so stopping the game from updating them saves on performance
-ignore: Any tile with a region ID higher than 61 will block events. However this can be circumvented by giving that event the -ignore
Can be useful if you want to create a barrier for events, but you still want to let a select few through
THROUGH: Turns of collisions with all other events
This is good if you want an event to still be limited by walls and the region restrictions yet still be able to pass through other events
no_lock: Normally when an event triggers, it'll face towards the player and then stop all movement/animation. This prevents that
Can be useful for behaviour animations. For example a musician not stopping to play on their guitar while talking to the player
Featherfall: Makes the descend on jump animations slower
Is useful for just what the name suggest, a featherfall effect
Set_Out: This stops events from being affected by the Adjust_Sprite function
Can be useful for scenes you don't want affected by custome changes
+6/+12/-8: These adjust the graphics on an event to move either 6 or 12 pixels up or 8 pixels down
Good for finetuning graphics and making maps look more dynamic
Pixel adjustment for Event Graphics:
Now see it is that last naming code I was interested in, it annoyed me we only had those three to choose from. And what if I wanted to move on the x axis too?
So I made some improvements on it and now you can move however many pixels you want in all 4 cardinal directions.
Just a note while you can go however many pixels in either direction you want one tile is 32 pixel, maybe consider just moving the event itself if you have to go above that if possible, however it's all up you
Also since you can move in all 4 directions means you can make it move in a diagonal
Moving on the Y axis:
<+Y:Pixels>: moves up
<-Y:Pixel>: moves down
examples:
<+Y:19>
<-Y:19>
Moving on the X axis:
<+X:Pixels>: moves right
<-X:Pixels>: moves left
examples:
<+X:19>
<-X:19>
Event Directional Blocking
Okay so, with tilesets you can set certain tiles to block the player from passing over it from certain directions. For example stairs can only be moved on from up and down and not the sides. I have made something similar but for events, so you can now have moving one-way barriers. You can block from all 4 cardinal directions, and have it block more than 1 direction at a time. For example block from left and up.
To make this work you must set the event priority to either above or below characters, otherwise it's just gonna block from all directions either way. Then use the following naming syntax:
BLK:U/D/L/R:
example:
BLK:U: to block the up direction
multi-direction example:
BLK:U:L: to block from both up and left
And yes the last : is important
Event Block Line of Sight
So in basegame there is a line of sight for enemies that can normally be blocked with the region 1, however that was the only way to block it. But what if you wanted a stealth mission with moving walls for example? Well now you can simply name your event this:
LoS
And it will now block the line of sight
Event Opacity
I have made it possible to change an events opacity via naming. I have made two versions, absolute value and percentage. The reason is simple opacity isn't percentage based it's absolute values from 0-255. Anyways the naming syntax is:
For absolute values:
<OPC:0-255>
example:
<OPC:127>
For percentage:
<OPC:0-100%>
Example:
<OPC:50%>
Event Blend Type
And now blend types. What are blend types? Really complicated RGB math to get specific results. Or just really cool ghostly effects and silhouettes. If you are curious in the exact effect read the bottom of this section, I have a little explanation. Anyways there are two blend types: Add and Subtract and the naming syntax is:
Add:
BLD-ADD
Subtract:
BLD-SUB
What is blend types actually?
In short it takes the color of the sprite and blends it into the tile beaneath the sprite. It does this by adding or subtracting the RGB values from it. Note: the order is very important, it's always the top layer added/subtracted to the bottom layer. In short 255-0 does not equal 0-255.
So here's an example if you have a pure red sprite on a pure blue tile. Then a blend type of add will result in purple and a subtract will result in pure blue. Here is why:
Pure Red: RGB[255, 0, 0]
Pure Blue: RBG[0, 0, 255]
So for add blend type
Note the order, the event (Pure Red) will be added to the tile (Pure Blue):
[0, 0, 255] + [255, 0, 0] = [255, 0, 255] (Which is Purple. Well more like a purple-ish pink because fuck you RGB)
Now the subtract blend type
Here the order is more important, because of how subtraction works. But again the event (Pure Red) will be subtracted from the tile (Pure Blue):
[0, 0, 255] - [255, 0, 0] = [0, 0, 255] (Which is Pure Blue again. The reason why is because for red you get 0-255 and in RGB any value below 0 just get rounded to 0. Green is 0-0 which is obviously 0. Blue is 255-0 which is obviously 255)
For a visual example:
The order is normal, add and subtract

You are free to include this script in your mod, I however suggest not doing so. Because I might update or bugfix the original code, so if you included it in your, you would have to update aswell or your mod would revert it back. Instead I'd suggest just referring people to this page instead.
***For Players***
If you are just here to get the script for a mod that uses it, simply download EventManipulation v2.zip
Compatible Mods
none so far
Install Instructions:
1. Dowload the mod from the link below
2. Extract the file(s) into your /HaremCollector_vxxx folder
3. Play the game and enjoy the mod
Mega Download Link
***For Modders***
So Conash has made a lot of custom code that allow you to manipulate event behaviour by simply including any of these things in the name, these include:
Mov-Up/Down/Left/Right: This forces an event to spawn one tile to either of those directions
This can be useful if you for example want two events to be on top of eachother
AUTO: This forces an event to not stop updating/working when it is out of range. By default any event that isn't in the field of view stops working, this makes it so it continue
This can be useful for events that moves synchronized, for example dancing events
STOP: Normally the game will try to update every event constantly. This stops that
Is useful for increasing performance. For example if you have a map full of events that's solely there for a sprite visual, those don't need to be updated because they don't run code nor do they change visually, so stopping the game from updating them saves on performance
-ignore: Any tile with a region ID higher than 61 will block events. However this can be circumvented by giving that event the -ignore
Can be useful if you want to create a barrier for events, but you still want to let a select few through
THROUGH: Turns of collisions with all other events
This is good if you want an event to still be limited by walls and the region restrictions yet still be able to pass through other events
no_lock: Normally when an event triggers, it'll face towards the player and then stop all movement/animation. This prevents that
Can be useful for behaviour animations. For example a musician not stopping to play on their guitar while talking to the player
Featherfall: Makes the descend on jump animations slower
Is useful for just what the name suggest, a featherfall effect
Set_Out: This stops events from being affected by the Adjust_Sprite function
Can be useful for scenes you don't want affected by custome changes
+6/+12/-8: These adjust the graphics on an event to move either 6 or 12 pixels up or 8 pixels down
Good for finetuning graphics and making maps look more dynamic
Pixel adjustment for Event Graphics:
Now see it is that last naming code I was interested in, it annoyed me we only had those three to choose from. And what if I wanted to move on the x axis too?
So I made some improvements on it and now you can move however many pixels you want in all 4 cardinal directions.
Just a note while you can go however many pixels in either direction you want one tile is 32 pixel, maybe consider just moving the event itself if you have to go above that if possible, however it's all up you
Also since you can move in all 4 directions means you can make it move in a diagonal
Moving on the Y axis:
<+Y:Pixels>: moves up
<-Y:Pixel>: moves down
examples:
<+Y:19>
<-Y:19>
Moving on the X axis:
<+X:Pixels>: moves right
<-X:Pixels>: moves left
examples:
<+X:19>
<-X:19>
Event Directional Blocking
Okay so, with tilesets you can set certain tiles to block the player from passing over it from certain directions. For example stairs can only be moved on from up and down and not the sides. I have made something similar but for events, so you can now have moving one-way barriers. You can block from all 4 cardinal directions, and have it block more than 1 direction at a time. For example block from left and up.
To make this work you must set the event priority to either above or below characters, otherwise it's just gonna block from all directions either way. Then use the following naming syntax:
BLK:U/D/L/R:
example:
BLK:U: to block the up direction
multi-direction example:
BLK:U:L: to block from both up and left
And yes the last : is important
Event Block Line of Sight
So in basegame there is a line of sight for enemies that can normally be blocked with the region 1, however that was the only way to block it. But what if you wanted a stealth mission with moving walls for example? Well now you can simply name your event this:
LoS
And it will now block the line of sight
Event Opacity
I have made it possible to change an events opacity via naming. I have made two versions, absolute value and percentage. The reason is simple opacity isn't percentage based it's absolute values from 0-255. Anyways the naming syntax is:
For absolute values:
<OPC:0-255>
example:
<OPC:127>
For percentage:
<OPC:0-100%>
Example:
<OPC:50%>
Event Blend Type
And now blend types. What are blend types? Really complicated RGB math to get specific results. Or just really cool ghostly effects and silhouettes. If you are curious in the exact effect read the bottom of this section, I have a little explanation. Anyways there are two blend types: Add and Subtract and the naming syntax is:
Add:
BLD-ADD
Subtract:
BLD-SUB
What is blend types actually?
In short it takes the color of the sprite and blends it into the tile beaneath the sprite. It does this by adding or subtracting the RGB values from it. Note: the order is very important, it's always the top layer added/subtracted to the bottom layer. In short 255-0 does not equal 0-255.
So here's an example if you have a pure red sprite on a pure blue tile. Then a blend type of add will result in purple and a subtract will result in pure blue. Here is why:
Pure Red: RGB[255, 0, 0]
Pure Blue: RBG[0, 0, 255]
So for add blend type
Note the order, the event (Pure Red) will be added to the tile (Pure Blue):
[0, 0, 255] + [255, 0, 0] = [255, 0, 255] (Which is Purple. Well more like a purple-ish pink because fuck you RGB)
Now the subtract blend type
Here the order is more important, because of how subtraction works. But again the event (Pure Red) will be subtracted from the tile (Pure Blue):
[0, 0, 255] - [255, 0, 0] = [0, 0, 255] (Which is Pure Blue again. The reason why is because for red you get 0-255 and in RGB any value below 0 just get rounded to 0. Green is 0-0 which is obviously 0. Blue is 255-0 which is obviously 255)
For a visual example:
The order is normal, add and subtract
You are free to include this script in your mod, I however suggest not doing so. Because I might update or bugfix the original code, so if you included it in your, you would have to update aswell or your mod would revert it back. Instead I'd suggest just referring people to this page instead.
Comment