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.
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.