Moth Cult
Moth Cult is a faction that appeared in 2024/late 2023. Its leader is a user going by Moth Cult Leader(also known as MCL, M or their username /~Ter8).
As a loose faction, the Moth Cult features a Discord server which contains 85 members(as of September 1st, 2024), though Moth Cult Leader is the only one who has a notable presence within YWOT.
MCL's first notable action was making a simple script that spammed "MOTHS," and later "BECOME A MOTH! MOTHS ARE GODS!OBEY THE MOTHS!" all over the Spawn region.
They later gained attention for copying the actions of another user named The Janitor, first by creating a script-maintained box at the center of Spawn and soon after by deploying their own roombas. Similar to The Janitor, MCL's presence was met with strong pushback from some of YWOT's more unruly users(Ex. this wiki page has been repeatedly vandalized.)
MCL would later introduce a number of unique scripted creations, including some which connected Spawn to Our World of Text, a sister site where they are also active.
-
The Moth Cult's Roomba(First seen February 21st, 2024)
Moth Roomba[edit | edit source]
The creation most commonly associated with Moth Cult Leader.
The Moth Roomba first appeared on February 21st, 2024, after which it became a regular presence at spawn.
MCL's roomba acted in a way similar to the Janitor's roomba except it moved randomly instead of traveling towards text.
The code for MCL's roomba was made public on March 4th, 2024.
import time import websocket import requests import json import random #╔═╗║╚╝ r_asci = r""" ╔════════════╗ ║ROOMBA V3 by║ ║moth cult(M)║ ║JOIN DISCORD║ ║vBC7vHqcnn ║ ╚════════════╝ """ roomba_x = 32 roomba_y = 32 def coord_in_spawn(x,y): if x<=16 and x>-33: if y<=8 and y>-19:# theres a off-by one error in the negative x and y, but it doesnt matter since i used > and not >= print('STOPPED BAD PATH!') return True def path_intersects_spawn(x,y,target_x,target_y): ints = False while x != target_x or y != target_y: if coord_in_spawn(x,y): ints=True return True if x > target_x: x -= 1 if x < target_x: x += 1 if y > target_y: y -= 1 if y < target_y: y += 1 if coord_in_spawn(x,y): ints=True return True return ints def get_dest(): work = False while not work: target_x = random.randint(-128,128) target_y = random.randint(-64,64) print(target_x,target_y) if not path_intersects_spawn(roomba_x,roomba_y,target_x,target_y): work=True return target_x,target_y target_x,target_y = get_dest() home = False while True: try: response = requests.post("https://www.yourworldoftext.com/").cookies.items()[0][1] print(response) headers = { "Cookie": f"csrftoken={response}" } max_ed_len = 16*8 url = "wss://www.yourworldoftext.com/ws/" rid = 0 l_id = 0 def build_edit(tx,ty,lx,ly,char): global l_id l_id += 1 edit = [] edit.append(tx) edit.append(ty) edit.append(ly) edit.append(lx) edit.append("CURRENT_TIME") edit.append(char) edit.append(l_id) return edit def build_json(edits): global rid rid += 1 rjsn = {"kind":"write","request_id":rid,"edits":edits} return json.dumps(rjsn).replace("CURRENT_TIME",str(round(time.time()*1000))) edits = [] xtemp = 0 ws = websocket.create_connection(url,headers=headers) datar = ws.recv() print(datar) ws.send("""{"kind":"fetch","request_id":1,"fetchRectangles":[{"minX":-13,"minY":-3,"maxX":12,"maxY":-3},{"minX":-13,"minY":-2,"maxX":12,"maxY":-2},{"minX":-13,"minY":-1,"maxX":12,"maxY":-1},{"minX":-13,"minY":0,"maxX":12,"maxY":0},{"minX":-13,"minY":1,"maxX":12,"maxY":1},{"minX":-13,"minY":2,"maxX":12,"maxY":2}]}""") rid += 1 datar = ws.recv() print(datar) ws.send("""{"kind":"position","request_id":2,"position":{"x":0,"y":0}}""") rid += 1 gw = 16 gh = 8 def convert_to_grid(x,y): tilesx = x//gw tilesy = y//gh letterx = x%gw lettery = y%gh return tilesy, tilesx, letterx, lettery def place_tile(line,x,y): edits = [] for letter in line: if letter != "X": tx,ty,lx,ly = convert_to_grid(x,y) edits.append(build_edit(tx,ty,lx,ly,letter)) x += 1 return edits offset = -20 mult = r_asci while True: if rid > 250 and not home: print(1/0) if roomba_x == target_x and roomba_y == target_y: if home: print(1/0) target_x,target_y = get_dest() if roomba_x > target_x: roomba_x -= 1 if roomba_x < target_x: roomba_x += 1 if roomba_y > target_y: roomba_y -= 1 if roomba_y < target_y: roomba_y += 1 print(roomba_x,roomba_y,target_x,target_y) big_edits = [] gad = 0 for stra in mult.split("\n"): edits = place_tile(stra,roomba_x,roomba_y+gad) big_edits.extend(edits) gad += 1 n = 8*16 to_send = [big_edits[i:i+n] for i in range(0, len(big_edits), n)] for s in to_send: time.sleep(0.6) data = build_json(s) ws.send(data) time.sleep(0.6) datar = ws.recv() rid += 1 except KeyboardInterrupt: if home: print(1/0) home = input("Home? (Y/N): ").lower()[0] if home == "y": target_x = 32 target_y = 32 home = True else: print(1/0) except ZeroDivisionError: if home: print(1/0) pass except: pass
Toy Car[edit | edit source]
Created by Moth Cult Leader on March 13th 2024.
The Toy Car was a text object that operated in a manner similar to the roomba. The main difference was that it was intended to be steered by users, who could control which direction it goes in by typing "x"'s at designated locations within the car.
The car did not seem to function properly however as it would simply delete user inputs without moving.
YWOT Chatroom[edit | edit source]
Created by Moth Cult Leader on March 13th, 2024.
The YWOT Chatroom was a scripted text board which repaired itself automatically. Users could add messages to the chatroom by typing at the top of the board and entering an "x" at a designated location below.
OWOT-YWOT Bridges[edit | edit source]
Moth Cult Leader has been known to create two types of bridges that connected YWOT to its sister website Our World of Text. One type was a small portal within which edits are synced between the two websites. The other was a chatroom that YWOT users can use to interact with the OWOT Chat.
Catha'vi[edit | edit source]
On April 5th, 2024, Moth Cult Leader realized that their Discord server needed a deity to worship. To this end, they created the Moth God Catha'vi by photoshopping a deer's skull onto a moth's body.
MCL then created a detailed render of the moth deity with orange fur and four arms. This design has since been used in multiple animations and was the subject of many pieces of fan art by the Moth Cult Discord.
Moth Cult Leader shows great pride in their OC and frequently advertises it on the Our World of Text Discord server.
-
Initial Catha'vi Design by Moth Cult Leader(April 5th, 2024)
-
Catha'vi Render by Moth Cult Leader(April 20th, 2024)
-
WIP Render
-
Catha'vi Rig
-
Catha'vi Mesh
-
Doctrines of Catha'vi
-
Catha'vi Fanart by KVTKUN(April 30th, 2024)
-
Catha'vi Fan Art by Shadow Guy(September 2nd, 2024)
-
Catha'Vi in OWOT
-
ASCII Catha'vi by Moth Cult Leader
-
Catha'Vi Render by Moth Cult Leader(September 11th, 2024)
-
Moth News(October 5th, 2024)
-
Catha'vi Walk Cycle(October 13th, 2024)
-
Improved walk cycle based off of reference footage
Catha'vi Suit[edit | edit source]
In July 2024, MCL revealed that they have been working on an IRL costume of Catha'vi.
As of October progress has only been made on the moth god's skull, which was modeled on Blender and printed out piece by piece using a local 3D printer.
The rest of Catha'vi's body will be made entirely from brown fabric, though MCL once humored the idea of a functioning mechanical tail.
-
WIP of a real-life Catha'Vi costume(July 19th, 2024)
-
Updated Catha'Vi Mask(September 16th, 2024)
-
Full model of Catha'vi's deer skull. Parts that have already been printed are highlighted in orange(September 20th, 2024).
-
Catha'vi skull with longer horns(October 9th, 2024)
Catha'vi Game[edit | edit source]
As of October 12th, 2024, Moth Cult Leader has been working on a game named Super Catha'vi World.