Eta Map Kit

The **Eta Map Kit** is a map that allows players to make there own Eta - Redux map.

## Basics

The map comes with the following, (Buttons), (Air Tanks}, (Liquids), (Exit Zones), {EventScript), (LocalEventScript), (Settings), (Spawn), (Intro), (Interactives), (Walljump), (Ladders), (Skydive), (Speed Pad), (Jump Pad), (Coins), & (Zipline).

## Design

The Eta Map Kit has a very plain design with brick walls, 1 room, and a lot of the stuff is packed together.

## Requirements

All of these objects (included in the map kit) must exist in your map model as a direct child (not in another model in the map model), otherwise your map will be untestable.

* `EventScript` (script) [or EventString (stringvalue)]
* `Spawn` (part)
* `ExitBlock` (part)
* `ExitRegion` (part)
* `Settings` (Folder) and every value inside it.
* `Buttons (Model) and every part inside it.`
* `_Water# (part)`

`The Interactives` folder simply serves for organization and all objects in them aren't required to be in their folders.

## Map Elements

**Spawn**

Spawn is where all the players start in a map. It can be modified but it must stay at the same size. If you add 30 studs or more above the Spawn and included in an `Intro` model, the map will have an elevator animation when starting the map.

**Buttons**

Buttons are items, when pressed, can affect other items. Items can be affected based on the tags it has. For example, if a tag named `_Fade3` is inside an item, that item will disappear when button 3 is pressed. There are also other tags as well.

**Liquids**

The `_Water` part is the Liquid of the map. Liquids can be controlled by EventScript/EventString. To add more liquid to you map, name the part '\_Water#', with # being any number for distinction.

Liquids have 6 states, Water, Acid, Scaryfog, Poison, Magma, & Lava.

* Water slowly decreases a players air.
* Acid decreases a players air, but faster.
* Scaryfog decreases a players air, but slightly faster then Acid.
* Poison decreases a players air, but slightly faster then Acid & Scaryfog.
* Magma decreases a players air Rapidly, but not instant.
* Lava instantaneously drown a player when their head touches the liquid.

**Air Tanks**

The `AirTank` model represents an Air Tank, which will increase the player's Air by 300. Editing anything inside the `AirTank` model will break its functionality, but multiple `AirTank` models can exist in the map.

The MegaAirTank model follows the same procedure as a regular AirTank, but gives the player 600 extra Air. It can also combine with both Oxygen, and the regular AirTank model, making the player have over 1,000 Air.

**ExitRegion & ExitBlock**

The `ExitRegion` and `ExitBlock` are the End Points of a map. `ExitRegion` is the zone players need to enter to be considered as survived. `ExitBlock` becomes collidable to players who survived to map.

**Wall Jump**

Parts can be used for Wall Jumping if the ObjectValue `_Wall` exists in the part. The beams existing in the pre-existing wall jump in the kit are recommended to represent wall jumping sections.

**Slide Beam**

The Slide Beam was deprecated on August 24, 2021.
The `SlideBeam` only exists to visually direct players to slide under it. They are not required but is recommended to use. The `SlideBeam` in the map kit is 2 studs above the ground and has a beam visual to represent a sliding area.

**Zipline**

Ziplines are represented with the `_CRope` model, with `Point1`, & `Point2` as the child parts. The Zipline in the map kit is generated using the Cubic Bézier curve, with `Point1` being the start of the zipline, `Point2` being the end point. These Point parts must remain static otherwise their fuctionality will break, and you are able to add more points as long ad you rename the last point to the correct number. Ziplines also require a EventScript/EventString code to function properly.

**Skydive**

The \_Skydive model has 2 assets inside of it, SkydiveEnter, and SkydiveExit. While SkydiveExit has nothing inside of it, SkydiveEnter has 2 values, \_AngularAllowed (object value), and \_Velocity (number value). \_AngularAllowed controls the angle of the player while they are skydiving, while \_Velocity makes the player faster/slower while they are skydiving.

**Coins**

Coins are a small mechanic that are best added only in Simple, Medium, & Vigorous Maps, however they do work in Intense, Lunatic, Halloween, Christmas, & Lunatic+ difficulty maps as well, in Eta-RMT, the coins have no purpose as the Aura Store was removed in favor of just testing maps. However the stats still display on the Leaderboard, so the coin base dosnt break.

**Pads**

The Jump/Speed Pads are currently not in the main Eta game.
The Speed Pad allow's the player to change the speed of anyone who touches the Speed Pad, the way to set it's speed is by looking into the part and changing the value, however if you are making a different part, the way to set it up is to use a int value, change the value's name to Speed, and display any number that is greater then 21.

The Jump Pad allow's the player to change the jumping hight of anyone who touches the Jump Pad, the way to set it's hight is by looking into the part and changing the value, however if you are making a different part for this one aswell, then use another int value, change the name to Hight, and display any number that is greater then 50.

**Ladders**

Ladders arn't really a feature to Eta - Redux, but they are still important, to make one you need to spawn in a truss part, or arrange parts in a form of a ladder, then you have a ladder, though making a ladder with no trusses might cause the player to not ladder jump on the ladder, or get flung slightly off from the collisions of the part arrangement.

## Scripts

**EventScript**

The EventScript is the script inside a Flood Escape 2 map that manipulates the water. This was disabled on October 15 as EventString replaced EventScript due to Anti Exploit update.

**LocalEventScript**

The script that manipulates the camera. Such as shaking effect, 2D effect, light changer etc. The script is Parenting on the Client (Player), meaning that on other peoples screens the timing might be different.

**EventString**

EventString is the same thing as EventScript but as a StringValue.

## Trivia

* The Zipline, Skydive Model, & Speed/Jump Pads are so far the only features to require EventScript/EventString to function.

 Eta Series
 Halloween

 Extra Maps