Paranoia's Console V3

From HSpace

Jump to: navigation, search

Originally posted on the HSpace forums: article


Here is what I have so far:

(Dubbed Consoles V3.0 because its a departure from my V2.0, which tried to do too much with great failure)

Commands:

  • scan -List visible objects
  • scan <contact> -Show details about specific object
  • engstat -List systems and power usages
  • fuelstat -List fuels and levels
  • navinfo -Navigation status overview
  • engset <system>=<power> -Sets sytem to power level
  • navset speed=<speed> -Sets Speed to <speed>
  • navset afterburn=<ON|OFF> -Toggle Afterburners
  • navset jump=<(DIS)Engage> -Toggles Jump Drives
  • navset heading=<xy>m<z> -Sets Heading
  • activate -Activates Console (@console/power 1)
  • deactivate -Deactivates Console (@console/power 0)
  • commstat - List Established Comm Channels
  • transmit <channel>=<message> - Send <message> to <channel>
  • dmgstat - List systems with damage/stress
  • dmgassign <team>=<system> - What it says
  • commset add <frequency>=<Comment> - Adding a channel for listening and transmitting
  • commset delete <channel> - Delete a channel
  • commset comment <channel>=<comment> - Modify a comment
  • navmem savecontact=<contact> - Save a current contact on 'scan' to navmemory
  • navmem save <Entryname>=<x>/<y>/<z> - Save a navmem entry with <entry name> as the name.
  • navset plot/sensor=<contact> - Plot a course to a contact
  • navset plot/mem=<entry> - Plot a course to a navmem entry
  • hatchstat - List all hatches and landing locations with some relavent info
  • hatchset hatch/<hatch>:<setting>=<value> - Set the <setting> on <hatch> with <value> (Only setting as of now, clamped. Setup allows more however)
  • hatchset bay/<landingloc>:<setting>=<value> - Set the ...you get the point (The only setting now is 'code' however 'locked' should be added soon..just forgot about it)
  • hatchset link/<local port>=<remote ship>:<remote port> - Link <local port> to <remote ship>'s <remote port> (boardlink)
  • hatchset unlink=<local port> - Unlink <local port> (board unlink)
  • land <contact>/<bay>= - Land on contact's bay with code (negate if no code)
  • launch - umm...launch?
