Lilly was always known for her playful and spontaneous nature, but her origins are shrouded in a mist of doubt and mystery. Nobody knows where she came from and what she really wants. Her in-depth knowledge of the Alpha Codex and computer-like intelligence are undeniable. Before her meeting with Luka Loginska, her past is completely unknown, but ever since, she has played a significant role in the events of Project ALIVE by covert operations, usually by hacking large systems. Her ability to hack also breaks into the real world, as she is able to perform strange feats such as spawning objects, deleting inanimate objects, and altering the world around her through the use of the 'consolephone'.
General playstyle Edit
Lilly has an unusual mix between a tower defense kind of playstyle, and coding. Most of the time spent as Lilly is preparing code to be able to use during a wave. Because of this, the 1 minute wave downtime is extremely important to Lilly as this can be used to create scripts that can be used for the next wave.
Lilly's style is extremely strategic, and has a very steep learning curve. While she starts out with three scripts that are useful enough to survive, tinkering around with them and adding different behaviours makes for very powerful combinations that lead to the tower-defense kind of playstyle.
Being able to type quickly is as useful as knowing all the usable functions. And watch out for those blasted semicolons.
Unique abilities Edit
(E) Quicksave - Lilly causes a save point to be created. Lilly cannot quicksave if any players are KO'd.
(Hold E) Quickload - Lilly loads a previous save. Any players that have been KO'd will come back. This takes a variable amount of time to cooldown, depending on how much time that had passed since the last quicksave plus a minute.
Weapons/Tools/Attack modes Edit
Consolephone: This is Lilly's only weapon. She starts out with three scripts: the first fires a laser projectile that deals damage, the second heals a target, and the third creates a zone that slows down enemies. The player can modify these scripts to give them different behaviours; such as changing the laser projectile to a chair. The main limitation is Processing Power - scripts that are stored in the phone and scripts that are currently active will contribute to Processing Power. Excessive usage of scripts will deplete the processing power, until a delay is introduced. For example, firing projectiles becomes increasingly slower, and traps become less effective.
(LMB) Execute the currently loaded script.
(1/2/3/4/5/6/7/8/9/0) Load a hotkeyed script
(RMB) Open the Command Line Interface. Lilly goes into "typing mode", where instead of moving by WASD, she will walk towards where the mouse is aiming while the right mouse button is held. All the player's key inputs become words in the command line interface, and the player programs simple scripts using QUIKOS. This can have an extremely flexible amount of uses, such as being able to scan a goon's flamethrower to assign it to a WEAPON variable in a script, and then execute the script to start launching fire from the consolephone. Pressing ESC will close QUIKOS and cause her controls to revert to being WASD.
(ALTFIRE) Scan an object. For example, when entering a PROJECTILE in a script that fires a projectile in a straight line, Lilly can scan a world object to automatically set her script to fire that object.
QuickOS is the operating system of the consolephone, and in the game takes the form of a simple command line interface. This works using the game's actual command line interface (that needs to be done anyway to be able to test out certain things such as skipping to a wave, or triggering godmode), but the game-ified version does not allow access to some cheat functions such as godmode or deleting all goons.
Here is a list of in-game 'cheat' functions that can be used with the consolephone's QuikOS:
|ls||ls||Prints a summary of each script and what it does|
|edit <hotKeySlot>||edit 1||Open the editor for a script in a slot|
|del <hotKeySlot>||del 2||Delete a script to save on ProcessingPower|
|clearall <hotKeySlot>||clearall 4||Clears all effects relating to a script. For example, if script 4 is a trap that fires a projectile every 2 seconds, calling 'clearall 4' will clear all traps that were created by script 4. This frees up Processing Power.
Passing the wildcard * argument will clear all effects across all scripts, essentially resetting processing power to its maximum.
The editor Edit
The editor is a text file that allows the input of very concise code. This is an example script that creates a flamethrower in the position selected by the user, and sets the flamethrower to fire every 3 seconds.
A possible modification to the script above is to use .SetFireMode(FIREMODE_AIMBOT, 3), which causes the flamethrower to aim at nearby goons, instead of just firing in the direction it was placed. This has the caveat of using more processing power.
Create(ProjectileEmitter.GoonFlamethrower, PLACEMENT_MANUAL).SetFireMode(FIREMODE_TIMED, 3);
While typing, a list of choices is shown as a dropdown as a suggestion, so it is not necessary to remember the exact spelling of certain constants.
List of functions Edit
- Create(object InanimateObject, destinationType string, createCount int):
- This is the same destinationType used by the Move function.
- Each object in the game can be scanned and automatically inputted using the consolephone's Alternate Fire, and each have a Processing Power cost depending on how useful they are. These do not necessarily need to be scanned - remembering the name of the object will allow you to type it in without having to scan it.
- Living objects cannot be created; such as heroes, bosses and goons.
- The total PP is multiplied by the createCount.
- For as long as the object is created, the consolephone will have that amount of processing power taken up. For example, if two +25 health packs are created, then the consolephone will be using up 50 processing power until the health packs are removed or used.
The following are a few creative uses of the Create function.
|Function||Processing Power||Effect||Strategic use|
|Create(Object.Health25, ANYWHERE, 2)||25 * 2
|Creates two health pickups anywhere on the map that restore 25 health.||Useful to create a backup reserve of emergency health - however, this uses a hefty amount of processing power.|
|Create(TarPuddle, MANUAL, 1)||(10+5) * 1
|Creates a tar puddle in a selected location.||This can slow down goons, especially useful against goons that have to get into melee range to deal any damage to heroes.|
- Move(moveMode string, targetType string, moveType string, destinationType string, targetCount int): This causes objects to move.
- (1 PP) MODE_THROW: Throw the target. Objects can be used to damage goons this way.
- (5 PP) MODE_TELEPORT: Teleports the target
- targetType and destinationType:
- (0 PP) ANYWHERE: Targets literally any location on the map.
- (1 PP) OBJECT: Targets any random inanimate object.
- (1 PP) ME: Targets the position Lilly is at
- (1 PP) NEAR_ME: Targets any position nearby Lilly
- (1 PP) GOON: Targets any visible goon.
- (1 PP) TEAMMATE: Targets any teammate.
- (2 PP) TEAMMATE_LOWEST_HP: Targets the teammate with lowest HP.
- (2 PP) GOON_CLOSE: Targets the goon closest to Lilly.
- (3 PP) GOON_CLOSE_TEAMMATE: Targets the goon closest to the team as a whole.
- (3 PP) OBJECT_EXPLOSIVE: Targets an explosive object.
- (3 PP) OBJECT_HEALING: Targets health pickups.
- (4 PP) GOON_CLOSE_TEAMMATE_LOWEST_HP: Targets the goon closest to the teammate with lowest HP.
- (4 PP) GOON_LOWEST_CONCENTRATION: Targets a goon who is in a location where there is the lowest concentration of goons. Usually, these will be sniper goons.
- (4 PP) GOON_HIGHEST_CONCENTRATION: Targets a goon who is in a location where there is the highest concentration of goons.
- (5 PP) MANUAL: Targets any objects or a location selected by the mouse cursor.
- (0 PP) TOWARDS: The target will be moved to the destination.
- (0 PP) AWAY: The target will be moved away from the destination.
- (The total PP is multiplied by the targetCount)
Here are a few creative uses of this function:
|Function||Processing Power||Effect||Strategic use|
|Move(MODE_THROW, OBJECT, TOWARDS, GOON_CLOSE_TEAMMATE_LOWEST_HP, 5)||(1+0+4)*5 = 25||Hurls 5 random objects at a goon who is closest to a teammate with lowest HP.||This can be very useful to stun goons that are harassing teammates at low health, to give the hero a chance to retreat and heal.|
|MOVE(MODE_TELEPORT, TEAMMATE_LOWEST_HP, TOWARDS, ME, 1)||(5+2+1)*1 = 8||Teleports the most wounded teammate to Lilly||This is also a good emergency strategy.|
|MOVE(MODE_THROW, OBJECT_EXPLOSIVE, TOWARDS, GOON_HIGHEST_CONCENTRATION, 3)||(1+3+4)*3 = 24||Throws 3 random explosive objects at the location where there is the highest concentration of goons||Can be quite deadly.|
|MOVE(MODE_TELEPORT, SELECTED, TOWARDS, SELECTED, 1)||(5+5+5)*1 = 15||Select any object and teleport them to any location visible to Lilly||The most flexible move function, with the caveat that it is manual and costs more than a specialized set of parameters.|
|MOVE(MODE_THROW, GOON_CLOSE, AWAY, ME, 10)||(1+2+1)*10 = 40||Sends 10 goons flying away from Lilly||Good countermeasure against being surrounded, or keeping goons under fire to placed traps.|
|MOVE(MODE_TELEPORT, OBJECT_HEALING, TOWARDS, TEAMMATE_LOWEST_HP, 1)||(5+3+2)*1 = 10||Instantly move any visible health pickup to the most injured teammate||Excellent when paired up with a placed object that occasionally creates health pickups.|