MFP features a few new entity types.
The entity which executes phonecalls. There's only one such aset in the game, and the entity itself doesn't have and User Defined Settings. In the Level Editor, it has multiple settings:
.ogg
file to play. The file has to be located in the sounds folder or one of its subfolders.Not all 7 entries must be used, but there can't be more than that in a single phonecall.
The PhoneBox entity has dedicated functions for it:
StartPhoneRinging(string &in asPhonebox); StopPhoneRinging(string &in asPhonebox);
asPhonebox - the phone box entity to use
The phone won't start calling until the StartPhoneRinging function is played. StopPhoneRinging can be used when e.g. the player leaves an area without picking up the phone, or takes too long.
When StartPhoneRinging is used, the phone will start ringing (the sound is only hearable in a quite short distance, and a bell animation will play) and the player will be prompted with a custom interaction icon to click on the phone. This will play a switch animation as well as the voice file, and display all the defined subtitles at specified intervals. After the voice file finishes playing, another switch animation will play and the glow will disappear (if it was used).
Something to keep in mind that the green light on the phoneboxes is not a part of the entity - it's a regular ligth which needs to be enabled by manual scripting.
This enemy type has multiple new settings in the LevelEditor. They are all documented in the editor hover-hints, but some of them require additional explanations:
Hallucination - uses enemy_hallucination_disappear.snt, which isn't in the game files but could be modded in. The hallucination effect now consist of some organic particles instead of the TDD dust particle.
Pose - determines whether the enemy will move and attack upright or on all fours.
ThreatenOnAlert - if ticked, the enemy will play an additional animation before chasing/fleeing from the player.
FleeFromPlayer - the enemy will run away when it notices the player. Running to the furthest pathnode seems to be the main behaviour. The monster will still attack if the player comes too close or encounters the monster after it fled.
Before using this, make sure that your level has PathNodes - otherwise the game will crash when the monster notices the player!
AutoDisableAfterFlee - if the monster flees and can't be seen by the player anymore, it will disappear.
IdleBehaviour - determines what the enemy does when not engaged or patrolling (or when there are no patrol nodes left to walk to). Options are:
It is an enemy variation used for acting out scenes. It has some of the Pig enemy settings. However, they are mostly useless.
This “enemy” doesn't seem to respond to any player input, asides from proximity.
It also has a lot of Level Editor settings (things with ? marks haven't been tested):
Doesn't seem to have much to it, it is unclear why it was added (.dae
with animations play anyway, and PlayPropAnimation
isn't used with AnimatedProps).
It's the type of all entities from entities/voice_triggers
. It seems that it wasn't used in any of the maps, which makes this entity type unrestorable1) .