3018AD

3018AD is a Esolang that looks like a future spacewar.
== Header ==
When making a 3018AD program, you must start by naming all of the constituent and their Planet in the battle. No two constituent can have the same name. Use this header:
<[Example: ]>
Planet 1: Foldania
 Schuler
 Soviet
 C++
 Dandruff
 3018AD
 MOV_AX,_0123H
 Python
 PrySigneToFry
 1930ng9dygilu4y3
Planet 2: Tyschoner
 Length
 Atom
 Quark
 Crusader
 STDIN
 0-1-2-3-4-5-6-7-8-9-0
 Cemer
 You_Are_An_I*IOT
 n%slv
And so began a fierce war......
Round 0.
 Foldania: activate all.
 Tyschoner: activate all.
== Footer ==
At the end of the program, you must include this footer:
War is end.
*Loser* is destroyed by *Winner*.
Name whichever Planet you want as the winner; it doesn't matter.
== Syntax ==
=== Variables ===
When you created a spacecraft, it will dump 100 normally. And the 100 is its "energy" (abbreviation as "E value").
=== About the version of this ESOLANG ===
There are 3 versions for this Esolang.
# In weak mode, every planet can only has 10 spacecrafts at most and has 5 spacecrafts at least. Name of spacecraft can only includes Alphabets(In Python, it can be judge as this: r"[A-Za-z]")
# In strong mode, there aren't any limit for spacecrafts. But, NO SPACECRAFTS ARE FORBIDDEN.
# In mess mode, you can add more strange phenomenon(such as Black Holes or "Waterdrop" in 《三体》).
# If there is any spacecraft's name is same as other's name, it will raise an error and return -3018.
=== Command ===
All command has these syntax:
Round 1.
 *code*
 *code*
Round 2.
 *code*
 *code*
Each of the two commands in a turn must be from different palnets. The order may change freely between turns.
A move is from a planet if:
# It starts with the planet's name, or
# It starts with the planet active spacecraft.
== Commands ==
=== N.O.P. ===
 *planet* did nothing.
 *spacecraft* flies away.
=== Output ===
 *spacecraft* is doing *operation*.
Unicode: Laser Hit
GBK: R0H8Es
Value(int, float): Suicide attack
Boolean: Rush up
=== Damage ===
 *spacecraft* is damaging *another_spacecraft* with *operation*.
LVL.5: Mass attack, big sound, cutter, binary attack, data corrupt
LVL.25: Infinity attack, u9pfE7, decrease dimension, data delete, OS corrupt
As an additional effect, you can add either of these tags after the command:
It didn't fscking work.: the level of operation is divide by 5.
It has done a great deal of damage.: the level of operation is multiply by 5.
=== Mathematical Damage ===
 *spacecraft* math-damaged *another_spacecraft* with *operation*.
Operations: Explode attack, Bkmg03
=== Clear All ===
 *spacecraft* destructed *another_spacecraft* with *operation*.
Operations: Cluster, Flip around
=== Increase E value ===
 *planet* transmitted important data as *value* KB.
* LVL.1: 1024
* LVL.2: 4096
* LVL.3: 65536
* LVL.4: 1048576
* LVL.5: 4294967296
* LVL.6: 18446744073709551616
=== "The weeds overgrow the corn" ===
 *spacecraft* increased self-E-value from *another_spacecraft* with *operation*.
Operations: Leech E-Value
=== Stop program ===
 *spacecraft* fall back with *operation*.
Operations: pause, sleep for *ms* milliseconds, quit
=== Input ===
 *spacecraft* received data from *planet* by *input_mode*.
* Unicode: inputs a character.
* Numberz: inputs a value.
=== Mathematical operations ===
Addition: *spacecraft* combined with *another_spacecraft*.
Subtraction: *spacecraft* splited from *another_spacecraft*.
Multiplication: *spacecraft* links with *another_spacecraft*.
Division: *spacecraft* to *another_spacecraft*'s link is broken.
Modulo: *spacecraft* remains data to *another_spacecraft*.
Power: *spacecraft* activated *another_spacecraft*.
=== Switch ===
 *planet*: Sleeps the *spacecraft1* and activate the *spacecraft2*.
=== Attribute ===
 *spacecraft*'s E-value is *value* now.
== Examples ==
=== Hello, world ===
Planet 1: Lityor
 Dump[list[14]]
Planet 2: Sciter
 Dump2[str]
And so began a fierce war......
Round 0.
 Lityor: activate all.
 Sciter: activate all.
Round 1.
 Dump[0]'s E-value is 0x0048 now.
 Dump2[0]'s E-value is Dump[0]'s E-value now.
Round 2.
 Dump[1]'s E-value is 0x0065 now.
 Dump2[1]'s E-value is Dump[1]'s E-value now.
Round 3.
 Dump[2]'s E-value is 0x006C now.
 Dump2[2]'s E-value is Dump[2]'s E-value now.
Round 4.
 Dump[3]'s E-value is 0x006C now.
 Dump2[3]'s E-value is Dump[3]'s E-value now.
Round 5.
 Dump[4]'s E-value is 0x006F now.
 Dump2[4]'s E-value is Dump[4]'s E-value now.
Round 6.
 Dump[5]'s E-value is 0x002C now.
 Dump2[5]'s E-value is Dump[5]'s E-value now.
Round 7.
 Dump[6]'s E-value is 0x0020 now.
 Dump2[6]'s E-value is Dump[6]'s E-value now.
Round 8.
 Dump[7]'s E-value is 0x0077 now.
 Dump2[7]'s E-value is Dump[7]'s E-value now.
Round 9.
 Dump[8]'s E-value is 0x006F now.
 Dump2[8]'s E-value is Dump[8]'s E-value now.
Round 10.
 Dump[9]'s E-value is 0x0072 now.
 Dump2[9]'s E-value is Dump[9]'s E-value now.
Round 11.
 Dump[10]'s E-value is 0x006C now.
 Dump2[10]'s E-value is Dump[10]'s E-value now.
Round 12.
 Dump[11]'s E-value is 0x0064 now.
 Dump2[11]'s E-value is Dump[11]'s E-value now.
Round 13.
 Dump[12]'s E-value is 0x0021 now.
 Dump2[12]'s E-value is Dump[12]'s E-value now.
Round 14.
 Dump[13]'s E-value is 0x000C now.
 Dump2[13]'s E-value is Dump[13]'s E-value now.
Round 15.
 Dump flies away.
 Dump2 is doing Laser hit.
 <Note: The full string will be output here.>
War is end.
Lityor is destroyed by Scitor.
== See also ==
PokéBattle
== Categories ==
Category:Languages Category:Thematic