mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-03 14:37:05 +03:00
Updated chat. Also added +-tur to ++by.
This commit is contained in:
parent
8a15ab7685
commit
79b4512479
100
arvo/hoon.hoon
100
arvo/hoon.hoon
@ -1163,15 +1163,15 @@
|
||||
::
|
||||
++ rlyd |= red=@rd ^- [s=? h=@ f=@] !:
|
||||
~& [%rlyd `@ux`red]
|
||||
[s=(sig:rd red) h=(hol:rd red) f=0]
|
||||
[s=(sig:rd red) h=(exp:rd red) f=(fac:rd red)]
|
||||
++ rlyh |=(reh=@rh ~|(%real-nyet ^-([s=? h=@ f=@] !!)))
|
||||
++ rlyq |=(req=@rq ~|(%real-nyet ^-([s=? h=@ f=@] !!)))
|
||||
++ rlys |=(res=@rs ~|(%real-nyet ^-([s=? h=@ f=@] !!)))
|
||||
++ ryld |= v=[syn=? hol=@ zer=@ fac=@] ^- @rd !:
|
||||
(bit:rd (cof:fl 52 1.023 v))
|
||||
++ rylh |=([syn=? hol=@ zer=@ fac=@] ~|(%real-nyet ^-(@rh !!)))
|
||||
++ rylq |=([syn=? hol=@ zer=@ fac=@] ~|(%real-nyet ^-(@rq !!)))
|
||||
++ ryls |=([syn=? hol=@ zer=@ fac=@] ~|(%real-nyet ^-(@rs !!)))
|
||||
++ ryld |= v=[syn=? hol=@ fac=@] ^- @rd !:
|
||||
(bit:rd (cof:fl 52 v))
|
||||
++ rylh |=([syn=? hol=@ fac=@] ~|(%real-nyet ^-(@rh !!)))
|
||||
++ rylq |=([syn=? hol=@ fac=@] ~|(%real-nyet ^-(@rq !!)))
|
||||
++ ryls |=([syn=? hol=@ fac=@] ~|(%real-nyet ^-(@rs !!)))
|
||||
|
||||
:: Floating point operations for general floating points.
|
||||
:: Not really needed, since the actual floating point operations
|
||||
@ -1201,18 +1201,12 @@
|
||||
$(c (^mul c a), b (^add b 1))
|
||||
|
||||
:: convert from sign/whole/frac -> sign/exp/ari w/ precision p, bias b
|
||||
++ cof |= [p=@u b=@u s=? h=@u z=@ f=@u] ^- [s=? e=@s a=@u]
|
||||
?: &(=(0 h) =(0 f))
|
||||
[s=s e=`@s`(dec (^mul 2 b)) a=(ari p 0)]
|
||||
?: &(=(0 h))
|
||||
=+ a=(fra (^add p b) z f) ::p+b bits
|
||||
=+ e=(dif:si (sun:si (met 0 a)) (sun:si +((^add p b))))
|
||||
[s=s e=e a=(lia p a)]
|
||||
=+ c=(fra p z f) :: p-bits
|
||||
=+ a=(mix c (lsh 0 p h))
|
||||
=+ e=(dif:si (sun:si (met 0 a)) (sun:si +(p)))
|
||||
[s=s e=e a=(lia p a)]
|
||||
|
||||
++ cof |= [p=@u s=? h=@u f=@u] ^- [s=? e=@s a=@u]
|
||||
=+ b=(fra p f)
|
||||
=+ e=(dif:si (sun:si (xeb h)) (sun:si 1))
|
||||
=+ a=(lia p (mix (lsh 0 p h) b))
|
||||
[s=s e=e a=a]
|
||||
|
||||
:: convert from sign/exp/ari -> sign/whole/frac w/ precision q
|
||||
++ cog |= [q=@u s=? e=@s a=@u] ^- [s=? h=@u f=@u]
|
||||
::?: =(e -0)
|
||||
@ -1223,31 +1217,25 @@
|
||||
::=+ (^mul ari (bex e))
|
||||
!!
|
||||
|
||||
:: Decimal length of number, for use in ++den
|
||||
++ dcl |= [f=@u] ^- @u
|
||||
?: =(f 0)
|
||||
0
|
||||
(^add 1 $(f (^div f 10)))
|
||||
|
||||
:: Denominator of fraction, f is base 10
|
||||
++ den |= [f=@u z=@u] ^- @u
|
||||
(bey 10 (^add z (dcl f)) 0 1)
|
||||
++ den |= f=@u ^- @u
|
||||
(bey 10 (dcl f) 0 1)
|
||||
|
||||
:: Binary fraction of precision p (ex, for doubles, p=52)
|
||||
++ fra |= [p=@u z=@u f=@u] ^- @u
|
||||
(^div (lsh 0 p f) (den f z))
|
||||
++ fra |= [p=@u f=@u] ^- @u
|
||||
=+ d=(den f)
|
||||
(^div (lsh 0 p f) d)
|
||||
|
||||
:: Decimal fraction of precision q [for printing only]
|
||||
++ fre |= [q=@u a=@u] ^- @u
|
||||
=+ d=(bex (^sub (met 0 a) 1))
|
||||
(^div (^mul a (bey 10 q 0 1)) d)
|
||||
|
||||
++ hol |= [p=@u n=[s=? e=@s a=@u]] ^- @u
|
||||
?: =((mod `@`e.n 2) 0)
|
||||
?: (^gte (abs:si e.n) p)
|
||||
(lsh 0 (^sub (abs:si e.n) p) a.n)
|
||||
(rsh 0 (^sub p (abs:si e.n)) a.n)
|
||||
0
|
||||
:: Decimal length of number, for use in ++den
|
||||
++ dcl |= [f=@u] ^- @u
|
||||
?: =(f 0)
|
||||
0
|
||||
(^add 1 $(f (^div f 10)))
|
||||
|
||||
:: reverse ari, ari -> mantissa
|
||||
++ ira |= a=@u ^- @u
|
||||
@ -1317,11 +1305,11 @@
|
||||
:: =+ a4=(rnd p (rsh 0 e2 a3))
|
||||
=+ a4=(rnd p (rsh 0 e2 a2))
|
||||
=+ s2=|(s.n s.m)
|
||||
[s=s2 e=:(sum:si e.n e.m (sun:si e2)) a=a4]
|
||||
[s=s2 e=:(sum:si e.n e.m e2) a=a4]
|
||||
|
||||
++ div |= [p=@u n=[s=? e=@s a=@u] m=[s=? e=@s a=@u]] ^- [s=? e=@ a=@]
|
||||
=+ b=(rnd p (^div (lsh 0 (^mul p 2) a.n) a.m))
|
||||
?: (^gte a.n a.m)
|
||||
?: (^gte e.n e.m)
|
||||
[s=|(s.n s.m) e=(dif:si e.n e.m) a=b]
|
||||
[s=|(s.n s.m) e=(dif:si (dif:si e.n e.m) (sun:si 1)) a=b]
|
||||
|
||||
@ -1354,8 +1342,8 @@
|
||||
++ bit |= a=[s=? e=@s a=@u]
|
||||
=+ a2=(lia:fl 52 a.a)
|
||||
=+ b=(ira:fl a2)
|
||||
::=+ c=(lsh 0 (^sub 52 (met 0 b)) b)
|
||||
(can 0 [[52 b] [[11 (abs:si (sum:si (sun:si 1.023) e.a))] [[1 `@`s.a] ~]]])
|
||||
=+ c=(lsh 0 (^sub 52 (dec (met 0 a2))) b)
|
||||
(can 0 [[52 c] [[11 (abs:si (sum:si (sun:si 1.023) e.a))] [[1 `@`s.a] ~]]])
|
||||
:: Sign of an @rd
|
||||
++ sig |= [a=@rd] ^- ?
|
||||
=(0 (rsh 0 63 a))
|
||||
@ -1364,19 +1352,12 @@
|
||||
(dif:si (sun:si (rsh 0 52 (end 0 63 a))) (sun:si 1.023))
|
||||
:: Fraction of an @rd (binary)
|
||||
++ fac |= [a=@rd] ^- @u
|
||||
(fre:fl 14 (ari:fl 52 (end 0 52 a)))
|
||||
:: Whole
|
||||
++ hol |= [a=@rd] ^- @u
|
||||
(hol:fl 52 (sea a))
|
||||
(end 0 52 a)
|
||||
:: Convert to sign/exp/ari form
|
||||
++ sea |= a=@rd ^- [s=? e=@s a=@u]
|
||||
[s=(sig a) e=(exp a) a=(ari:fl 52 (end 0 52 a))]
|
||||
[s=(sig a) e=(exp a) a=(ari:fl 52 (fac a))]
|
||||
|
||||
::::::::::::
|
||||
++ sun ~/ %sun
|
||||
|= a=@u ^- @rd
|
||||
(bit (cof:fl 52 1.023 %.y a 0 0))
|
||||
|
||||
++ add ~/ %add
|
||||
|= [a=@rd b=@rd] ^- @rd
|
||||
(bit (add:fl 52 (sea a) (sea b)))
|
||||
@ -1408,19 +1389,6 @@
|
||||
++ gth ~/ %gth
|
||||
|= [a=@rd b=@rd] ^- ?
|
||||
(gth:fl (sea a) (sea b))
|
||||
|
||||
++ max |= [a=@rd b=@rd] ^- @rd
|
||||
?: (gth a b)
|
||||
a
|
||||
b
|
||||
|
||||
++ min |= [a=@rd b=@rd] ^- @rd
|
||||
?: (lth a b)
|
||||
a
|
||||
b
|
||||
|
||||
++ bex |= a=@s ^- @rd
|
||||
(bit [s=%.y e=a a=(ari:fl 52 0)])
|
||||
--
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: section 2cH, urbit time ::
|
||||
@ -1852,6 +1820,12 @@
|
||||
b
|
||||
$(a r.a, b [n.a $(a l.a)])
|
||||
::
|
||||
+- tur :: turn
|
||||
|* b=$+([* *] *)
|
||||
|-
|
||||
?~ a ~
|
||||
[n=[p=p.n.a q=(b p.n.a q.n.a)] l=$(a l.a) r=$(a r.a)]
|
||||
::
|
||||
+- uni :: union, merge
|
||||
~/ %uni
|
||||
|= b=_a
|
||||
@ -3217,13 +3191,11 @@
|
||||
(stag ~ zust)
|
||||
(stag %many (ifix [cab ;~(plug cab cab)] (more cab nusk)))
|
||||
==
|
||||
++ royl !:
|
||||
=+ ^= zer
|
||||
(cook lent (star (just '0')))
|
||||
++ royl
|
||||
=+ ^= vox
|
||||
;~ plug
|
||||
;~(pose (cold | hep) (easy &))
|
||||
;~(plug dim:ag ;~(pose ;~(pfix dot ;~(plug zer dim:ag)) (easy [0 0])))
|
||||
;~(plug dim:ag ;~(pose ;~(pfix dot dim:ag) (easy 0)))
|
||||
==
|
||||
;~ pose
|
||||
(stag %rh (cook rylh ;~(pfix ;~(plug sig sig) vox)))
|
||||
|
@ -6,7 +6,16 @@
|
||||
=> +
|
||||
=> ^/===/lib/pony
|
||||
=> ^/===/lib/chat
|
||||
=+ flag=?(%all %rooms %monitor %never %leet %nub %time [%haus p=@p])
|
||||
=+ ^= flag
|
||||
$? %all
|
||||
%monitor
|
||||
%never
|
||||
%leet
|
||||
%nub
|
||||
%time
|
||||
[%haus p=@p]
|
||||
[%r p=room]
|
||||
==
|
||||
=+ flags=*(list flag)
|
||||
=> |%
|
||||
++ chk-flag |=(f=@tas (lien flags |=(flag =(f +<))))
|
||||
@ -17,16 +26,11 @@
|
||||
(cold [%out ~] zap)
|
||||
%+ stag %who %+ stag %tcc (teklist ^room tis cen room)
|
||||
(cold [%who %ttt ~] ;~(plug tis tis tis))
|
||||
(cold [%who %tts ~] ;~(plug tis tis))
|
||||
(cold [%who %tis ~] tis)
|
||||
%+ stag %lus (teklist ^room lus cen room)
|
||||
%+ stag %hep (teklist ^room hep cen room)
|
||||
%+ stag %kil (teklist ,@p hep sig fed:ag)
|
||||
%+ stag %res (teklist ,@p lus sig fed:ag)
|
||||
;~(pfix pam (stag %all (stag %$ (stag %& mess))))
|
||||
;~(pfix bar (stag %all (stag %$ (stag %| mess))))
|
||||
%+ stag %all
|
||||
;~(plug ;~(pfix cen room) (stag %& ;~(pfix ace mess)))
|
||||
(stag %say ;~(plug ;~(pfix sig fed:ag) ;~(pfix ace mess)))
|
||||
(stag %def mess)
|
||||
==
|
||||
@ -65,10 +69,18 @@
|
||||
=+ da=(yell sen)
|
||||
?- -.dum
|
||||
%do =+ msg=?:(=(0 p.dum) "remains quietly present" (trip p.dum))
|
||||
[%leaf "%{(trip roo)} {chr}{nym} {msg}"]
|
||||
:- %leaf
|
||||
%+ welp
|
||||
?. (chk-flag %time) ~
|
||||
(weld (timestamp sen) " ")
|
||||
"%{(trip roo)} {chr}{nym} {msg}"
|
||||
%ex :~ %rose
|
||||
[" " "" ""]
|
||||
[%leaf "%{(trip roo)} {chr}{nym} {(trip p.dum)}"]
|
||||
:- %leaf
|
||||
%+ welp
|
||||
?. (chk-flag %time) ~
|
||||
(weld (timestamp sen) " ")
|
||||
"%{(trip roo)} {chr}{nym} {(trip p.dum)}"
|
||||
q.dum
|
||||
==
|
||||
%qu
|
||||
@ -103,7 +115,7 @@
|
||||
wak=_@da :: next wakeup
|
||||
dun=| :: done
|
||||
kills=*(list ,@p)
|
||||
rooms=*(list ^room)
|
||||
roo=`^room`coci
|
||||
==
|
||||
[who=`@p`-< how=`path`->]
|
||||
==
|
||||
@ -112,19 +124,18 @@
|
||||
=. flags `(list flag)`args
|
||||
=+ sta=est :: move up to declaration of state
|
||||
=. wak est
|
||||
=. bud :: future maintainers: don't add more cell types with changing this
|
||||
?: (lien args |=(a=flag ?=(^ a)))
|
||||
(roll args |=([p=flag q=@p] ?:(?=(^ p) p.p q)))
|
||||
=. bud
|
||||
?: (lien args |=(a=flag &(?=(^ a) ?=(%haus -.a))))
|
||||
(roll args |=([p=flag q=@p] ?:(&(?=(^ p) ?=(%haus -.p)) p.p q)))
|
||||
bud
|
||||
=. roo
|
||||
?: (lien args |=(a=flag &(?=(^ a) ?=(%r -.a))))
|
||||
(roll args |=([p=flag q=^room] ?:(&(?=(^ p) ?=(%r -.p)) p.p q)))
|
||||
roo
|
||||
=. kills %- (list ,@p)
|
||||
%+ fall
|
||||
(read-wlist /[(scot %p who)]/conf/[(scot %da est)]/chat/killfile/wlist)
|
||||
~
|
||||
=. rooms %- (list ^room)
|
||||
%+ fall
|
||||
%- read-wlist
|
||||
/[(scot %p who)]/conf/[(scot %da est)]/chat/[(scot %p bud)]/wlist
|
||||
~[coci]
|
||||
|- ^- bowl
|
||||
=< abet:init
|
||||
|%
|
||||
@ -166,14 +177,12 @@
|
||||
%+ weld
|
||||
?. ?=(& -.sad)
|
||||
(scow %p p.sad)
|
||||
?~ rooms
|
||||
"deep space "
|
||||
:(weld "%" (trip i.rooms) ?:(p.sad " &" " |"))
|
||||
:(weld "%" (trip roo) ?:(p.sad " &" " |"))
|
||||
?:(wyt "... " " ")
|
||||
==
|
||||
--
|
||||
::
|
||||
++ init (joke:(joke ~ [%who ~]) ~ [%ego est]) :: initial actions
|
||||
++ init (joke:(joke ~ [%who roo ~]) ~ [%ego roo est])
|
||||
++ joke :: send message
|
||||
|= [hur=(unit ,@p) msg=*]
|
||||
^+ +>
|
||||
@ -223,11 +232,20 @@
|
||||
%= $
|
||||
duz t.duz
|
||||
+>
|
||||
=. giz
|
||||
?. ?& ?=(%all -.i.duz)
|
||||
=+ ^= r
|
||||
%+ rexp (scow %p who)
|
||||
(trip =>(t.i.duz ?@(+ p p)))
|
||||
&(!=(~ r) !=([~ ~] r) !=([~ ~ ~] r))
|
||||
==
|
||||
~
|
||||
[[%xy /d [%blit [%bel ~]~]] giz]
|
||||
%- shew
|
||||
^- (list tank)
|
||||
?- -.i.duz
|
||||
%all
|
||||
?: (dead p.s.i.duz)
|
||||
?: |((dead p.s.i.duz) !=(roo q.i.duz))
|
||||
~
|
||||
:_ ~
|
||||
%- rend
|
||||
@ -238,7 +256,8 @@
|
||||
t.i.duz
|
||||
==
|
||||
%who
|
||||
%+ ~(rep by q.i.duz) *(list tank)
|
||||
?. =(q.i.duz roo) ~
|
||||
%+ ~(rep by r.i.duz) *(list tank)
|
||||
|= [p=[r=^room u=(list user)] q=(list tank)]
|
||||
:* [%leaf "%{(trip r.p)}:"]
|
||||
:+ %rose [", " " " ""]
|
||||
@ -251,13 +270,12 @@
|
||||
==
|
||||
?(%new %out)
|
||||
?. ?& !(dead p.r.i.duz)
|
||||
?| (chk-flag %all)
|
||||
?& (lth sta p.i.duz)
|
||||
?| (chk-flag %rooms)
|
||||
?& =(coci q.i.duz)
|
||||
(chk-flag %monitor)
|
||||
== == ==
|
||||
== ==
|
||||
=(q.i.duz roo)
|
||||
?| (chk-flag %all)
|
||||
?& (lth sta p.i.duz)
|
||||
(chk-flag %monitor)
|
||||
== ==
|
||||
==
|
||||
~
|
||||
:_ ~ :- %leaf
|
||||
;: weld
|
||||
@ -303,47 +321,12 @@
|
||||
(foal /[(scot %p who)]/conf/[(scot %da est)]/chat/killfile/wlist encoded)
|
||||
==
|
||||
::
|
||||
++ add-room
|
||||
|= roo=(list ^room)
|
||||
=+ rs=(weld roo (skip rooms |=(a=^room (lien roo |=(b=^room =(a b))))))
|
||||
%+ %= joke
|
||||
sad [%& %&]
|
||||
rooms rs
|
||||
giz
|
||||
=+ encoded=(cat 3 (scot %uw (jam rs)) `@t`10) :: Base-64 encoding
|
||||
:_ giz
|
||||
:- %ok
|
||||
%+ foal
|
||||
/[(scot %p who)]/conf/[(scot %da est)]/chat/[(scot %p bud)]/wlist
|
||||
encoded
|
||||
==
|
||||
~
|
||||
`zing`[%lus roo]
|
||||
::
|
||||
++ remove-room
|
||||
|= roo=(list ^room)
|
||||
=+ rs=(skip rooms |=(a=^room (lien roo |=(b=^room =(a b)))))
|
||||
%+ %= joke
|
||||
sad [%& %&]
|
||||
rooms rs
|
||||
giz
|
||||
=+ j=(jam rs)
|
||||
=+ encoded=(cat 3 (scot %uw j) `@t`10) :: Base-64 encoding
|
||||
:_ giz
|
||||
:- %ok
|
||||
%+ foal
|
||||
/[(scot %p who)]/conf/[(scot %da est)]/chat/[(scot %p bud)]/wlist
|
||||
encoded
|
||||
==
|
||||
~
|
||||
`zing`[%hep roo]
|
||||
::
|
||||
++ shew |=(tax=(list tank) +>(giz [[%lo tax] giz])) :: print to screen
|
||||
++ show |=(tan=tank +>(giz [[%la tan] giz])) :: print to screen
|
||||
++ take :: alarm event
|
||||
|- ^+ +
|
||||
=. wak (add ~m1 (max wak est))
|
||||
?.(=(0 oot) + (joke ~ `zing`[%ego est]))
|
||||
?.(=(0 oot) + (joke ~ `zing`[%ego roo est]))
|
||||
::
|
||||
++ toke :: user action
|
||||
|= txt=@t
|
||||
@ -354,34 +337,21 @@
|
||||
(show %leaf "invalid input")
|
||||
?- -.u.rey
|
||||
%all ?~ p.u.rey
|
||||
?~ rooms
|
||||
(show [%leaf "in space, no one can hear you scream..."])
|
||||
(joke(sad [%& q.u.rey]) ~ `zing`[%all i.rooms q.u.rey r.u.rey])
|
||||
(joke(sad [%& q.u.rey]) ~ `zing`[%all roo q.u.rey r.u.rey])
|
||||
(joke(sad [%& q.u.rey]) ~ `zing`u.rey)
|
||||
%def ?~ rooms
|
||||
(show [%leaf "in space, no one can hear you scream..."])
|
||||
%def
|
||||
%- joke
|
||||
?: ?=(& -.sad)
|
||||
[~ `zing`[%all i.rooms p.sad p.u.rey]]
|
||||
[~ `zing`[%all roo p.sad p.u.rey]]
|
||||
[[~ p.sad] `^mess`p.u.rey]
|
||||
%how (shew (turn (lore ^:@/===doc%/help/txt) |=(a=@t [%leaf (trip a)])))
|
||||
%out (show(dun &) %leaf "see you space cowboy...")
|
||||
%say (joke(sad [%| p.u.rey]) [~ p.u.rey] `^mess`q.u.rey)
|
||||
%who ?- p.u.rey
|
||||
%tis ?~ rooms
|
||||
%+ show %leaf
|
||||
"you are alone. try again on a habitable world."
|
||||
%+ joke ~ ^- zing :- %who `~[i.rooms]
|
||||
%tts %+ joke ~ ^- zing :- %who `rooms
|
||||
%ttt %+ joke ~ ^- zing :- %who ~
|
||||
%tcc %+ joke ~ ^- zing :- %who `q.u.rey
|
||||
%tis %+ joke ~ ^- zing :+ %who roo `~[roo]
|
||||
%ttt %+ joke ~ ^- zing :+ %who roo ~
|
||||
%tcc %+ joke ~ ^- zing :+ %who roo `q.u.rey
|
||||
==
|
||||
|
||||
%lus (add-room p.u.rey)
|
||||
%hep ?~ rooms
|
||||
%+ show %leaf
|
||||
"you are at the outer rim, alone. try entering a habitable world."
|
||||
(remove-room p.u.rey)
|
||||
%kil (kill p.u.rey)
|
||||
%res (resurrect p.u.rey)
|
||||
==
|
||||
@ -392,12 +362,22 @@
|
||||
=. est now
|
||||
=< abet
|
||||
?+ -.pax +>
|
||||
%ob ?>(?=(%lq -.nut) (said p.nut ((hard (list zong)) r.nut)))
|
||||
%ob
|
||||
?> ?=(%lq -.nut)
|
||||
=+ n=((soft (list zong)) r.nut)
|
||||
?~ n
|
||||
~& %chat-zong-fail +>+
|
||||
(said p.nut u.n)
|
||||
%re ?>(?=(%ow -.nut) (nice ~ p.nut))
|
||||
%ra ?> &(?=(%ow -.nut) ?=(^ t.pax))
|
||||
(nice [~ (need (slaw %p i.t.pax))] p.nut)
|
||||
%up ?>(?=(%up -.nut) (toke p.nut))
|
||||
%wa ?>(?=(%wa -.nut) take)
|
||||
%ya ?>(?=(%lq -.nut) (priv now p.nut ((hard ^mess) r.nut)))
|
||||
%ya
|
||||
?> ?=(%lq -.nut)
|
||||
=+ n=((soft ^mess) r.nut)
|
||||
?~ n
|
||||
~& %chat-zong-fail +>+
|
||||
(priv now p.nut u.n)
|
||||
==
|
||||
--
|
||||
|
@ -8,12 +8,9 @@
|
||||
=> ^/===/lib/chat
|
||||
=> |%
|
||||
++ fool
|
||||
$: num=(map room ,@ud) :: number received
|
||||
nym=@t :: text name
|
||||
$: nym=@t :: text name
|
||||
sec=sect :: banner
|
||||
liv=? :: officially live
|
||||
elf=@da :: last ping
|
||||
roo=(list room) :: room memberships
|
||||
elf=(map room ,[d=@da n=@ud]) :: ping/mess received
|
||||
== ::
|
||||
++ loft :: room log
|
||||
$: num=@ud :: (lent meg)
|
||||
@ -33,35 +30,31 @@
|
||||
++ abet ..of(pod.par (~(put by pod.par) her ful))
|
||||
++ call [her nym.ful]
|
||||
++ push
|
||||
^- [(list zong) _.]
|
||||
?. liv.ful [~ .]
|
||||
^- [(list zong) _.]
|
||||
:-
|
||||
^- (list zong)
|
||||
%- flop
|
||||
%- ^zing
|
||||
%+ turn roo.ful
|
||||
|= roo=room
|
||||
=+ lov=(~(get by lov.par) roo)
|
||||
=+ lov=?~(lov *loft u.lov)
|
||||
=+ num=(~(get by num.ful) roo)
|
||||
=+ num=?~(num 0 u.num)
|
||||
%+ skim (scag (sub num.lov num) meg.lov)
|
||||
|= a=zong
|
||||
?< ?=(%who -.a)
|
||||
?& (lien roo.ful |=(* =(q.a +<)))
|
||||
?. ?=(%all -.a) &
|
||||
&(!=(her p.s.a) |(=(%white r.a) =(sec.ful r.a)))
|
||||
==
|
||||
^- (list zong)
|
||||
%+ ~(rep by elf.ful) *(list zong)
|
||||
|= [[r=room *] q=(list zong)]
|
||||
=+ lov=(fall (~(get by lov.par) r) *loft)
|
||||
=+ num=+:(fall (~(get by elf.ful) r) *[@da @ud])
|
||||
%+ weld
|
||||
%+ skim (scag (sub num.lov num) meg.lov)
|
||||
|= a=zong
|
||||
?< ?=(%who -.a)
|
||||
?& (~(has by elf.ful) q.a)
|
||||
?. ?=(%all -.a) &
|
||||
&(!=(her p.s.a) |(=(%white r.a) =(sec.ful r.a)))
|
||||
==
|
||||
q
|
||||
^- _.
|
||||
%= .
|
||||
num.ful
|
||||
%- ~(gas by num.ful)
|
||||
%+ turn roo.ful
|
||||
|= roo=room
|
||||
=+ lov=(~(get by lov.par) roo)
|
||||
=+ lov=?~(lov *loft u.lov)
|
||||
[roo num.lov]
|
||||
elf.ful
|
||||
%- ~(tur by elf.ful)
|
||||
|= [r=room [d=@da n=@ud]]
|
||||
=+ lov=(fall (~(get by lov.par) r) *loft)
|
||||
[d num.lov]
|
||||
==
|
||||
--
|
||||
::
|
||||
@ -111,10 +104,20 @@
|
||||
%+ ~(rib by pod.par) *(map room (list zong))
|
||||
|= [[her=@p ful=fool] fug=(map room (list zong))]
|
||||
^- [(map room (list zong)) [@p fool]]
|
||||
?. &(liv.ful (gth now (add ~m2 elf.ful))) [fug her ful]
|
||||
=+ ^= outs ^- (list ,[room (list zong)])
|
||||
(turn roo.ful |=(c=room [c ~[[%out now c [her nym.ful]]]]))
|
||||
[(~(gas by fug) outs) [her ful(liv |)]]
|
||||
=+ ^= outs ^- (list room)
|
||||
%+ ~(rep by elf.ful) *(list room)
|
||||
|= [[r=room [d=@da n=@ud]] q=(list room)]
|
||||
?. (gth now (add ~m2 d)) q
|
||||
[r q]
|
||||
=+ ^= outmes ^- (list ,[room (list zong)])
|
||||
%+ turn outs
|
||||
|= r=room
|
||||
[r [%out now r [her nym.ful]]~]
|
||||
=+ ^= f
|
||||
|= [p=room q=(map room ,[@da @ud])] (~(del by q) p)
|
||||
=+ ^= newelf ^- (map room ,[@da @ud])
|
||||
%+ roll outs f(q elf.ful)
|
||||
[(~(gas by fug) outmes) [her ful(elf newelf)]]
|
||||
(tilt zew)
|
||||
::
|
||||
++ yelp
|
||||
@ -122,28 +125,25 @@
|
||||
^- [chub part]
|
||||
?: ?=(%who -.zig)
|
||||
:_ par
|
||||
:~ :- her
|
||||
:~ :+ %who
|
||||
now
|
||||
=+ ^= all
|
||||
^- (map room (list user))
|
||||
=< -
|
||||
%+ ~(rib by pod.par) *(map room (list user))
|
||||
|= [[her=@p ful=fool] fug=(map room (list user))]
|
||||
^- [(map room (list user)) [@p fool]]
|
||||
:_ [her ful]
|
||||
?. liv.ful fug
|
||||
%- ~(gas by fug)
|
||||
%+ turn roo.ful
|
||||
|= r=room
|
||||
=+ c=(~(get by fug) r)
|
||||
[r [[her nym.ful] ?~(c ~ u.c)]]
|
||||
?~ p.zig
|
||||
all
|
||||
%- ~(gas by *(map room (list user)))
|
||||
(turn u.p.zig |=(r=room [r (fall (~(get by all) r) ~)]))
|
||||
==
|
||||
==
|
||||
:_ ~
|
||||
:- her
|
||||
^- (list zong)
|
||||
:_ ~
|
||||
:^ %who now p.zig
|
||||
=+ ^= all ^- (map room (list user))
|
||||
=< -
|
||||
%+ ~(rib by pod.par) *(map room (list user))
|
||||
|= [[her=@p ful=fool] fug=(map room (list user))]
|
||||
^- [(map room (list user)) [@p fool]]
|
||||
:_ [her ful]
|
||||
%+ ~(rep by elf.ful) fug
|
||||
|= [[r=room *] q=(map room (list user))]
|
||||
%+ ~(put by q) r
|
||||
[[her nym.ful] (fall (~(get by fug) r) ~)]
|
||||
?~ q.zig
|
||||
all
|
||||
%- ~(gas by *(map room (list user)))
|
||||
(turn u.q.zig |=(r=room [r (fall (~(get by all) r) ~)]))
|
||||
=+ pof=(yowl our her)
|
||||
=+ m=*(map room (list zong))
|
||||
=^ zew +>.$
|
||||
@ -151,43 +151,26 @@
|
||||
%all
|
||||
:_ abet:pof
|
||||
%- ~(gas by m)
|
||||
?. (lien roo.ful:pof |=(* =(p.zig +<))) ~
|
||||
?. (~(has by elf.ful:pof) p.zig) ~
|
||||
:_ ~
|
||||
:- p.zig
|
||||
~[[%all now p.zig ?:(q.zig %white sec.ful.pof) call:pof r.zig]]
|
||||
::
|
||||
%ego
|
||||
:_ abet:pof(liv.ful &, elf.ful now)
|
||||
=+ num=n:(fall (~(get by elf.ful.pof) p.zig) [_@ n=_@ud])
|
||||
:_ abet:pof(elf.ful (~(put by elf.ful.pof) p.zig [now num]))
|
||||
%- ~(gas by m)
|
||||
=. elf.ful.pof now
|
||||
?: liv.ful.pof ~
|
||||
(turn roo.ful:pof |=(c=room [c ~[[%new now c call:pof]]]))
|
||||
=+ liv=(~(has by elf.ful.pof) p.zig)
|
||||
=. elf.ful.pof (~(put by elf.ful.pof) p.zig [now num])
|
||||
?: liv ~
|
||||
[p.zig ~[[%new now p.zig call:pof]]]~
|
||||
::
|
||||
%out
|
||||
:_ abet:pof(liv.ful |)
|
||||
%- ~(gas by m)
|
||||
?. liv.ful.pof ~
|
||||
(turn roo.ful:pof |=(c=room [c ~[[%out now c call:pof]]]))
|
||||
::
|
||||
%lus
|
||||
=+ ^= oldroo
|
||||
%+ skip roo.ful:pof
|
||||
|=(a=room (lien p.zig |=(a=room =(a ^a))))
|
||||
:_ abet:pof(roo.ful (weld p.zig oldroo))
|
||||
%- ~(gas by m)
|
||||
%+ turn
|
||||
(skip p.zig |=(a=room (lien roo.ful:pof |=(a=room =(a ^a)))))
|
||||
|=(r=room [r ~[[%new now r call:pof]]])
|
||||
::
|
||||
%hep
|
||||
=+ ^= oldroo
|
||||
%+ skip roo.ful:pof
|
||||
|=(a=room (lien p.zig |=(a=room =(a ^a))))
|
||||
:_ abet:pof(roo.ful oldroo)
|
||||
%- ~(gas by m)
|
||||
%+ turn
|
||||
(skip p.zig |=(a=room (levy roo.ful:pof |=(a=room !=(a ^a)))))
|
||||
|=(r=room [r ~[[%out now r call:pof]]])
|
||||
:- ~ abet:pof
|
||||
:: :_ abet:pof(elf.ful (~(del by elf.ful.pof) p.zig))
|
||||
:: %- ~(gas by m)
|
||||
:: ?. liv.ful.pof ~
|
||||
:: (turn roo.ful:pof |=(c=room [c ~[[%out now c call:pof]]]))
|
||||
==
|
||||
(tilt zew)
|
||||
::
|
||||
@ -201,8 +184,7 @@
|
||||
%- (hard (unit gcos))
|
||||
.^(%a (scot %p our) %gcos (scot %da now) (scot %p her) ~)
|
||||
^- fool
|
||||
:* *(map room ,@ud)
|
||||
^- @t
|
||||
:* ^- @t
|
||||
=+ yow=(scot %p her)
|
||||
=+ woy=((hard ,@t) .^(%a (scot %p our) %name (scot %da now) (scot %p her) ~))
|
||||
?: =(%$ woy) yow
|
||||
@ -212,9 +194,7 @@
|
||||
?: ?=(?(%lord %lady) -.p.u.gos)
|
||||
r.p.p.u.gos
|
||||
?:(?=(%punk -.p.u.gos) p.p.u.gos %white)
|
||||
|
|
||||
now
|
||||
~[coci]
|
||||
*(map room ,[@da @ud])
|
||||
==
|
||||
~(. of her ful)
|
||||
--
|
||||
@ -272,7 +252,12 @@
|
||||
?+ -.pax !!
|
||||
%re ?>(?=(%ow -.nut) [~ +>])
|
||||
%wa ?>(?=(%wa -.nut) take(wak (add ~m1 est)))
|
||||
%bo ?>(?=(%lq -.nut) (talk p.nut ((hard zing) r.nut)))
|
||||
%bo
|
||||
?> ?=(%lq -.nut)
|
||||
=+ n=((soft zing) r.nut)
|
||||
?~ n
|
||||
~& %haus-zing-fail [~ +>+]
|
||||
(talk p.nut u.n)
|
||||
==
|
||||
[(cede cub) ~ hope ..$]
|
||||
--
|
||||
|
@ -2,32 +2,32 @@ prompts:
|
||||
& broadcast message to room
|
||||
| banner message
|
||||
~ship private message to ship
|
||||
%mars talk to room
|
||||
|
||||
type the prompt, then the message. ex: to send to %terra, type
|
||||
"%terra hello earth". type "+%terra" to change the default prompt.
|
||||
type the prompt, then the message. ex: to send to ~hoclur-bicrel, type
|
||||
"~hoclur-bicrel hello mars". your prompt will be changed automatically.
|
||||
|
||||
actions:
|
||||
@ send message in third person (irc /me)
|
||||
# evaluate expression (ex: "#(add 2 2)")
|
||||
+%mars [%urf ...] join room(s), or return to it(them)
|
||||
-%mars [%urf ...] leave room(s)
|
||||
# evaluate expression (ex: "#(add 2 2)")
|
||||
-~hoclur-bicrel [~bacdyl-soltus ...] add ship(s) to kill list (hides messages)
|
||||
+~hoclur-bicrel [~bacdyl-soltus ...] remove ship(s) from kill list
|
||||
! exit
|
||||
|
||||
list vessels:
|
||||
= show ships in current room
|
||||
== show ships in all my rooms
|
||||
=== show ships in haus (all rooms)
|
||||
=%mars [%urf ...] show ships in specified room(s)
|
||||
|
||||
command-line parameters:
|
||||
[%haus ~hoclur-bicrel] select haus server (default: ticketing ship)
|
||||
[%r %mars] select a room (default: %mars)
|
||||
%time display timestamps for messages
|
||||
%monitor always display entrance and exit notices
|
||||
%all always display entrance and exit notices
|
||||
%monitor display entrance and exit notices except in backlog
|
||||
%never never display entrance and exit notices
|
||||
%leet only display ship names
|
||||
%nub display ship and textual names
|
||||
|
||||
Only one of %monitor and %never may be specfied. Default behavior does not
|
||||
display entrance and exit notices in :chat backlog.
|
||||
only one of %all, %monitor, and %never may be specfied. default behavior is
|
||||
%never. only one of %leet and %nub may be specified. default behavior is %leet.
|
||||
|
||||
|
@ -8,9 +8,7 @@
|
||||
[%how ~] :: help
|
||||
[%out ~] :: log out
|
||||
[%say p=@p q=mess] :: private
|
||||
[%who p=?(%tis %tts %ttt %tcc) q=(list room)] :: query users
|
||||
[%lus p=(list room)] :: join room(s)
|
||||
[%hep p=(list room)] :: leave room(s)
|
||||
[%who p=?(%tis %ttt %tcc) q=(list room)] :: query users
|
||||
[%kil p=(list ,@p)] :: kill user(s)
|
||||
[%res p=(list ,@p)] :: resuscitate(s)
|
||||
== ::
|
||||
@ -28,17 +26,15 @@
|
||||
++ coci %mars :: default room
|
||||
++ zing :: client to server
|
||||
$% [%all p=room q=? r=mess] :: broadcast
|
||||
[%ego p=@da] :: ping / last active
|
||||
[%ego p=room q=@da] :: ping / last active
|
||||
[%out ~] :: log out
|
||||
[%who p=(unit (list room))] :: query users
|
||||
[%lus p=(list room)] :: join room(s)
|
||||
[%hep p=(list room)] :: leave room(s)
|
||||
[%who p=room q=(unit (list room))] :: query users
|
||||
== ::
|
||||
++ zong :: server to client
|
||||
$% [%all p=@da q=room r=sect s=user t=mess] :: broadcast
|
||||
[%new p=@da q=room r=user] :: user joined
|
||||
[%out p=@da q=room r=user] :: user left
|
||||
[%who p=@da q=(map room (list user))] :: users
|
||||
[%who p=@da q=room r=(map room (list user))] :: users
|
||||
== ::
|
||||
--
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user