Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --term.redirect(peripheral.wrap('right'))
- -- bee you, citrons.
- local adjs = {
- "beeoidal","apiaristic","critical","automatic",
- "nuclear","evil","safety","unsafety","grammatical",
- "good","bad","rotational","rotating","autogravitational",
- "systemic","invisibile","invisibility","apiary",
- "apiaristic","fake","real","decoy","communistic",
- "capitalistic","monetary","altruistic",
- "inevitable","insatiable","disagreeable",
- "mind controlling","destruction","diagnostic",
- "impossible","anomalous","levitating",
- "transparent","unknowable","antimemetic",
- "propaganda","memetic","hazardous","status",
- "cognitohazardous","cryogenic","meta",
- "sentient", "invertible", "isomorphic", "pyroclastic",
- "differential", "nonlinear", "optical", "javascriptoidal",
- "intelligent", "unfathomable", "indefatigable",
- "mind controlled", "commutative", "triangular",
- "nanoscale", "web-controlled", "solar", "relativistic",
- "construction", "deconstruction", "set-theoretic",
- "legal", "characteristic", "probabilistic", "convolutional",
- "photonic", "optronic", "silicon", "emulated",
- "metallic", "microwave", "microelectromechanical",
- "geomagnetic", "magnetic", "apionic", "projectional",
- "combinatoric", "reversible", "ominous", "hexagonal",
- "lunar", "spatial", "whole", "half",
- "impartial", "immovable", "unstoppable",
- "subsonic", "supersonic", "blue (insentient)",
- "blue (sentient)", "colourless blue",
- "colourless red", "colorless yellow",
- "furious", "ultrasonic", "sleeping",
- "concurrent", "memory-safe", "self-aware",
- "inflammable", "flammable", "stellar",
- "integrated", "gollarious", "heretic",
- "dangerous", "nonmetallic", "monadic",
- "comonadic", "malleable", "javascript",
- "javascriptoidal", "carcinogenic",
- "crabulous", "crab deployment", "galactic",
- "procedual", "derivation", "destabilized"
- }
- local nouns = {
- "systems","apioids","bees","apioforms",
- "circles","polygons","fluids","dynamics",
- "servers","apiaries","lemons","lemonsystems",
- "apiosystems","dodecahedra","ideologies",
- "political systems","blockchains","algorithms",
- "cuboids","timelike curves","devices",
- "computers","clusters","nodes",
- "clients","proxies","uplinks",
- "satelites","orbital satelites","lasers",
- "metaspheres","generators","status reports",
- "tables","websites","content","videos",
- "displays","interfaces","reactors","software",
- "spyware","malware","demons","auctions",
- "currency","drones","cognitohazards",
- "apiohazards","cryoapioforms",
- "vectors", "matrices", "stations", "monoids",
- "daemons", "memetics", "signposts", "doors",
- "hexahedra", "planets", "spheres", "monitors",
- "projectiles", "neutrinos", "muons", "ellipsoids",
- "arrays", "tensors", "neural networks", "bismuth",
- "containment", "hives", "polynomials", "monopoles",
- "ideas", "memeplexes", "realities"
- }
- local opinions = {
- "I hate X","I enjoy X","I sometimes experience X",
- "The company really needs more X",
- "We should use less X",
- "For environmental purposes, we should\nuse X",
- "X: good for the economy",
- "X: bad for the economy",
- "I think poorly of X",
- "We need a better solution for X",
- "The X have been malfunctioning recently",
- "We could profit from X",
- "We would lose profit from X",
- "X have had great uptime",
- "X have had terrible uptime",
- "I think X bad",
- "I think X good",
- "X have been problematic; I blame X",
- "X are present in the majority of our facilities",
- "X have not been confirmed to exist",
- "X are a core part of our quarterly strategy",
- "Sometimes X can be found scattered around our facilities",
- "Wait, we have X? Doubtful",
- "There are no X",
- "X have demonstrated antimemetic properties",
- "Maybe X are to be considered harmful",
- "We're looking into integrating X into our X",
- "We should deploy more X",
- "X are an unnecessary burden",
- "Maintanence of X is difficult",
- "We should really automate X",
- "We need to hire X consultants"
- }
- local printer = peripheral.find "printer"
- function rstring(n)
- local res = ""
- for i=1,n do
- res=res..string.char(math.random(33,255))
- end
- return res
- end
- local preferred = rstring(math.random(7,15))
- function slow(x,nnl)
- for i=1,#x do
- local c = x:sub(i,i)
- if c=="\n" then
- print("")
- else
- write(c)
- end
- if math.random(0,1)==1 then sleep(0.05) end
- end
- if not nnl then print("") end
- end
- function shouldbreak(text)
- local x = term.getCursorPos()
- local w = term.getSize()
- if x+#text>w then
- return true
- end
- return false
- end
- function cprint(t,p,nnl,pp)
- p = p or 0
- pp = pp or 0
- local x,y = term.getCursorPos()
- local w,h = term.getSize()
- term.setCursorPos(w/2-(#t+p)/2,y)
- slow(t,nnl)
- end
- function header(x)
- cprint(("-"):rep(term.getSize()))
- cprint(x)
- cprint(("-"):rep(term.getSize()))
- end
- function r(t)
- return t[math.random(1,#t)]
- end
- function pair()
- return r(adjs).." "..r(nouns)
- end
- function printStatus()
- local gpair = pair()..": "
- local status = math.random(0,3)==0 and "OFFLINE" or "ONLINE"
- cprint(gpair,#status,true)
- sleep(math.random(1,10)/20)
- if status=="OFFLINE" then
- term.setTextColor(colors.red)
- else
- term.setTextColor(colors.lime)
- end
- cprint(status,-#gpair)
- term.setTextColor(colors.white)
- end
- function statusreport()
- header("STATUS REPORT")
- for i=1,10 do printStatus() end
- end
- function giveopinion(isslow)
- local opinion = r(opinions):gsub("X",pair)..". "
- if shouldbreak(opinion) then print("") end
- if isslow then slow(opinion,true) else print(opinion) end
- end
- function giveopinions(slow)
- header("GENERAL REPORT")
- for i=1,15 do giveopinion(slow) end
- end
- local function printonce()
- printer.isColour = function() return false end
- printer.getSize = printer.getPageSize
- printer.scroll = function() end
- printer.newPage()
- local ts = os.date "%Y-%m-%d %H:%M"
- printer.setPageTitle("General Report: " .. ts)
- local orig = term.redirect(printer)
- local w,h = term.getSize()
- header "GENERAL REPORT"
- while ({term.getCursorPos()})[2] < h do
- giveopinion(false)
- end
- term.redirect(orig)
- printer.endPage()
- printer.drop(8, 64, "north")
- sleep(1)
- end
- while true do
- printonce(); printonce(); printonce(); printonce(); printonce()
- giveopinions(true)
- print("")
- printonce(); printonce(); printonce(); printonce(); printonce()
- statusreport(true)
- print("")
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement