radio #285
Aliases: radio
8 verbs · 37 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
transmit xmit | this none this | rxd | #285 | 26 |
tune_in | this none this | rxd | #285 | 12 |
tune_out | this none this | rxd | #285 | 11 |
cycle_check | this none this | rxd | #285 | 7 |
xmit_with_xyz | this none this | rxd | #285 | 80 |
calc_ratio | this none this | rxd | #285 | 10 |
register_repeater unregister_repeater | this none this | rxd | #285 | 21 |
xyz_repeaters | this none this | rxd | #285 | 84 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
channels | #285 | rc | #361 | list of 963{553, {1448, {}, 550, {#410623}, 735444, {#77224}, 576, {#50278}, 601, {}, 13370, {}, 9602358, {#105624}, 909, {#581311}, 441550, {}, 621373, {}, 42, {#237318}, 6031989, {#153480}, 1585, {#390234}, 257, {}, 294, {#508177}, 501, {}, 5589, {}, 949, {#459549}, 941, {#556996, #143, #417603, #75346, #375750, #281885, #405886, #53731, #107511, #410439, #276411, #574812, #106026, #86688, #47121, #458349, #593149, #367777, #110731, #413903, #99120, #523125, #643413, #444723, #643316, #14145, #244206, #170688, #125350, #548478, #146205, #83430}, 5739, {#491306, #204781, #227443}, 1321144315, {}, 323232, {#554543}, 5146, {#439069}, 1166, {#263225, #440977, #57728}, 6557, {#213738, #470330, #95375, #168732, #495897}, 9898, {}, 51451312, {#307541}, 110229, {#234573}}, {4299, {#409299, #350895}, 18671, {}, 696988, {#434642}, 2131, {}, 60, {}, 1356, {#269833, #88883, #200864}, 840223, {}, 10001, {}, 3914, {}, 890, {#405558}, 6598, {#426654}, 2278336, {#51744, #169463}, 847, {#611482, #428069, #268432}, 694269, {#320060}, 7563, {#297183}, 2133728347, {#389183}, 522, {#467896, #274602, #311865, #639747, #418643, #625680, #557348}, 523, {#295958, #139350}, 76754, {#491849, #432866, #117238, #148697, #474940}, 23459, {#103714}, 335, {#512629}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {97043, {}, 994011, {}, 4242, {#504235, #573819, #105424}, 402, {#284159}, 120765, {}, 59621, {#437689}, 5, {#337203}, 1344487870, {#258561}, 2522, {#425322, #479506}, 336, {#420952}, 2795, {}, 16777215, {#283333}, 5098, {#206071}, 666123, {#166785}, 439401, {#86855}, 7291, {#240067, #182165}, 73241, {}, 303839, {#44043}, 12321, {#281799}}, {8000, {}, 417, {}, 31, {#165758}, 911, {#146565, #316667, #195408, #292337, #52345}, 621, {#74858, #306788, #194073, #476500, #317600}, 1717, {#528090}, 55407, {#525721}, 2803, {}, 9112001, {}, 521, {#639999, #534151}, 1999, {#17410}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {9340, {}, 1337, {#409299, #420430, #276289, #73608, #402544, #388448}, 30, {}, 119, {}, 6, {#416292}, 369, {#60219, #219993}, 8267530, {#75441, #207714}, 50, {#307913}, 1000438946, {}, -1, {#6789}, 42069, {}, 388004591, {}, 251, {#67542}, 2935725, {#78437}, 411, {#46124}, 150, {#22221}, 667, {#355414}, 5050447, {}, 2117, {#367332}, 93115, {#379092}, 125, {#24793}}, {8675309, {#361183, #187421, #96993, #452060}, 2600, {}, 53952, {}, 231, {}, 496843, {}, 5094, {}, 747, {}, 521943, {#179556}, 9237, {#311879}, 5195777, {#402541}, 842, {#492607, #335041}, 81468123, {#384509}, 38124, {#260547}, 2025, {#240024}, 499, {#366862}, 314, {#170055, #226910}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {789551, {}, 2171, {}, 225231, {#77195}, 2, {#194585, #538213, #32771, #271642, #431522, #547437, #173284}, 5657, {#167584, #50301, #87900}, 286, {}, 3742, {#223049}, 77716, {}, 12123344, {#500226}, 565656, {#39408, #584499}, 148, {#659135}, 2248, {#358101}, 4238, {#250923}, 2455, {#581234, #528782}, 8356, {#114349}}, {782, {#67817}, 3767, {#492940}, 69, {#264969, #8288}, 596465, {}, 3032400, {}, 3110, {}, 88, {#142134, #30320}, 1137433742, {#302311}, 22563, {#482407}, 122, {}, 2412, {#373067}, 948460, {#91258}, 5505, {#320007}, 419, {#441155, #112511}, 1080852, {}, 453857, {#310323}, 848201, {#387611, #474665}, 7824, {#481946}, 2501, {#616548}, 7180, {#430275}, 1453845089, {#532924}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {5676, {}, 611431, {}, 641220, {#12882}, 315311, {#315897}, 9, {#90822}, 556535, {#486890}, 1921, {#309585}, 2366, {#585886}, 496349, {}, 232313, {}, 4629, {#48236}, 8888, {}, 2245, {#102353, #178108}, 3315, {#38977}, 2074, {#214421, #168783, #115940, #199969, #27387, #173080}, 2064195395, {#307812}, 820, {#478529}, 199325, {#249737}, 1666, {}, 547, {#80456}, 856, {#564951}, 2309709, {#270642}, 7484, {#375327}, 989, {#395882}, 93511, {#121038, #165378}}, {395054, {}, 3418, {}, 101491, {}, 7778, {#447905}, 11077, {#301530}, 1307, {}, 753196, {}, 3070, {}, 5658, {#426681}, 203, {#352473}, 640, {#107909}, 8468, {#500881}, 9209, {#157295}, 1232, {#165962}, 214, {#327517}, 2217, {#320649}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {491155, {}, 4748, {}, 555, {#480591}, 422, {}, 341947, {}, 476691, {}, 3, {#108720, #174044}, 540, {#72787}, 5677, {#162616}, 55473, {}, 494949, {#83223}, 35873, {#162901}, 311086, {#516012}, 23567, {#609052}, 1024, {#350451, #517347}, 2159, {#303744}, 5381, {#138922}, 192, {#239751}, 8034, {#651127}}, {500, {#170990}, 8267539, {}, 9756, {}, 2323, {#63120}, 1977, {#358698, #160456, #547702, #114589, #86158}, 1177, {#279222, #195391, #35080}, 4685, {#104444}, 933, {#198749}, 112844, {#278244, #473751, #382938, #624143, #39285, #92334}, 141415, {#293292, #197164, #211249}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {1445, {}, 10141066, {}, 39521, {}, 725, {#353668}, 911752, {}, 303, {}, 305, {#393798}, 58787, {}, 2100, {#437136, #136214}, 183, {#42876, #257204, #322873}, 666420666, {#364038, #523992, #147845, #287692, #591930, #15261, #328329, #658822, #603402, #223912, #366494, #636986, #317133, #289228, #497130, #625617, #560518, #560628, #205444}, 3333, {}, 74311, {#402951}, 133, {}, 7829, {#655031}, 663, {#614953, #363688}}, {91427, {}, 7334, {}, 2173, {}, 2012, {}, 623, {#317078}, 4949, {#48424}, 43423, {#563864}, 525, {}, 195872, {}, 229900, {}, 77948, {#23226}, 241289, {#120239}, 51193, {}, 2792, {#87258, #272173}, 367, {#451142}, 1822, {#456174, #320716, #25100, #44652, #472933}, 555335888, {#529848}, 313131, {#434714, #53162, #216771}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {9001, {#100432}, 10945, {}, 114, {#261202}, 5117, {#108464, #107555, #196021}, 878254, {}, 331367, {}, 844307, {}, 2009, {}, 102, {}, 743837, {#294500}, 12280, {}, 5588, {#128192, #429724, #263589}, 1229219991, {#469228}, 1010, {#106402}, 128, {#277230}, 27695, {#460169}, 7777777, {#480043}, 2621, {#278093, #255033}, 77427, {#47353, #164664, #10052}, 41232, {#171452}, 386942, {#360513, #317378, #615341}, 1712, {#412005, #453192, #172872}}, {1238, {}, 334633, {}, 8123, {}, 776, {}, 414, {#23452, #195169, #234545, #421684, #266632, #359365, #52102, #133230, #95659, #320457, #451379, #128320, #1996, #495825, #399954, #60913, #329561, #8866, #170245, #169403, #422767, #335616, #474098, #415504, #451334, #301831, #504934, #459190, #57956, #575936, #111151, #181908, #554436, #58020, #184253, #537747, #18028, #43806, #336368, #184504, #506380, #550698, #184287, #589030, #321947, #358422, #81169, #85839, #491138, #604487, #423002, #313440, #585222, #554295, #126861, #531620, #589362, #227099, #606388, #193783, #451665, #233118, #95642, #614566, #333094, #440196, #96011, #466603, #193706, #275816, #101895, #404394, #335836, #162419, #484496, #282288, #128210, #404860, #572202, #239442, #581718, #507421, #107243, #391445, #276940, #545516, #240657, #440170, #390409, #580537, #336622, #71538, #59843, #196390, #122013, #307397, #489627, #248459, #47053, #249972, #592344, #196242, #606027, #236534, #103708, #133180, #61987, #259268, #408706, #206821, #324798, #443693, #72952, #230337, #104415, #451079, #364387, #225546, #299130, #311475, #579893, #396257, #99112, #503034, #153912, #561038, #569683, #328323, #492575, #175798, #399373, #358861, #465862, #131646, #433696, #73309, #170702, #469023, #189818, #237339, #411135, #296366, #57855, #87690, #444083, #327417, #472667, #11965, #128797, #114778, #245000, #53735, #422854, #202303, #522156, #235220, #309739, #525277, #626464, #75902, #457853, #321550, #317582, #119401, #567068, #434990, #238544, #366319, #211264, #34468, #58431, #304213, #476000, #620620, #504222, #117641, #500558, #273114, #598953, #308701, #356255, #512091, #279944, #260456, #361697, #214476, #282103, #358042, #69876, #161760, #63813, #558079, #495029, #381902, #187251, #493238, #621958, #207378, #257166, #576004, #27790, #107048, #457598, #561781, #239864, #85706, #394299, #196020, #310120, #129112, #460667, #116451, #595321, #150989, #208327, #218479, #432327, #421051, #482603, #282481, #512205, #136943, #210400, #15150, #273738, #571575, #174318, #122225, #436731, #531010, #486498, #296153, #68487, #146338, #587567, #378332, #385565, #543736, #535322, #606055, #608826, #440899, #584297, #231656, #544967, #377695, #313318, #117218, #285496, #297554, #128446, #421653, #444682, #64958, #644509, #530037, #575349, #202626, #251943, #431429, #89926, #59765, #294673, #267424, #14241, #596236, #145770, #292873, #94155, #313060, #603466, #434390, #268576, #73930, #385368, #567141, #531975, #650265, #302188, #164900, #237451, #333580, #500803, #380590, #496156, #212003, #75108, #299476, #647479, #406487, #550060, #406361, #540601, #220848, #197356, #207369, #12588, #331411, #633653, #496949, #411038, #585270, #541845, #369350, #485008, #615364, #502065, #411727, #557464, #563912, #160220, #58692, #60462, #318450, #200192, #511298, #277872, #359802, #543725, #22266, #660287, #417631, #235256, #637202, #485580, #611662, #563208, #147884, #308413, #185233, #521708, #225915, #660613, #146420, #181018, #95807, #222375, #490080, #294670, #477378, #105288, #469977, #536247, #356333, #223303, #526721, #210087, #352160, #571123, #297625, #84085, #232201, #516427, #474121, #442567, #126494, #88785, #337461, #230889, #590605, #558420, #147729, #64546, #411298, #218961, #125066, #23715, #104165, #150054, #33421, #440457, #155995, #104441, #449021, #60038, #11503, #398903, #571260, #621405, #392285, #477697, #426122, #231930, #260770, #176348, #206811}, 9726, {}, 2479, {#293505, #74791, #30992}, 8596, {#251023}, 55378008, {#394846, #352115, #318541, #34670, #373651, #192533}, 232323, {#257511}, 148921, {#266281}, 2228, {#41226}, 384, {#14776}, 9391, {#367260}, 2448, {#435134}, 9000, {#579770}, 2436, {#387321}, 11029, {#125226, #261430, #656469, #620830}, 398, {}, 913, {#355269, #478772}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {932899, {}, 309654, {}, 45710, {}, 999, {#585365}, 1337331, {}, 807, {}, 123456789, {}, 11, {#56290}, 2068, {#53682, #39658, #356268, #15714, #546207}, 1958, {#146835, #490671}, 656, {#654702, #30784, #124450}, 262, {#537407}}, {9811, {#222040}, 333, {#237435}, 777, {}, 636336361, {}, 3268, {}, 1691475676, {#409632}, 1615, {#47490}, 1296, {#213572}, 1983, {#9050}, 3666, {#122988, #358674}, 11235, {#387825, #546332}, 7721, {#234244}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {7401, {#268919}, 3272, {}, 100, {#491141, #491252, #142491}, 24172, {#284886, #189430}, 13572421, {}, 94238, {#115971}, 1421, {}, 6271, {}, 982, {#381976}, 1812, {#524975}, 2429, {#580522}, 154, {#448922}, 7947, {#555126, #233682}, 25425, {#16970, #270085}, 77890, {#38373, #458922}, 7823, {#627031, #185622}, 1755, {#178108}}, {1853278694, {}, 11796, {}, 1842, {}, 4519, {}, 296145, {}, 50504477, {#549336, #253248, #614565, #309727, #351260, #265250, #124371, #402504}, 809708, {}, 7311, {}, 15324, {}, 415, {#355723}, 9876, {}, 344, {}, 227824981, {#94947}, 15, {}, 1433, {#538615}, 2067907734, {}, 98765, {}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {6969, {#153994, #184155, #116698, #288349}, 56235657, {#453593}, 528938, {}, 204, {#127384, #241549, #383778, #268462, #13809, #130440, #480115, #263582, #55016, #286847, #76898, #539863, #405842, #80031, #496014, #162889, #300273, #464368, #530255, #526689, #120759, #246986, #487125, #361029, #637833, #167347, #652673, #214128, #385235}, 6809, {}, 833753, {#76621}, 7048, {#408453}, 232, {#487614, #567319, #263600}, 1933, {#316664}, 92, {}, 378, {#93787, #228516, #541601, #614537}, 141, {#60070}, 8583, {#438064}, 683, {#427647}, 5029, {#554196, #211343}, 8008135, {#589806, #667847, #66003}}, {819056, {#364207}, 409, {}, 1832, {}, 9090, {}, 51515, {#151087, #294708}, 502, {}, 7762, {#231595}, 117, {#398774}, 3574, {#614559, #68562}, 135797531, {#138095}, 121878, {#73223}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {28, {#213852}, 410, {#305595}, 200, {#269931}, 833573, {#385553}, 632, {}, 4445, {}, 11131113, {#400740}, 9998, {}, 1723, {}, 5442, {}, 2724, {#78657, #604369}, 72188, {#73296}, 999204, {#458851}}, {744232, {#276275}, 1616, {#161537}, 6451, {}, 56, {}, 20, {}, 558938, {#409299}, 1010101, {#409299}, 565678, {}, 7093223, {#615173}, 1598, {#544879}, 51451313, {#96393}, 1234, {#186587, #525460, #297389, #438841, #583723, #245255, #475166, #170604, #249121}, 6022, {#40924}, 12345, {#616135}, 4300, {#112299}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {1000, {#314661}, 1288, {}, 4, {#183351}, 320, {#151333}, 101, {#138237, #215910, #458020, #424152, #183324}, 3000, {}, 666, {#409299, #388374, #534764, #453389, #324731, #151752, #325684, #6789, #334415, #117943, #140479, #555273, #246942, #571662, #218601, #183919, #123597, #82643, #264783, #494353, #408101, #76346, #328328, #381020, #281655, #415088, #558638, #600512, #657611, #627083, #255458, #32089, #489264}, 112096, {}, 7649, {}, 912, {}, 232314, {}, 149, {#97451}, 1991, {#424364}, 6663377, {#417536, #596389}, 51451311, {#154507, #202662}, 2893, {#533933, #304556, #235299, #522330, #237050, #483513}, 853, {#154742}, 1743159, {#239991}, 57485, {#497950, #427390, #46121, #463139, #75402, #397717}, 643882, {#504905}, 7725, {#542157}, 4237, {#387622, #487798}, 3060, {#655561}}, {2147483647, {#43281, #363002, #604474, #65477}, 39715, {}, 39848235, {#165532}, 7289, {#26501}, 556, {#187604}, 759724, {}, 2134, {#561831}, 1679, {#449824}, 97, {}, 9861, {#399115}, 7219, {#645085, #525309}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {6573809, {}, 348, {#214813}, 888, {}, 301, {}, 2345, {}, 107, {#134342}, 573820, {#157453, #290241}, 123, {#613643, #81219, #465964, #134603, #421424, #132581, #174147, #39090, #263942, #268158, #228806, #179548, #49743, #658918, #111512, #436934, #46501, #608793, #450492, #557627, #638337, #277464, #271925, #571517}, 18935, {}, 90, {}, 19283, {}, 4678, {#11163}, 217, {#169785, #281517, #157583}, 88291, {#372460}, 4200, {#454281}, 7766644, {#75625}, 22, {#216258}, 439141791, {#164531}, 3578, {#277193, #164432, #257393, #419655, #310975, #605453, #494899, #215181, #412016, #552874, #100266, #396365, #173907}, 2451, {#490003}, 1728, {#313380}, 88383, {#181257}, 22424, {#411443, #550404, #160838, #607759}, 768, {#282423}, 2235820, {#499481}, 2300005, {#256293}, 23, {#37470, #201869, #352387, #467973}}, {612612, {}, 2083356218, {}, 50115, {}, 5123, {#219739, #481506}, 14, {#423444}, 1665, {}, 211587, {}, 827084, {}, 2469, {}, 99, {#316705, #644420}, 420247, {#261808}, 9975, {#123301, #451374, #253929, #123483, #285574, #382547, #240778, #369395, #997, #1011, #2971, #17744, #609460, #91761, #212594, #336989, #372332, #148658, #108060, #68452, #536916, #614753, #375970, #253862, #539735, #382797, #211309, #29992, #115592, #524203, #9344, #464588, #565137, #485535, #242095, #292131, #161116, #188305, #231427, #359696, #316172, #306184, #395242, #176455, #115214, #469704, #353712, #79003, #88895, #590241}, 4709218, {#50329}, 111, {#397068, #192472}, 261088, {#51193}, 44667, {#136055}, 999333999, {#219327}, 661285, {#467678}, 6782, {#228156}, 1974, {#642870, #13646, #598490}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {313375, {#377370}, 2273, {}, 13371337, {}, 5319, {#233908}, 65535, {#270905}, 96, {#317764}, 5079, {#527900}, 104, {#71714}, 1964, {#266934}, 224, {#263470}, 495830476, {#520815}}, {2162, {}, 37, {}, 18752, {#98213}, 1, {#203148, #167280, #281791, #447471, #528350, #405721, #404811, #333301, #399108, #157033, #248710, #608989, #568328, #82494, #361233, #265950, #528485, #325308, #134246, #138597, #377979, #437140, #233703, #598736, #306227, #331718, #61909, #242597, #176980, #645501, #332062, #519962, #452412, #519844, #282169, #116730, #98234, #111750, #404425, #220766, #468429, #224659, #369250, #329256, #444105}, 4555, {}, 1791, {}, 302, {}, 212, {#363263, #267153}, 1423, {#307922, #326109}, 9111, {#279129, #375533, #64206, #574801, #595538, #607680, #128776}, 24567, {#275932}, 4043, {#216521}}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {4926818, {#409299, #102911}, 1001, {#405930, #93910, #193056, #45803}, 6958, {}, 8796, {#145106, #227051}, 666666, {#335233, #477854, #303491}, 299, {}, 900700, {}, 420, {#409299, #405056, #103844, #378620, #492224, #269699, #83106, #571628, #458098, #82733, #105542, #504800, #611351, #614951, #31299, #148224, #147682}, 2723, {}, 404, {#145387, #520674, #113579, #196859, #643176}, 4847, {#123055}, 5879, {}, 10, {#48209, #543641}, 9824, {#413846, #415763, #199188, #262853, #412263, #487574, #45652, #449728, #62622, #57225, #605036}, 574, {#317958, #219764, #205214, #41249, #569509}, 112, {#566798}, 3094, {#142895}, 233457926, {}, 4532, {#307301}, 2764, {#269812}, 333210333, {#587400}}, {1488, {#127141, #155506, #55465, #538174, #45571, #299641, #193899, #142641, #111398}, 316, {#29689}, 308489, {#541473, #277455, #398273, #566857, #301806, #438781, #91821, #165220, #36759}, 20906, {#609754}, 885273, {#317837}, 1111, {#428540, #189892}, 413, {#211372}, 173, {#160165, #47118}, 191, {}, 2147483646, {#158281, #392859, #64907, #260001}, 63473567, {#508119}, 4250, {#160912}, 2414, {#418509}, 90210, {#406952}, 180, {#380419}, 11229, {#34256, #45953, #431418}, 67891, {#33399}}} |
help_msg | #285 | rc | #361 | list of 27{"", "$radio is a decentralised, anonymous, open system for transmitting", "text messages (intended to represent sound or images). It supports", "security only through the use of two-way encryption. The radio", "spectrum is divided into channels, each identified by an integer in", "the range 1 to 2^31-1. There are no restrictions on broadcasting", "anything to any channel. Messages can be any string, and may include", "ANSI control codes.", "", ":transmit(channel, message[, encryption_key, from]) => Transmit the", "provided message on the indicated radio channel. For any object tuned", "into the channel (see :tune_in below), the verb :radio_receive will be", "called with the argument list {channel, message}. If an encryption", "key is provided, the message will be encrypted, and it will be up to", "the receiver to decrypt it. The from-parameter is used for radio", "broadcast loop detection, and defaults to the object of the verb", "calling :transmit.", "", ":tune_in(receiver, channel) => Tune receiver into the given channel.", "From now on, whenever a message is sent to the given channel,", ":radio_receive will be called on receiver as described in the", "documentation for :transmit above. If receiver is already tuned into", "channel, this is a no-op.", "", ":tune_out(receiver, channel) => Tune receiver out of the given", "channel. From now on, receiver will no longer receive radio messages", "broadcast on the channel."} |
receive_all | #285 | rc | #361 | {#491332} |
degradation_constant | #285 | rc | #361 | 8.0 |
repeaters | #285 | rc | #361 | list of 17{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
generic_repeater | #285 | rc | #361 | #406610 |
restricted_channels | #285 | rc | #361 | {9975} |
handed | #5 | rc | #361 | <clear> |
wield_msg | #5 | rc | #361 | <clear> |
unwield_msg | #5 | rc | #361 | <clear> |
size | #5 | rc | #361 | <clear> |
look_place_msg | #5 | rc | #361 | <clear> |
value | #5 | rc | #361 | <clear> |
get_msg | #5 | rc | #361 | <clear> |
drop_msg | #5 | rc | #361 | <clear> |
get_fail_msg | #5 | rc | #361 | <clear> |
junk_ok | #5 | rc | #361 | <clear> |
floats | #5 | rc | #361 | <clear> |
long_name_msg | #5 | rc | #361 | <clear> |
article | #5 | rc | #361 | <clear> |
setup_list | #5 | rc | #361 | <clear> |
health | #5 | rc | #361 | <clear> |
health_max | #5 | rc | #361 | <clear> |
min_skill | #5 | rc | #361 | <clear> |
skill | #5 | rc | #361 | <clear> |
recipe_for | #5 | rc | #361 | <clear> |
carried_msg | #5 | rc | #361 | <clear> |
aliases | #1 | rc | #361 | {"radio"} |
description | #1 | rc | #361 | <clear> |
object_size | #1 | r | #29 | {44950, 1298434491} |
hidden_verbs | #1 | rc | #361 | <clear> |
phelp_msg | #1 | rc | #361 | <clear> |
weight | #1 | rwc | #361 | <clear> |
owner_verbs | #1 | rc | #361 | <clear> |
plural_name | #1 | rc | #361 | <clear> |
client_image | #1 | rc | #361 | <clear> |
listening | #1 | rc | #361 | <clear> |
Ancestry
Ancestors (nearest first): #5 generic thing → #1 root
Children: none
Call graph
Source
transmit xmit
Referenced by
none
Source
1{freq, msg, ?key = "", ?sender = callers()[1][1]} = args; 2if (freq in this.restricted_channels) 3if (!($ou:has_property(sender, "licensed_channels") && (freq in sender.licensed_channels))) 4return; 5endif 6endif 7encrypted = !key; 8{dobj, cycle} = this:cycle_check(sender); 9if ((!cycle) && (freq in this.channels)) 10fork (0) 11new_receivers = {}; 12for receiver in (this.channels[freq]) 13if ($api.radio:is_on(receiver)) 14if (!encrypted) 15encrypted = msg = $su:encrypt(msg, key); 16endif 17receiver:radio_receive(freq, msg); 18new_receivers = {@new_receivers, receiver}; 19endif 20endfor 21for r in (this.receive_all) 22r:radio_receive(freq, msg); 23endfor 24new_receivers ? this.channels[freq] = new_receivers | hashremove(this.channels, freq); 25endfork 26endif
tune_in
Referenced by
- #130:radio line 24:
$radio:tune_in
Source
1{receiver, freq} = args; 2if (typeof(freq) == INT) 3if ($api.radio:is_on(receiver)) 4if (freq in this.channels) 5this.channels[freq] = setadd(this.channels[freq], receiver); 6else 7this.channels[freq] = {receiver}; 8endif 9endif 10else 11raise(E_INVARG); 12endif
tune_out
Referenced by
- #130:radio line 22:
$radio:tune_out
Source
1{receiver, freq} = args; 2if (typeof(freq) == INT) 3if (freq in this.channels) 4this.channels[freq] = setremove(this.channels[freq], receiver); 5if (this.channels[freq] == {}) 6this.channels = hashremove(this.channels, freq); 7endif 8endif 9else 10raise(E_INVARG); 11endif
cycle_check
Referenced by
- #285:transmit line 8:
this:cycle_check - #285:xmit_with_xyz line 3:
this:cycle_check
Source
1":cycle_check(receiver) => Check whether we are in a radio message propagation cycle by annotating the dobj variable. Returns two values, the new dobj and whether we are in a cycle. DO NOT PROCEED IF WE ARE IN A CYCLE!"; 2{receiver} = args; 3if ((typeof(dobj) != LIST) || (!(receiver in dobj))) 4return {(typeof(dobj) == LIST) ? listappend(dobj, receiver) | {receiver}, 0}; 5else 6return {dobj, 1}; 7endif
xmit_with_xyz
Referenced by
none
Source
1{freq, msg, ?key = "", ?sender = callers()[1][1], ?xmit_power = 15, ?debug = 0} = args; 2encrypted = !key; 3{dobj, cycle} = this:cycle_check(sender); 4send_from = sender:room(); 5send_xyz = send_from.global_xyz; 6send_indoors = !send_from.outdoor; 7if ((send_xyz == $xyz.zero) && (send_from != $xyz.origin)) 8$nets.bugnet:announce(#-1, tostr("radio: send from zero xyz room ", $su:nn(sender:room()), " by ", $su:nn(sender)), 1); 9return 0; 10endif 11if ((!cycle) && (freq in this.channels)) 12fork (0) 13cputime_start = cputime(); 14ticks_at_start = ticks_left(); 15new_receivers = {}; 16reps_available = this:xyz_repeaters(sender, freq, xmit_power); 17for receiver in (this.channels[freq]) 18if (!$api.radio:is_on(receiver)) 19continue; 20endif 21new_receivers = {@new_receivers, receiver}; 22if (receiver == sender) 23continue; 24endif 25if (debug && (!`receiver.radio_debug ! E_PROPNF')) 26continue; 27endif 28recv_where = receiver:room(); 29recv_xyz = recv_where.global_xyz; 30if ((recv_xyz == $xyz.zero) && (recv_where != $xyz.origin)) 31#7195:tell("receiver in zero xyz room ", receiver:room()); 32continue; 33endif 34recv_sensitivity = `receiver.radio_sensitivity ! E_PROPNF => 15'; 35recv_indoors = !recv_where.outdoor; 36ratio = this:calc_ratio(send_xyz, recv_xyz, xmit_power, recv_sensitivity, recv_indoors + send_indoors); 37used_repeaters = 0; 38if (ratio < 1.0) 39for rep in (reps_available) 40{rep_xyz, to_rep_ratio, rep_xmit_power, rep_indoors, rep_jumps} = rep; 41from_rep_ratio = this:calc_ratio(rep_xyz, recv_xyz, rep_xmit_power, recv_sensitivity, recv_indoors + rep_indoors); 42rep_ratio = from_rep_ratio * to_rep_ratio; 43if ((rep_ratio > ratio) || ((rep_ratio == ratio) && (used_repeaters > rep_jumps))) 44ratio = rep_ratio; 45used_repeaters = rep_jumps; 46if (ratio == 1.0) 47break; 48endif 49endif 50endfor 51endif 52if (ratio < 0.5) 53continue; 54elseif (ratio < 1.0) 55msg = $su:silence_words(msg, (1.0 - ratio) / 2.0); 56endif 57if (!encrypted) 58encrypted = msg = $su:encrypt(msg, key); 59endif 60if (used_repeaters > 1) 61fork (used_repeaters - 1) 62receiver:radio_receive(freq, msg); 63endfork 64else 65receiver:radio_receive(freq, msg); 66endif 67endfor 68for r in (this.receive_all) 69r:radio_receive(freq, msg); 70endfor 71cputime_used = cputime() - cputime_start; 72ticks_used = ticks_at_start - ticks_left(); 73if (new_receivers) 74this.channels[freq] = new_receivers; 75else 76this.channel = hashremove(this.channel, freq); 77endif 78#7195:tell("cpu ", cputime_used, "ms / ", ticks_used, " ticks"); 79endfork 80endif
calc_ratio
Referenced by
- #285:xmit_with_xyz line 36:
this:calc_ratio - #285:xmit_with_xyz line 41:
this:calc_ratio - #285:xyz_repeaters line 69:
this:calc_ratio
Source
1":calc_ratio(LIST send_xyz, LIST recv_xyz, FLOAT/INT xmit_power, FLOAT/INT recv_sensitivity, INT (sent_indoors + recv_indoors)) => FLOAT pct of message that is received"; 2{send_xyz, recv_xyz, xmit_power, recv_sensitivity, n_indoors} = args; 3dist = $vu:xyz_distance(send_xyz, recv_xyz); 4power_at_recv = tofloat(xmit_power) - ((dist / this.degradation_constant) ^ 2.0); 5if (n_indoors) 6power_at_recv = power_at_recv * (0.85 ^ n_indoors); 7endif 8ratio = min((power_at_recv + tofloat(recv_sensitivity)) / 100.0, 1.0); 9#7195:tell(toliteral(send_xyz), " to ", toliteral(recv_xyz), ": ", floatstr(dist, 2), " -- ", floatstr(ratio, 3)); 10return ratio;
register_repeater unregister_repeater
Referenced by
none
Source
1{repeater, freq} = args; 2do_unregister = verb == "unregister_repeater"; 3if ((!freq) || (typeof(freq) != INT)) 4raise(E_INVARG); 5endif 6if (freq > 0) 7raise(E_INVARG, "only negative frequencies have/need repeaters"); 8endif 9replist = `this.repeaters[freq] ! E_RANGE => {}'; 10if (do_unregister) 11if (!replist) 12return; 13endif 14replist = setremove(replist, repeater); 15if (!replist) 16this.repeaters = hashremove(this.repeaters, freq); 17endif 18else 19replist = setadd(replist, repeater); 20this.repeaters[freq] = replist; 21endif
xyz_repeaters
Referenced by
- #285:xmit_with_xyz line 16:
this:xyz_repeaters
Source
1{xmitter, freq, xmit_power} = args; 2from = xmitter:room(); 3xmit_xyz = from.global_xyz; 4if ((xmit_xyz == $xyz.zero) && (from != $xyz.origin)) 5#7195:tell("repeater xmit in zero xyz room ", from); 6return {}; 7endif 8repeaters = `this.repeaters[freq] ! E_RANGE => {}'; 9if (!repeaters) 10return {}; 11endif 12xmit_indoors = !from.outdoor; 13done = []; 14to_solve = {xmitter}; 15eligible = {}; 16new_repeaters = {}; 17specs = []; 18bests = []; 19jumps = []; 20specs[xmitter] = {xmit_xyz, 0, xmit_indoors, xmit_power}; 21bests[xmitter] = {1.0, #-1, 0}; 22for rep in (repeaters) 23if (!is_a(rep, this.generic_repeater)) 24continue; 25endif 26new_repeaters = {@new_repeaters, rep}; 27if (rep == xmitter) 28continue; 29endif 30if (!rep:can_repeat()) 31continue; 32endif 33rep_where = rep:room(); 34rep_xyz = rep_where.global_xyz; 35if ((rep_xyz == $xyz.zero) && (rep_where != $xyz.origin)) 36#7195:tell("repeater in zero xyz room ", rep:room()); 37continue; 38endif 39rep_sens = rep.radio_sensitivity; 40rep_power = rep.radio_strength; 41rep_indoors = !rep_where.outdoor; 42specs[rep] = {rep_xyz, rep_sens, rep_indoors, rep_power}; 43eligible = {@eligible, rep}; 44#7195:tell("eligible: ", rep); 45endfor 46if (new_repeaters) 47this.repeaters[freq] = new_repeaters; 48else 49this.repeaters = hashremove(this.repeaters, freq); 50endif 51if (!eligible) 52return {}; 53endif 54while (to_solve) 55{trep, @to_solve} = to_solve; 56#7195:tell("solving for ", trep); 57tspec = specs[trep]; 58{t_xyz, t_sens, t_indoors, t_power} = specs[trep]; 59{t_bestratio, t_bestorigin, t_jumps} = bests[trep]; 60for rrep in (eligible) 61if (rrep in {t_bestorigin, trep}) 62continue; 63endif 64{r_xyz, r_sens, r_indoors, r_power} = specs[rrep]; 65{r_bestratio, r_bestorigin, r_bestjumps} = `bests[rrep] ! E_RANGE => {0.0, #-1, -1}'; 66if (r_bestorigin == trep) 67continue; 68endif 69ratio = this:calc_ratio(t_xyz, r_xyz, t_power, r_sens, t_indoors + r_indoors); 70#7195:tell("ratio to ", rrep, " is ", ratio); 71if (((ratio > 0.5) && (ratio > r_bestratio)) || ((ratio == r_bestratio) && ((t_jumps + 1) < r_bestjumps))) 72player:tell("new best"); 73bests[rrep] = {ratio, trep, t_jumps + 1}; 74to_solve = {@to_solve, rrep}; 75endif 76endfor 77endwhile 78result = {}; 79for rep in (keys(bests)) 80{xyz, sens, indoors, power} = specs[rep]; 81{ratio, origin, jumps} = bests[rep]; 82result = {@result, {xyz, ratio, power, indoors, jumps}}; 83endfor 84return result;