@create Console V3.0
@link Console V3.0 = #0
@lock/Use Console V3.0=Use Console V3.0
@lset Console V3.0/Use=no_inherit
@set Console V3.0 = VISUAL
@set Console V3.0 = NO_COMMAND
@set Console V3.0 = HSPACE_CONSOLE
&CMD.ACTIVATE Console V3.0=$activate:@console/power 1
&CMD.BOARDLINK Console V3.0=$hatchset link/*=*\:*:@nav/boardlink %1/[squish(match(iter(hs_get_attr(%!,hatches),name(##),%b,|),%0*,|),0)]=%2
@set Console V3.0/CMD.BOARDLINK=prefixmatch
&CMD.BOARDUNLINK Console V3.0=$hatchset unlink=*:@nav/boardunlink [squish(match(iter(hs_get_attr(%!,hatches),name(##),%b,|),%0*,|),0)]
&CMD.COMMSETADD Console V3.0=$commset add *=*:@pemit %#=set(%!,comm_frqs:[v(comm_frqs)] %0)[set(%!,comm.comment_[words(v(comm_frqs))]:%1)][u(fn.message,Comm channel added.)]
&CMD.COMMSETCOMMENT Console V3.0=$commset comment *=*:@pemit %#=u(fn.message,if(elements(v(comm_frqs),%0,%b),set(%!,comm.comment_%0:%1)Comment Modified,Invalid Channel.  ))
&CMD.COMMSETDEL Console V3.0=$commset del *:@pemit %#=u(fn.message,if(elements(v(comm_frqs),%0,%b),set(%!,comm_frqs:[ldelete(v(comm_frqs),%0)])[wipe(%!/comm.comment_%0)]Deleted,Invalid channel.)
&CMD.COMMSTAT Console V3.0=$commstat:@pemit %#=ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Communications Report)][ansi(hb, \])],78,_))%r%r[align(-6 -7 -15,ansi(hw,Chan),ansi(hw,Freq),ansi(hw,Note))]%r[iter(v(comm_frqs),align(-6 -7 50,ansi(r,inum(0)),ansi(hx,itext(0)),ansi(hx,v(comm.comment_#@))   ) ,%b,%r )]%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.CONSOLEHELP Console V3.0=$conhelp:@pemit %#=commset add <frequency>=<Comment> - Adding a channel for listening and transmitting %rcommset delete <channel> - Delete a channel%rcommset comment <channel>=<comment> - Modify a comment%rnavmem savecontact=<contact> - Save a current contact on 'scan' to navmemory%rnavmem save <Entryname>=<x>/<y>/<z> - Save a navmem entry with <entry name> as the name. %rnavset plot/sensor=<contact> - Plot a course to a contact %rnavset plot/mem=<entry> - Plot a course to a navmem entry %rscan -Duh%rengstat -List systems and power usages %rfuelstat -List fuels and levels %rnavinfo -Navigation status overview %rengset <system>=<power> -Sets sytem to power level%rnavset speed=<speed> -Sets Speed to <speed> %r navset afterburn=<ON|OFF> -Toggle Afterburners %rnavset jump=<(DIS)Engage> -Toggles Jump Drives %rnavset heading=<xy>m<z> -Sets Heading  %ractivate -Activates Console (@console/power 1) %r deactivate -Deactivates Console (@console/power)%rcomstat - List Established Comm Channels%rtransmit <channel>=<message> - Send <message> to <channel> %rdmgstat - List systems with damage/stress %rdmgassign <team>=<system> - What it says %r
&CMD.DEACTIVATE Console V3.0=$deactivate:@console/power 0
&CMD.DMGASSIGN Console V3.0=$dmgassign *=*:@eng/assigncrew %0=%1
@set Console V3.0/CMD.DMGASSIGN=mortal_dark locked
&CMD.DMGSTAT Console V3.0=$dmgstat:@pemit %#=ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Damage & Stress Report)][ansi(hb, \])],78,_))%r%r[align(25 -15 >20,ansi(hw,System),ansi(hw,Stress),ansi(hw,Damage))]%r[if(setr(l,filter(#lambda/if(or(hs_sys_attr(\%!/\%0,stress,1),hs_sys_attr(\%!/\%0,damage,1)),1),hs_eng_sys(%!),\,,|)),iter(%ql,align(20 10 <17 10 15,ansi(hx,itext(0)),strcat(ansi(w,\(),ansi(hx,left(setr(s,hs_sys_attr(%!/##,stress)),4)),ansi(w,/),ansi(hx,100),ansi(w,\))  ),strcat(ansi(hb,\[),u(fn.generatebar,%qs,100,13),ansi(hb,\])),strcat(ansi(w,\(),ansi(hx,left(setr(d,hs_sys_attr(%!/##,damage)),4)),ansi(w,/),ansi(hx,100),ansi(w,\))  ),strcat(ansi(hb,\[),u(fn.generatebar,%qd,100,13),ansi(hb,\]))),|,%r),center(ansi(hx,No Damaged Or Stressed Systems),78))]%r%r[center(ansi(hx,if(setr(c,hs_sys_attr(%!/Damage,numcrews,1)),There are %qc crews.,There are no damage control teams ready.  )    ),78)]%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.ENGSTAT Console V3.0=$engstat:@pemit %#=ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Engineering Status)][ansi(hb, \])],78,_))%r%r[setq(0,0)][center(ansi(m,Systems),78)]%r[align(40 9 19,ansi(hw,System),ansi(hw,Allocated),[null()] )][iter(squish(remove(remove(hs_eng_Sys(%!),Reactor,\,),Fuel System,\,),%b),[setq(0,add(%q0,{[hs_sys_attr(%!/##,current power,1)]}) )]%r[align(31 11 35,ansi(hx,hs_sys_attr(%!/##,name,1)),\([ansi(hx,hs_sys_attr(%!/##,current power,1))]/[ansi(hx,hs_sys_attr(%!/##,Optimal power,1))]\),[ansi(hb,\[)][ulocal(fn.generatebar,hs_sys_attr(%!/##,current power,1),hs_sys_attr(%!/##,Optimal power,1),28 )][ansi(hb,\])] )] ,\,)]%r%r[center(ansi(m,Power Source),78)]%r[ansi(hw,Type:)]%b[ansi(hx,hs_sys_attr(%!/Reactor,name,1))]%r[align(20 9 47,ansi(hw,Power Production),\([ansi(hx,hs_sys_attr(%!/Reactor,current output,1))]/[ansi(hx,hs_sys_attr(%!/Reactor,Max output,1))]\) ,[ansi(hb,\[)][ulocal(fn.generatebar,hs_sys_attr(%!/Reactor,current output,1),hs_sys_attr(%!/reactor,max output,1),44)][ansi(hb,\])] )]%r[align(20 9 57,ansi(hw,Power Usage),\([ansi(hx,%q0)]/[ansi(hx,hs_sys_attr(%!/Reactor,current output,1))]\) ,[ansi(hb,\[)][ulocal(fn.generatebar,%q0,hs_sys_attr(%!/reactor,Current output,1),44)][ansi(hb,\])] )]%r%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.FUELSTAT Console V3.0=$fuelstat:@pemit %#=ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Fuel Status)][ansi(hb, \])],78,_))%r%r[align(30 15 -33,ansi(hw,Type),,ansi(hw,Levels))]%r[if(or(setr(b,hs_sys_attr(%!/fuel,Max Burnable Fuel,1)),setr(r,hs_sys_attr(%!/fuel,Max Reactable Fuel,1))),[if(%qb,align(30 12 33,ansi(hx,Burnable Fuel),strcat(ansi(hw,\(),ansi(hx,before(setr(0,hs_sys_attr(%!/fuel,Burnable Fuel,1)),.)),ansi(hw,/),ansi(hx,%qb),ansi(hw,\))),strcat(ansi(hb,\[),u(fn.generatebar,%q0,%qb,31 ),ansi(hb,\]))))]%r[if(%qr,align(30 12 33,ansi(hx,Reactable Fuel),strcat(ansi(hw,\(),ansi(hx,before(setr(1,hs_sys_attr(%!/fuel,Reactable Fuel,1)),.)),ansi(hw,/),ansi(hx,%qr),ansi(hw,\))),strcat(ansi(hb,\[),u(fn.generatebar,%q1,%qr,31),ansi(hb,\]))%r))],center(ansi(hx,No Fuel Present),78) )]%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.HATCHSETBAY Console V3.0=$hatchset pad/*\:*=*:@pemit %#=u(fn.message,if(setr(h,first(elements(hs_get_attr(%!,landinglocs),match(iter(hs_get_attr(%!,landinglocs),name(##),%b,|),%0*,|)))),switch(%1,code,hs_set_attr(%qh/code,%2),Invalid Option.),Ambiguous Bay.))
&CMD.HATCHSETHATCH Console V3.0=$hatchset hatch/*\:*=*:@pemit %#=u(fn.message,if(setr(h,first(elements(hs_get_attr(%!,hatches),match(iter(hs_get_attr(%!,hatches),name(##),%b,|),%0*,|)))),switch(%1,clamp,hs_set_attr(%qh/clamped,switch(%2,yes,1,0)),Invalid Option.),Ambiguous Hatch.))
&CMD.HATCHSTAT Console V3.0=$hatchstat:@pemit %#=ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Landing Bays and Hatches)][ansi(hb, \])],78,_))%r%r[center(ansi(hw,Landing Pads),78)]%r[align(30 -7 -8,ansi(hw,Name),ansi(hw,Status),ansi(hw,Capacity))]%r[iter(hs_get_attr(%!,landinglocs),align(30 -7 -8,ansi(hx,name(##)),ansi(hx,if(hs_Get_attr(##,active),Open,Locked)),ansi(hx,hs_get_attr(##,max capacity)   ) ),%b,%r)]%r%r[center(ansi(hw,Docking Links),78)]%r[align(30 30,ansi(hw,Name),ansi(hw,Status))]%r[iter(hs_get_attr(%!,hatches),align(30 30,ansi(hx,name(##)),ansi(hx,switch(hs_get_attr(##,targetobj),#-1*,Sealed,name(hs_get_attr(##,targetobj))%b-%b[if(hs_get_attr(##,clamped),Clamped,Unclamped)] ) ) ),%b,%r)]%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.LAND Console V3.0=$land */*=*:@nav/land %0/[match(iter(hs_get_attr(elements(elements(hs_srep(%!,0),match(hs_srep(%!,0),%0*,|),|),2,:),landinglocs),name(##),%b,|),%1*,|)]
&CMD.LAUNCH Console V3.0=$launch:@nav/undock
&CMD.NAVINFO Console V3.0=$navinfo:@pemit %#=ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Navigation Status)][ansi(hb, \])],78,_))%r[align(20 10 10 10,ansi(hw,Current Location:),ansi(hx,X:[hs_get_attr(%!,x)]),ansi(hx,Y:[hs_get_attr(%!,y)]),ansi(hx,Z:[hs_get_attr(%!,Z)]))]%r[align(20 10,ansi(hw,Current Heading:),ansi(hx,hs_get_attr(%!,xyheading)m[hs_get_attr(%!,zheading)] ))]%r[align(20 10,ansi(hw,Desired Heading:),ansi(hx,hs_get_attr(%!,dxyheading)m[hs_get_attr(%!,dzheading)] ))]%r[if(not(hs_get_attr(%!,spacedock)),[align(15 10,ansi(hw,FTL:),ansi(hx,if(hs_sys_attr(%!/jump,engaged,1),ENGAGED,if(hs_sys_attr(%!/jump,charge,1),if(lt(hs_sys_attr(%!/jump,charge,1),100),Charging,Standby),Unpowered))))]%r[align(15 20 15,ansi(hw,Sublight:),ansi(hx,hs_sys_attr(%!/engines,current speed,1))\([ansi(hx,hs_sys_attr(%!/engines,desired speed,1))]\),ansi(hx,Max: [hs_sys_attr(%!/engines,Max Velocity,1)]) )])]%r%r[switch(hs_sys_attr(%!/autopilot,controller,1),#-1*,,[align(20 30,ansi(hw,Autopilot Controler:),ansi(hx,name(#$)))]%r[align(15 15 15 15,ansi(hw,Destination),strcat(ansi(hx,X:),ansi(hx,u(#$/hsdata_x))),strcat(ansi(hx,Y:),ansi(hx,u(#$/hsdata_y))),strcat(ansi(hx,Z:),ansi(hx,u(#$/hsdata_z))))]%r[align(5 19 7 10,ansi(hw,ETA:),ansi(hx,switch(setr(e,timestring(round(u(port/fn.calculateeta),0))),#-1*,Not Moving,%qe)),ansi(hw,Status:),ansi(hx,if(hs_sys_attr(%!/auto,engaged,1),Engaged,Disengaged))  )] )]%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.NAVMEMADDCONTACT Console V3.0=$navmem savecontact=*:@pemit %#=u(fn.message,if(or(setr(n,match(hs_srep(%!,0),*:*:*:*:*%0*:*:*:*,|)),setr(i,match(hs_srep(%!,0),%0:*:*:*:*:*:*:*,|))),set(v(hsdb_owner),navmem.[elements(setr(r,elements(hs_srep(%!,0),firstof(%qn,%qi),|)),5,:)]:[hs_get_attr(elements(%qr,2,:,:),x)]:[hs_get_attr(elements(%qr,2,:,:),y)]:[hs_get_attr(elements(%qr,2,:,:),z)])Saved,Invalid Contact))
&CMD.NAVMEMDELETE Console V3.0=$navmem delete *:@pemit %#=if(hasattr(v(hsdb_owner),navmem.[edit(%0,%b,_)]),u(fn.message,Navmem Location Deleted.)[wipe(v(hsdb_owner)/navmem.[edit(%0,%b,_)])],u(fn.message,Inavlid Waypoint))
&CMD.NAVMEMLIST Console V3.0=$navmem list:@pemit %#=ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Navigational Memory Bank)][ansi(hb, \])],78,_))%r%r[align(5 15 -10 -10 -10,,ansi(hw,Description),ansi(hw,X),ansi(hw,Y),ansi(hw,Z))]%r[iter(lattr(v(hsdb_owner)/navmem.*),align(5 15 -10 -10 -10,,ansi(hx,edit(after(itext(0),NAVMEM.),_,%b)),ansi(hx,elements(setr(p,get(v(hsdb_owner)/##)),1,:)),ansi(hx,elements(%qp,2,:)),ansi(hx,elements(%qp,3,:))  ),%b,%r)]%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.NAVMEMSAVE Console V3.0=$navmem save *=*/*/*:@pemit %#=if(and(isnum(%1),isnum(%2),isnum(%3)),set(v(hsdb_owner),navmem.[edit(%0,%b,_)]:%1:%2:%3)[u(fn.message,Navmem Location saved.)]  ,Invalid Coordinates)
&CMD.NAVSETAFTERBURN Console V3.0=$^navset afterburn=(ON|OFF)$:@nav/afterburn [switch(%1,on,1,0)]
@set Console V3.0/CMD.NAVSETAFTERBURN=regexp
&CMD.NAVSETAUTOTOGGLE Console V3.0=$^navset autopilot=(ENGAGE|DISENGAGE)$:@nav/autopilot [switch(%1,engage,1,0)]
@set Console V3.0/CMD.NAVSETAUTOTOGGLE=regexp
&CMD.NAVSETHEADING Console V3.0=$navset heading=*m*:@nav/setheading %0=%1
&CMD.NAVSETJUMP Console V3.0=$^navset jump=(ENGAGE|DISENGAGE)$:@nav/jump [switch(%1,engage,1,0)]
@set Console V3.0/CMD.NAVSETJUMP=regexp
&CMD.NAVSETPLOTMEM Console V3.0=$navset plot/mem=*:@pemit %#=u(fn.message,if(hasattr(v(hsdb_owner),navmem.[edit(%0,%b,_)]),[set(setr(c,hs_sys_attr(%!/auto,controller,1)),hsdata_x:[elements(setr(d,get(v(hsdb_owner)/navmem.[edit(%0,%b,_)])),1,:)])][set(%qc,hsdata_y:[elements(%qd,2,:)])][set(%qc,hsdata_z:[elements(%qd,3,:)])]Destination Plotted.  ,Invalid Destination))
&CMD.NAVSETPLOTSENSE Console V3.0=$navset plot/sensor=*:@pemit %#=u(fn.message,if(or(setr(n,match(hs_srep(%!,0),*:*:*:*:*%0*:*:*:*,|)),setr(i,match(hs_srep(%!,0),%0:*:*:*:*:*:*:*,|))),[setq(c,[hs_get_attr(elements(elements(hs_srep(%!,0),firstof(%qn,%qi),|),2,:),x)]:[hs_get_attr(elements(elements(hs_srep(%!,0),firstof(%qn,%qi),|),2,:),y)]:[hs_get_attr(elements(elements(hs_srep(%!,0),firstof(%qn,%qi),|),2,:),z)])][setq(0,hs_sys_attr(%!/auto,controller,1))][set(%q0,hsdata_x:[elements(%qc,1,:)])][set(%q0,hsdata_y:[elements(%qc,2,:)])][set(%q0,hsdata_z:[elements(%qc,3,:)])]Destination Plotted,Invalid Contact))
&CMD.NAVSETVEL Console V3.0=$navset speed=*:@nav/setvelocity %0
&CMD.SCAN Console V3.0=$scan:@pemit %#=ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Scan Report)][ansi(hb, \])],78,_))%r[align(7 25 9 8 8 5,ansi(hw,ID),ansi(hw,Contact Name),ansi(hw,Type),ansi(hw,Bearing),ansi(hw,Range),ansi(hw,Speed))]%r[if(setr(0,hs_srep(%!,0)),iter(%q0,align(7 25 9 8 8 5,ansi(hx,elements(##,1,:)),ansi(hx,elements(##,5,:)),ansi(hx,switch(elements(##,3,:),0,Unknown,1,Ship,2,Missle,3,Planet,4,Wormhole,5,Blackhole,6,Nebula,7,Astroid Belt,Unknown )), ansi(hx,elements(##,6,:)m[elements(##,7,:)]),ansi(hx,round(elements(##,8,:),2)),ansi(hx,switch(setr(1,hs_sys_attr(elements(##,2,:)/Engine,current speed,1)),#-1*,0.00,%q1))  ),|,%r),center(ansi(hx,No Contacts in range.),78))]%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.SCANTARGET Console V3.0=$scan *:@pemit %#=if(setr(t,squish(match(hs_srep(%!,0),%0*,|),0)),ansi(b,ljust(___[ansi(hb,\[)][ansi(hw,Target Scan Report)][ansi(hb, \])],78,_))%r%r[align(15 20 15 10,ansi(hw,Contact Name:),ansi(hx,elements(elements(hs_srep(%!,0),%qt,|),5,:)),ansi(hw,Bearing:),ansi(hx,strcat(elements(elements(hs_srep(%!,0),%qt,|),6,:),m,elements(elements(hs_srep(%!,0),%qt,|),7,:))) )]%r[align(10 15,ansi(hw,Distance:),ansi(hx,elements(elements(hs_srep(%!,0),%qt,|),9,:)))]%r%r[center(ansi(hw,Hatches),78)]%r[iter(switch(hs_get_attr(elements(elements(hs_srep(%!,0),%qt,|),2,:),hatches),#-1*,0,#$),if(##,align(20 15,ansi(hx,name(##)),switch(hs_get_attr(##,targetobj),#-1,Unoccupied,name(#$))),No Hatches),%b,%r)]%r[center(ansi(hw,Landing Bays),78)]%r[switch(iter(hs_get_attr(elements(elements(hs_srep(%!,0),%qt,|),2,:),landinglocs),align(30 15 4,ansi(hx,name(##)),if(hs_get_attr(##,code),Coded,Uncoded),if(hs_get_attr(##,active),Open,Closed)  ),%b,%r),#-1*,No Bays,#$)] ,u(fn.message,Invalid Contact) )%r[ansi(b,rjust([ansi(hb,\[)][ansi(hw,hs_Get_attr(%!,name))][ansi(hb, \])]___,78,_))]
&CMD.TRANSMIT Console V3.0=$transmit *=*:@pemit %#=u(fn.message,if(setr(r,hs_sys_attr(%!/Comm. Array,MAX RANGE,1)),if(setr(c,elements(v(comm_frqs),%0,%b)),hs_comm_msg(hs_get_attr(%!,uid),hs_get_attr(%!,uid),hs_get_attr(%!,X),hs_get_attr(%!,y),hs_get_attr(%!,z),%qr,%qc,%0),Invalid Channel.), No communications array onboard.))
&COMM.COMMENT_2 Console V3.0=DirtStone
&COMM.COMMENT_3 Console V3.0=HamFRQ
&COMM_FRQS Console V3.0=132 147 131
&COMM_HANDLER Console V3.0=emit( %0 %1)
&ENGSET.SYSPOWER Console V3.0=$engset *=*:@eng/setsyspower %0=%1
&FN.CALCULATEETA Console V3.0=[setq(M,if(hs_sys_attr(%!/jump,engaged,1),hs_sys_attr(%!/jump,jumpspeed multiplier)))][setq(d,dist3d(hs_get_attr(%!,X),hs_get_attr(%!,Y),hs_get_attr(%!,Z),u(hs_sys_attr(%!/autopilot,controller,1)/hsdata_x),u(hs_sys_attr(%!/autopilot,controller,1)/hsdata_y),u(hs_sys_attr(%!/autopilot,controller,1)/hsdata_z)))][setq(s,mul(hs_sys_attr(%!/engine,Current Speed,1),if(%qm,%qm,1)))][if(%qs,mul(fdiv(%qd,%qs),3600),-1)]
&FN.GENERATEBAR Console V3.0=[@@(%0:Current;%1:Max;%2:Width)][if(gt(%0,%1),ansi(hy,center(ansi(hr,left(OVERLOAD,%2)),%2,-)),if(%1,[setq(0,div(%2,3))][iter(lnum( round(mul(fdiv(%0,%1),%2),0)),if(gte(##,%q0),if(gte(##,add(%q0,%q0)),ansi(g,=),ansi(y,=)),ansi(r,=)), ,)][repeat(ansi(b,-),round(mul(sub(1,fdiv(%0,%1)),%2),0))],repeat(ansi(b,-),%2))
&FN.MESSAGE Console V3.0=ansi(hb,\[)[ansi(hw,name(%!))]%b[ansi(m,:)][ansi(hx,switch(%0,#*,if(hs_attr_get(me,powered),Console Powered Up,Console Powered Down),%0))][ansi(hb,\])]
&HEAR.MESSAGERELAY Console V3.0=^- *:@pemit %#=u(fn.message,%0)
&HSDB_CAN_ROTATE Console V3.0=0
&HSDB_FIRING_ARC Console V3.0=30
&HSDB_OWNER Console V3.0=#23
&HSDB_XYHEADING Console V3.0=100
&HSDB_XYOFFSET Console V3.0=0
&HSDB_ZHEADING Console V3.0=30
&HSDB_ZOFFSET Console V3.0=0
&MESS_HANDLER Console V3.0=pemit(lock(me/use),u(fn.message,%1))
Views
Personal tools