Scream Fortress and you: A guide to all things spooky

Discussion in 'Tutorials & Resources' started by Sandwhip, Aug 20, 2019.

  1. Sandwhip

    aa Sandwhip

    Positive Ratings:
    It's that time of year again, where people are struggling to come up with a good gimmick for their halloween maps. Well don't worry; i'm here to make your job just a little easier.

    In this guide i'll go over the many, MANY entities which are useful for scream fortress maps.
    Do note that while these entities can be fun, don't use too many in the same map. Gimmicks can go overboard. Sometimes it's best to keep it simple.

    The Essentials

    The lifeblood of any halloween map. This entity enables crumpkins to be
    dropped on death, and changes health-kits into their tasty candy counterparts. It also allows players to freely wear halloween-locked cosmetics.
    For the most part, you can just set the 'Holiday' value to halloween and be on your way, but there are a couple of inputs I would like to quickly address as they can be important.
    HalloweenSetUsingSpells - In order to have the spellbook HUD enabled, this input must be sent to the tf_logic_holiday with the value of 1. Highly recommended if you choose to implements spellbooks in your map.

    Halloween2013TeleportToHell - If you want an end-of-round fight similar to the one seen in helltower, you'll need to send this input to the tf_logic_holiday. However you also need many other entities set up for this to work properly, so take caution when using it.

    entity_spawn_manager + entity_spawn_point
    Every good halloween map has pumpkin bombs. They're a fun mechanic, so it's always good to have them included. You may have thought, "wait, can't I just use tf_pumkin_bomb?" and yes, you can. But I would highly discourage that. By using an entity spawn manager, you can set a specific respawn time and choose how many are active at one time. For my newest map (which is quite small) I use these settings for the entity_spawn_manager. Of course the 'Count' and 'Respawn Time' should be tweaked for your own map.
    The entity_spawn_point is very simple. Just set the spawn manager name to that which is control of the pumpkin bombs (mine
    aptly named 'pumpkin_manager') and copy+paste around the map to your leisure.


    These entities are soul gargoyle spawn locations, and are actually incredibly simplistic. Just place them wherever you want, and gargoyles will periodically spawn in those locations.


    Bosses are spawned quite easily. All you need in order for them to appear on the map (with the exception of skeletons) is 5 separate entities: The entity of the boss in question (meramus, headless_hatman, eyeball_boss), a point_template, a env_entity_maker, a model of the boss, and some logic to trigger it.
    Just add the boss entity into the template, have the template referenced in the entity spawner, then send a 'forcespawn' input to the entity maker. You'll also need your map to have a functional navigation mesh for the bosses to work properly.

    Monoculus and Mermasmus are able to have a truce called when they spawn, but this is entirely optional.
    To enable truces, send the input 'SetMapForcedTruceDuringBossFight 1' to the maps tf_gamerules.
    Note that truces will not deactivate objectives, they will only disable player damage.
    To deactivate objectives, you can use 'OnTruceStart' and 'OnTruceEnd' outputs from tf_gamerules.

    You don't need anything else for this boy aside from the entities listed above, however there's one very important thing you need to know before implementing him into your map.
    The HHH will set a 'default' point to whichever currently caputurable CP has the lowest index number. The 'hide and seek' radius will originate from that control point.
    Because of this, it's best not to use the HHH on maps with multiple points active at once, like PLR or gavelpit-styled CP.
    If there are no control points on a map (such as in CTF), the HHH will set the default point to its spawn location.

    To start off, you need to set the locations you want Monoculus to periodically teleport to. You can do this by placing an info_target named 'spawn_boss_alt' in the chosen destination.
    The portals that Monoculus leaves behind when teleporting will teleport players who enter it to any info_targets named spawn_purgatory. You don't need to have this send players to an underworld though, anywhere is good!

    Merasmus is definitely the trickiest of the bunch, and to be honest I still haven't completely figured him out.
    In order for players to receive pumpkin-bomb heads, have Merasmus teleport and hide, and stop Merasmus from moving outside of areas you want him to, create a func_nav_prefer brush that covers the entire area you want him to move around in, and name it 'boss_nav_prefer'.
    If you want Merasmus to also throw books out of the bombinomicon, you'll need two info_targets, one named boss_start and the other named boss_end. Make sure the angles on both are set to face each other, and merasmus will move around in an area between the two, spewing bombs out of the bombinomicon. (As a side note, i've never managed to get this working as it does in ghost fort, but you can get pretty close with enough tweaking, mess around with height and the distance between the two info_targets until you get something good.)

    Skeletons are super easy. Unlike the other bosses, all you'll need is a tf_zombie_spawner. The properties are mostly self-explanatory, just don't spawn too many at once.

    If you need any more information on bosses (including ghosts) i'd reccommend taking a look at this VDC page, it's full of useful information.

    General Gimmicks


    these two entities are very similar, so i'll be grouping them together here. One thing you'll need for both entities (and the only one you need for halloween_fortune_teller) are 32 info_targets. These are used to teleport players when the entity is triggered. If you're using halloween_fortune_teller, these can be named whatever you like. However for wheel_of_doom they need to be named dance_teleport_red(1-15) and dance_teleport_blue(1-15). wheel_of_doom also needs a func_brush in the sky named 'spawn_cloud' to enable jarate rain, and 'allowHaunting' enabled in the tf_logic_holiday to enable ghosts.

    These are super-super-simple. You can just place these entites around the map to your liking, you don't need anything else in order to make them work.

    I have no idea what this does, though it seems to seek out players to 'zap'.
    There's not much info on the VDC page, so i'd recommend you play around with it yourself.

    These two entities are very similar, but fulfil different uses.
    teleport_vortex lasts 5 seconds, and functions identically to the portals left behind by Monoculus (see above for info on that). However this entity has no particle, essentially just working as a spooky magnet.
    This lets you use any particle you want in its place.
    Meanwhile, hightower_teleport_vortex teleports players to an info_target named 'destinationname_loser' and allows you to customise its lifetime and even change its destination, with a bit of logic. The downside is that it uses the monoulus vortex particle by default, disallowing custom particles.
    You can set both of entites up in a similar manner to bosses, using the power of templates.
    Read this thread for more information on both these entities

    /Bumper-car Minigames

    I'm gonna be honest with you, these are a real pain to set up and it's probably better you don't do it at all; as doing it incorrectly results in the infamous 'double-shot bug' and can even crash servers/clients.
    If you really want to implement bumper-cars, here's a short explanation of the end-of-round bumper-car race in gravestone by ICS, so you can thank them for that.

    And that's that. In the end it's best to come up with your own gimmicks rather than re-using ones that already exist in other maps; but hopefully this can give you a start.
    If you're still curious about entities, take a look at the full list
    (If there's anything here that needs updating, just let me know and i'll do a quick edit.)
    • Like Like x 5
    Last edited: Aug 25, 2019