@lpc-lang/core 1.1.2-5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/README.md +255 -0
  2. package/bin/lpc +4 -0
  3. package/bin/lpcserver +4 -0
  4. package/cancellationToken/cancellationToken.d.ts +8 -0
  5. package/cancellationToken/cancellationToken.d.ts.map +1 -0
  6. package/cancellationToken/serverCancellationToken.d.ts +21 -0
  7. package/cancellationToken/serverCancellationToken.d.ts.map +1 -0
  8. package/cli/_namespaces/lpc.d.ts +2 -0
  9. package/cli/_namespaces/lpc.d.ts.map +1 -0
  10. package/cli/lpc.d.ts +2 -0
  11. package/cli/lpc.d.ts.map +1 -0
  12. package/compiler/LpcConfig.d.ts +17 -0
  13. package/compiler/LpcConfig.d.ts.map +1 -0
  14. package/compiler/_namespaces/lpc.d.ts +49 -0
  15. package/compiler/_namespaces/lpc.d.ts.map +1 -0
  16. package/compiler/_namespaces/lpc.moduleSpecifiers.d.ts +2 -0
  17. package/compiler/_namespaces/lpc.moduleSpecifiers.d.ts.map +1 -0
  18. package/compiler/_namespaces/lpc.performance.d.ts +2 -0
  19. package/compiler/_namespaces/lpc.performance.d.ts.map +1 -0
  20. package/compiler/binder.d.ts +2 -0
  21. package/compiler/binder.d.ts.map +1 -0
  22. package/compiler/builderPublic.d.ts +76 -0
  23. package/compiler/builderPublic.d.ts.map +1 -0
  24. package/compiler/checker.d.ts +2 -0
  25. package/compiler/checker.d.ts.map +1 -0
  26. package/compiler/commandLineParser.d.ts +47 -0
  27. package/compiler/commandLineParser.d.ts.map +1 -0
  28. package/compiler/core.d.ts +3 -0
  29. package/compiler/core.d.ts.map +1 -0
  30. package/compiler/corePublic.d.ts +19 -0
  31. package/compiler/corePublic.d.ts.map +1 -0
  32. package/compiler/debug.d.ts +71 -0
  33. package/compiler/debug.d.ts.map +1 -0
  34. package/compiler/diagnosticInformation.d.ts +518 -0
  35. package/compiler/diagnosticInformation.d.ts.map +1 -0
  36. package/compiler/emitter.d.ts +11 -0
  37. package/compiler/emitter.d.ts.map +1 -0
  38. package/compiler/executeCommandLine.d.ts +15 -0
  39. package/compiler/executeCommandLine.d.ts.map +1 -0
  40. package/compiler/expressionToTypeNode.d.ts +2 -0
  41. package/compiler/expressionToTypeNode.d.ts.map +1 -0
  42. package/compiler/factory/baseNodeFactory.d.ts +2 -0
  43. package/compiler/factory/baseNodeFactory.d.ts.map +1 -0
  44. package/compiler/factory/emitHelper.d.ts +2 -0
  45. package/compiler/factory/emitHelper.d.ts.map +1 -0
  46. package/compiler/factory/emitNode.d.ts +22 -0
  47. package/compiler/factory/emitNode.d.ts.map +1 -0
  48. package/compiler/factory/nodeChildren.d.ts +2 -0
  49. package/compiler/factory/nodeChildren.d.ts.map +1 -0
  50. package/compiler/factory/nodeConverters.d.ts +2 -0
  51. package/compiler/factory/nodeConverters.d.ts.map +1 -0
  52. package/compiler/factory/nodeFactory.d.ts +4 -0
  53. package/compiler/factory/nodeFactory.d.ts.map +1 -0
  54. package/compiler/factory/parenthesizerRules.d.ts +2 -0
  55. package/compiler/factory/parenthesizerRules.d.ts.map +1 -0
  56. package/compiler/factory/utilities.d.ts +2 -0
  57. package/compiler/factory/utilities.d.ts.map +1 -0
  58. package/compiler/factory/utilitiesPublic.d.ts +4 -0
  59. package/compiler/factory/utilitiesPublic.d.ts.map +1 -0
  60. package/compiler/lpcFileHandler.d.ts +10 -0
  61. package/compiler/lpcFileHandler.d.ts.map +1 -0
  62. package/compiler/lpcJsHelpers.d.ts +17 -0
  63. package/compiler/lpcJsHelpers.d.ts.map +1 -0
  64. package/compiler/lpcbuild.d.ts +2 -0
  65. package/compiler/lpcbuild.d.ts.map +1 -0
  66. package/compiler/lpcbuildPublic.d.ts +26 -0
  67. package/compiler/lpcbuildPublic.d.ts.map +1 -0
  68. package/compiler/moduleNameResolver.d.ts +55 -0
  69. package/compiler/moduleNameResolver.d.ts.map +1 -0
  70. package/compiler/moduleSpecifiers.d.ts +2 -0
  71. package/compiler/moduleSpecifiers.d.ts.map +1 -0
  72. package/compiler/nodeTests.d.ts +115 -0
  73. package/compiler/nodeTests.d.ts.map +1 -0
  74. package/compiler/parser.d.ts +65 -0
  75. package/compiler/parser.d.ts.map +1 -0
  76. package/compiler/path.d.ts +2 -0
  77. package/compiler/path.d.ts.map +1 -0
  78. package/compiler/perfLoger.d.ts +2 -0
  79. package/compiler/perfLoger.d.ts.map +1 -0
  80. package/compiler/performance.d.ts +2 -0
  81. package/compiler/performance.d.ts.map +1 -0
  82. package/compiler/performanceCore.d.ts +2 -0
  83. package/compiler/performanceCore.d.ts.map +1 -0
  84. package/compiler/program.d.ts +72 -0
  85. package/compiler/program.d.ts.map +1 -0
  86. package/compiler/resolutionCache.d.ts +6 -0
  87. package/compiler/resolutionCache.d.ts.map +1 -0
  88. package/compiler/resolver.d.ts +1 -0
  89. package/compiler/resolver.d.ts.map +1 -0
  90. package/compiler/scanner.d.ts +85 -0
  91. package/compiler/scanner.d.ts.map +1 -0
  92. package/compiler/sourcemap.d.ts +2 -0
  93. package/compiler/sourcemap.d.ts.map +1 -0
  94. package/compiler/sys.d.ts +56 -0
  95. package/compiler/sys.d.ts.map +1 -0
  96. package/compiler/tracing.d.ts +31 -0
  97. package/compiler/tracing.d.ts.map +1 -0
  98. package/compiler/transformers/declarations.d.ts +2 -0
  99. package/compiler/transformers/declarations.d.ts.map +1 -0
  100. package/compiler/transformers.d.ts +2 -0
  101. package/compiler/transformers.d.ts.map +1 -0
  102. package/compiler/types.d.ts +3284 -0
  103. package/compiler/types.d.ts.map +1 -0
  104. package/compiler/utilities.d.ts +57 -0
  105. package/compiler/utilities.d.ts.map +1 -0
  106. package/compiler/utilitiesPublic.d.ts +213 -0
  107. package/compiler/utilitiesPublic.d.ts.map +1 -0
  108. package/compiler/visitorPublic.d.ts +72 -0
  109. package/compiler/visitorPublic.d.ts.map +1 -0
  110. package/compiler/watch.d.ts +2 -0
  111. package/compiler/watch.d.ts.map +1 -0
  112. package/compiler/watchPublic.d.ts +44 -0
  113. package/compiler/watchPublic.d.ts.map +1 -0
  114. package/compiler/watchUtilities.d.ts +14 -0
  115. package/compiler/watchUtilities.d.ts.map +1 -0
  116. package/config-types.d.ts +33 -0
  117. package/config-types.d.ts.map +1 -0
  118. package/harness/harnessIO.d.ts +4 -0
  119. package/harness/harnessIO.d.ts.map +1 -0
  120. package/lpc/_namespaces/lpc.d.ts +6 -0
  121. package/lpc/_namespaces/lpc.d.ts.map +1 -0
  122. package/lpc/_namespaces/lpc.server.d.ts +2 -0
  123. package/lpc/_namespaces/lpc.server.d.ts.map +1 -0
  124. package/lpc/lpc.d.ts +2 -0
  125. package/lpc/lpc.d.ts.map +1 -0
  126. package/lpcserver/document.d.ts +1 -0
  127. package/lpcserver/document.d.ts.map +1 -0
  128. package/lpcserver/nodeServer.d.ts +25 -0
  129. package/lpcserver/nodeServer.d.ts.map +1 -0
  130. package/lpcserver/protocol.const.d.ts +46 -0
  131. package/lpcserver/protocol.const.d.ts.map +1 -0
  132. package/lpcserver/server.d.ts +3 -0
  133. package/lpcserver/server.d.ts.map +1 -0
  134. package/lpcserver/textRendering.d.ts +14 -0
  135. package/lpcserver/textRendering.d.ts.map +1 -0
  136. package/lpcserver/typeConverters.d.ts +44 -0
  137. package/lpcserver/typeConverters.d.ts.map +1 -0
  138. package/lpcserver/utils.d.ts +14 -0
  139. package/lpcserver/utils.d.ts.map +1 -0
  140. package/package.json +48 -0
  141. package/parse-fluff-docs.d.ts +2 -0
  142. package/parse-fluff-docs.d.ts.map +1 -0
  143. package/parse-ld-docs.d.ts +2 -0
  144. package/parse-ld-docs.d.ts.map +1 -0
  145. package/server/_namespaces/lpc.d.ts +5 -0
  146. package/server/_namespaces/lpc.d.ts.map +1 -0
  147. package/server/_namespaces/lpc.server.d.ts +11 -0
  148. package/server/_namespaces/lpc.server.d.ts.map +1 -0
  149. package/server/_namespaces/lpc.server.protocol.d.ts +2 -0
  150. package/server/_namespaces/lpc.server.protocol.d.ts.map +1 -0
  151. package/server/editorServices.d.ts +261 -0
  152. package/server/editorServices.d.ts.map +1 -0
  153. package/server/project.d.ts +143 -0
  154. package/server/project.d.ts.map +1 -0
  155. package/server/protocol.d.ts +962 -0
  156. package/server/protocol.d.ts.map +1 -0
  157. package/server/scriptInfo.d.ts +53 -0
  158. package/server/scriptInfo.d.ts.map +1 -0
  159. package/server/scriptVersionCache.d.ts +2 -0
  160. package/server/scriptVersionCache.d.ts.map +1 -0
  161. package/server/session.d.ts +150 -0
  162. package/server/session.d.ts.map +1 -0
  163. package/server/types.d.ts +24 -0
  164. package/server/types.d.ts.map +1 -0
  165. package/server/utilities.d.ts +2 -0
  166. package/server/utilities.d.ts.map +1 -0
  167. package/server/utilitiesPublic.d.ts +37 -0
  168. package/server/utilitiesPublic.d.ts.map +1 -0
  169. package/server.d.ts +2 -0
  170. package/server.d.ts.map +1 -0
  171. package/services/_namespaces/lpc.Completions.StringCompletions.d.ts +2 -0
  172. package/services/_namespaces/lpc.Completions.StringCompletions.d.ts.map +1 -0
  173. package/services/_namespaces/lpc.Completions.d.ts +4 -0
  174. package/services/_namespaces/lpc.Completions.d.ts.map +1 -0
  175. package/services/_namespaces/lpc.FindAllReferences.d.ts +3 -0
  176. package/services/_namespaces/lpc.FindAllReferences.d.ts.map +1 -0
  177. package/services/_namespaces/lpc.GoToDefinition.d.ts +2 -0
  178. package/services/_namespaces/lpc.GoToDefinition.d.ts.map +1 -0
  179. package/services/_namespaces/lpc.JsDoc.d.ts +2 -0
  180. package/services/_namespaces/lpc.JsDoc.d.ts.map +1 -0
  181. package/services/_namespaces/lpc.NavigationBar.d.ts +2 -0
  182. package/services/_namespaces/lpc.NavigationBar.d.ts.map +1 -0
  183. package/services/_namespaces/lpc.Rename.d.ts +2 -0
  184. package/services/_namespaces/lpc.Rename.d.ts.map +1 -0
  185. package/services/_namespaces/lpc.SignatureHelp.d.ts +2 -0
  186. package/services/_namespaces/lpc.SignatureHelp.d.ts.map +1 -0
  187. package/services/_namespaces/lpc.SymbolDisplay.d.ts +2 -0
  188. package/services/_namespaces/lpc.SymbolDisplay.d.ts.map +1 -0
  189. package/services/_namespaces/lpc.codefix.d.ts +3 -0
  190. package/services/_namespaces/lpc.codefix.d.ts.map +1 -0
  191. package/services/_namespaces/lpc.d.ts +30 -0
  192. package/services/_namespaces/lpc.d.ts.map +1 -0
  193. package/services/_namespaces/lpc.formatting.d.ts +7 -0
  194. package/services/_namespaces/lpc.formatting.d.ts.map +1 -0
  195. package/services/_namespaces/lpc.textChanges.d.ts +2 -0
  196. package/services/_namespaces/lpc.textChanges.d.ts.map +1 -0
  197. package/services/classifier2020.d.ts +2 -0
  198. package/services/classifier2020.d.ts.map +1 -0
  199. package/services/codefixes/helpers.d.ts +2 -0
  200. package/services/codefixes/helpers.d.ts.map +1 -0
  201. package/services/codefixes/importFixes.d.ts +2 -0
  202. package/services/codefixes/importFixes.d.ts.map +1 -0
  203. package/services/completions.d.ts +2 -0
  204. package/services/completions.d.ts.map +1 -0
  205. package/services/documentRegistry.d.ts +90 -0
  206. package/services/documentRegistry.d.ts.map +1 -0
  207. package/services/exportInfoMap.d.ts +5 -0
  208. package/services/exportInfoMap.d.ts.map +1 -0
  209. package/services/findAllReferences.d.ts +2 -0
  210. package/services/findAllReferences.d.ts.map +1 -0
  211. package/services/formatting/formatting.d.ts +2 -0
  212. package/services/formatting/formatting.d.ts.map +1 -0
  213. package/services/formatting/formattingContext.d.ts +2 -0
  214. package/services/formatting/formattingContext.d.ts.map +1 -0
  215. package/services/formatting/rule.d.ts +2 -0
  216. package/services/formatting/rule.d.ts.map +1 -0
  217. package/services/formatting/rules.d.ts +2 -0
  218. package/services/formatting/rules.d.ts.map +1 -0
  219. package/services/formatting/rulesMap.d.ts +2 -0
  220. package/services/formatting/rulesMap.d.ts.map +1 -0
  221. package/services/formatting/smartIndenter.d.ts +2 -0
  222. package/services/formatting/smartIndenter.d.ts.map +1 -0
  223. package/services/goToDefinition.d.ts +2 -0
  224. package/services/goToDefinition.d.ts.map +1 -0
  225. package/services/importTracker.d.ts +2 -0
  226. package/services/importTracker.d.ts.map +1 -0
  227. package/services/jsDoc.d.ts +2 -0
  228. package/services/jsDoc.d.ts.map +1 -0
  229. package/services/navigationBar.d.ts +2 -0
  230. package/services/navigationBar.d.ts.map +1 -0
  231. package/services/rename.d.ts +2 -0
  232. package/services/rename.d.ts.map +1 -0
  233. package/services/services.d.ts +54 -0
  234. package/services/services.d.ts.map +1 -0
  235. package/services/signatureHelp.d.ts +2 -0
  236. package/services/signatureHelp.d.ts.map +1 -0
  237. package/services/sourcemaps.d.ts +2 -0
  238. package/services/sourcemaps.d.ts.map +1 -0
  239. package/services/stringCompletions.d.ts +2 -0
  240. package/services/stringCompletions.d.ts.map +1 -0
  241. package/services/suggestionDiagnostics.d.ts +2 -0
  242. package/services/suggestionDiagnostics.d.ts.map +1 -0
  243. package/services/symbolDisplay.d.ts +2 -0
  244. package/services/symbolDisplay.d.ts.map +1 -0
  245. package/services/textChanges.d.ts +2 -0
  246. package/services/textChanges.d.ts.map +1 -0
  247. package/services/types.d.ts +901 -0
  248. package/services/types.d.ts.map +1 -0
  249. package/services/utilities.d.ts +3 -0
  250. package/services/utilities.d.ts.map +1 -0
  251. package/src/cli.js +58 -0
  252. package/src/cli.js.map +7 -0
  253. package/src/efuns/fluffos/arrays.h +205 -0
  254. package/src/efuns/fluffos/async.h +84 -0
  255. package/src/efuns/fluffos/buffers.h +80 -0
  256. package/src/efuns/fluffos/calls.h +275 -0
  257. package/src/efuns/fluffos/contrib.h +805 -0
  258. package/src/efuns/fluffos/db.h +125 -0
  259. package/src/efuns/fluffos/driver.h +107 -0
  260. package/src/efuns/fluffos/ed.h +48 -0
  261. package/src/efuns/fluffos/efuns.fluffos.h +75 -0
  262. package/src/efuns/fluffos/external.h +30 -0
  263. package/src/efuns/fluffos/filesystem.h +154 -0
  264. package/src/efuns/fluffos/floats.h +136 -0
  265. package/src/efuns/fluffos/functions.h +104 -0
  266. package/src/efuns/fluffos/general.h +548 -0
  267. package/src/efuns/fluffos/interactive.h +777 -0
  268. package/src/efuns/fluffos/internals.h +455 -0
  269. package/src/efuns/fluffos/lpc-config.json +10 -0
  270. package/src/efuns/fluffos/mappings.h +205 -0
  271. package/src/efuns/fluffos/misc.h +43 -0
  272. package/src/efuns/fluffos/mudlib.h +228 -0
  273. package/src/efuns/fluffos/numbers.h +41 -0
  274. package/src/efuns/fluffos/objects.h +365 -0
  275. package/src/efuns/fluffos/parsing.h +220 -0
  276. package/src/efuns/fluffos/pcre.h +75 -0
  277. package/src/efuns/fluffos/sockets.h +276 -0
  278. package/src/efuns/fluffos/strings.h +542 -0
  279. package/src/efuns/fluffos/system.h +408 -0
  280. package/src/efuns/fluffos/zh-cn/arrays.zh-cn.h +167 -0
  281. package/src/efuns/fluffos/zh-cn/async.zh-cn.h +81 -0
  282. package/src/efuns/fluffos/zh-cn/buffers.zh-cn.h +69 -0
  283. package/src/efuns/fluffos/zh-cn/calls.zh-cn.h +242 -0
  284. package/src/efuns/fluffos/zh-cn/contrib.zh-cn.h +767 -0
  285. package/src/efuns/fluffos/zh-cn/db.zh-cn.h +113 -0
  286. package/src/efuns/fluffos/zh-cn/ed.zh-cn.h +42 -0
  287. package/src/efuns/fluffos/zh-cn/efuns.fluffos.h +76 -0
  288. package/src/efuns/fluffos/zh-cn/external.zh-cn.h +25 -0
  289. package/src/efuns/fluffos/zh-cn/filesystem.zh-cn.h +140 -0
  290. package/src/efuns/fluffos/zh-cn/floats.zh-cn.h +129 -0
  291. package/src/efuns/fluffos/zh-cn/functions.zh-cn.h +87 -0
  292. package/src/efuns/fluffos/zh-cn/general.zh-cn.h +506 -0
  293. package/src/efuns/fluffos/zh-cn/interactive.zh-cn.h +659 -0
  294. package/src/efuns/fluffos/zh-cn/internals.zh-cn.h +356 -0
  295. package/src/efuns/fluffos/zh-cn/mappings.zh-cn.h +188 -0
  296. package/src/efuns/fluffos/zh-cn/misc.zh-cn.h +43 -0
  297. package/src/efuns/fluffos/zh-cn/mudlib.zh-cn.h +190 -0
  298. package/src/efuns/fluffos/zh-cn/numbers.zh-cn.h +36 -0
  299. package/src/efuns/fluffos/zh-cn/objects.zh-cn.h +280 -0
  300. package/src/efuns/fluffos/zh-cn/parsing.zh-cn.h +212 -0
  301. package/src/efuns/fluffos/zh-cn/pcre.zh-cn.h +67 -0
  302. package/src/efuns/fluffos/zh-cn/sockets.zh-cn.h +230 -0
  303. package/src/efuns/fluffos/zh-cn/strings.zh-cn.h +484 -0
  304. package/src/efuns/fluffos/zh-cn/system.zh-cn.h +366 -0
  305. package/src/efuns/ldmud/defines.h +69 -0
  306. package/src/efuns/ldmud/efun.h +10449 -0
  307. package/src/efuns/ldmud/efuns.ldmud.h +87 -0
  308. package/src/efuns/ldmud/lpc-config.json +9 -0
  309. package/src/efuns/ldmud/obsolete.h +2168 -0
  310. package/src/lpc.js +82486 -0
  311. package/src/lpc.js.map +6 -0
  312. package/src/server.js +129 -0
  313. package/src/server.js.map +7 -0
  314. package/types.d.ts +23 -0
  315. package/types.d.ts.map +1 -0
  316. package/utils.d.ts +21 -0
  317. package/utils.d.ts.map +1 -0
@@ -0,0 +1,190 @@
1
+ // mudlib.h
2
+
3
+ /**
4
+ * wizardp() - 确定给定对象是否已执行 enable_wizard()
5
+ *
6
+ * 如果参数已经执行了 enable_wizard(),返回 1。
7
+ *
8
+ */
9
+ int wizardp( object );
10
+
11
+ /**
12
+ * seteuid() - 设置对象的有效用户 ID (euid)
13
+ *
14
+ * 将有效 UID 设置为 'str'。 master.c 中的 valid_seteuid() 控制可以
15
+ * 将对象的 euid 设置为哪些值。
16
+ *
17
+ * 当该值为 0 时,当前对象的 uid 可以通过 export_uid() 改变,仅此而已。
18
+ *
19
+ * 但是当值为 0 时,该对象无法加载或克隆其他对象。
20
+ *
21
+ */
22
+ int seteuid( string str );
23
+
24
+ /**
25
+ * set_privs() - 设置对象的权限字符串
26
+ *
27
+ * 将 'ob' 的权限字符串设置为 'privs'。
28
+ *
29
+ * 该 efun 仅在编译时定义了 PRIVS 时可用。
30
+ *
31
+ */
32
+ void set_privs( object ob, string privs );
33
+
34
+ /**
35
+ * set_living_name() - 为生活对象设置名字
36
+ *
37
+ * 在一个活着的对象上设置一个生活名字。完成此操作后,可以通过 "find_living()" 找到该对象。
38
+ *
39
+ */
40
+ void set_living_name( string name );
41
+
42
+ /**
43
+ * set_light() - 更新或查询对象的光照等级
44
+ *
45
+ * 传递 <light_level_adjustment> 为 0 查询对象的当前光照等级。正数将增加光照等级,而负数将减少光照等级。
46
+ *
47
+ */
48
+ int set_light( int light_level_adjustment );
49
+
50
+ /**
51
+ * set_author - 设置与对象关联的作者。
52
+ *
53
+ * 每个对象都有一个作者和一个域用于跟踪作者和域的统计信息。域只能在
54
+ * master 对象的 domain_file(4) 函数中设置,然而作者则不同。作者可以通过
55
+ * author_file(4) 在 master 对象中初始化为某个默认值,也可以使用 set_author efun 更改。
56
+ *
57
+ * set_author 更改调用该函数的对象的作者。该作者将获得所有未来该对象
58
+ * 影响 mudlib 统计的操作的信用。注意,这可能会导致 "objects" 和 "array_size"
59
+ * 类别中出现一些奇怪的数字,因为对象可能在原始作者的信用下初始化了数组
60
+ * 或创建,但可能会在另一个作者下被销毁或释放正在使用的数组,从而减少
61
+ * 先前未添加那些相同数字的计数。为了解决这个问题,最好仅在 create(4) 内使用
62
+ * set_author,并尽可能在分配任何数组之前使用它。
63
+ *
64
+ */
65
+ void set_author( string author );
66
+
67
+ /**
68
+ * query_privs() - 返回对象的权限字符串
69
+ *
70
+ * 返回对象的权限字符串。权限字符串在编译时通过对 master 对象中的
71
+ * privs_file() 的调用来确定,并可以通过 set_privs() efun 进行更改。
72
+ *
73
+ * 该 efun 仅在编译时定义了 PRIVS 时可用。
74
+ *
75
+ */
76
+ varargs string query_privs( object ob );
77
+
78
+ /**
79
+ * livings() - 返回所有生活对象的数组
80
+ *
81
+ * 返回指向所有生活对象的指针数组(已调用 enable_commands() 的对象)。
82
+ *
83
+ */
84
+ object *livings( void );
85
+
86
+ /**
87
+ * living() - 检测给定对象是否“活着”
88
+ *
89
+ * @returns 如果 `ob` 是一个生活对象(即,如果 `enable_commands()` 已被 `ob` 调用),则返回 true。
90
+ * @param ob - 要检查的对象
91
+ */
92
+ varargs int living( object ob );
93
+
94
+ /**
95
+ * getuid() - 返回对象的用户 ID (uid)
96
+ *
97
+ * 返回对象的用户 ID。对象的 uid 在对象创建时由 creator_file() 函数确定。
98
+ *
99
+ */
100
+ string getuid( object ob );
101
+
102
+ /**
103
+ * geteuid() - 返回对象或函数的有效用户 ID
104
+ *
105
+ * 如果给定一个对象参数,geteuid 返回该对象的有效用户 ID (euid)。如果给定一个
106
+ * 类型为 'function' 的参数,它返回创建该 'function' 变量的对象的 euid。
107
+ * 如果在函数变量构造时,该对象没有 euid,则存储对象的 uid。
108
+ *
109
+ */
110
+ string geteuid( object|function );
111
+
112
+ /**
113
+ * find_living() - 找到与给定 ID 匹配的生活对象
114
+ *
115
+ * 首先查找被标记为生活的对象,并回答 ID <str>。生活对象是调用了
116
+ * enable_commands() 的对象。该对象必须使用 set_living_name() 设置了名称,
117
+ * 以便其名称将被输入到用于加快查找生活对象的哈希表中。
118
+ *
119
+ */
120
+ object find_living( string str );
121
+
122
+ /**
123
+ * export_uid() - 设置另一个对象的 uid
124
+ *
125
+ * 将 <ob> 的 uid 设置为 this_object(). 的有效 uid。仅在 <ob> 的有效 uid 为 0 时可能。
126
+ *
127
+ */
128
+ int export_uid( object ob );
129
+
130
+ /**
131
+ * enable_wizard() - 赋予对象巫师特权
132
+ *
133
+ *
134
+ *
135
+ */
136
+ void enable_wizard( void );
137
+
138
+ /**
139
+ * domain_stats() - 返回域的统计信息
140
+ *
141
+ * domain_stats() 和 author_stats() 都返回存储在映射中的信息。如果没有指定参数,
142
+ * 则返回所有域(或所有作者)的信息,每个域或作者一个映射条目。如果指定了参数,
143
+ * 则返回一个映射,该映射对应于该域或作者,键为:moves, cost, errors,
144
+ * heart_beats, worth, array_size, 和 objects。每个键对应整数值。moves 是进入
145
+ * 给定域的对象移动的数量。cost 是与给定域(或作者)相关的对象累计的评估
146
+ * 数(eval_cost)。errors 是与给定域的对象发生的错误数量。heart_beats 是对
147
+ * 拥有给定域的对象进行的心跳调用的数量。worth 是由 add_worth(3) efunction
148
+ * 维护的值(通常用于跟踪某个巫师给出与收入的多少)。array_size 是所分配数组的
149
+ * 大小(以字节为单位)。objects 是由给定域创建的对象数量。当没有参数调用时,
150
+ * 返回的映射具有如下形式:
151
+ *
152
+ * ([ domain0 : info0, domain1 : info1, ... ])
153
+ *
154
+ * 然后 info0 的形式为:
155
+ *
156
+ * ([ "moves" : moves, "cost" : cost, "errors" : errors,
157
+ * "heart_beats" : heart_beats, "worth" : worth,
158
+ * "array_size" : array_size, "objects" : objects ])
159
+ *
160
+ * 当带参数调用时,返回的映射将具有 info0 的形式。
161
+ *
162
+ */
163
+ mapping domain_stats( void|string domain );
164
+
165
+ /**
166
+ * author_stats() - 返回作者的统计信息
167
+ *
168
+ * domain_stats() 和 author_stats() 都返回存储在映射中的信息。如果没有指定参数,
169
+ * 则返回所有域(或所有作者)的信息,每个域或作者一个映射条目。如果指定了参数,
170
+ * 则返回一个映射,该映射对应于该域或作者,键为:moves, cost, errors,
171
+ * heart_beats, worth, array_size, 和 objects。每个键对应整数值。moves 是进入
172
+ * 给定域的对象移动的数量。cost 是与给定域(或作者)相关的对象累计的评估
173
+ * 数(eval_cost)。errors 是与给定域的对象发生的错误数量。heart_beats 是对
174
+ * 拥有给定域的对象进行的心跳调用的数量。worth 是由 add_worth(3) efunction
175
+ * 维护的值(通常用于跟踪某个巫师给出与收入的多少)。array_size 是所分配数组的
176
+ * 大小(以字节为单位)。objects 是由给定域创建的对象数量。当没有参数调用时,
177
+ * 返回的映射具有如下形式:
178
+ *
179
+ * ([ domain0 : info0, domain1 : info1, ... ])
180
+ *
181
+ * 然后 info0 的形式为:
182
+ *
183
+ * ([ "moves" : moves, "cost" : cost, "errors" : errors,
184
+ * "heart_beats" : heart_beats, "worth" : worth,
185
+ * "array_size" : array_size, "objects" : objects ])
186
+ *
187
+ * 当带参数调用时,返回的映射将具有 info0 的形式。
188
+ *
189
+ */
190
+ mapping author_stats( void|string domain );
@@ -0,0 +1,36 @@
1
+ // numbers.h
2
+
3
+ /**
4
+ * to_float - 将一个整数转换为浮点数
5
+ *
6
+ * to_float() 调用返回与整数 'i' 等值的 'float' 类型的数字。
7
+ *
8
+ */
9
+ float to_float(int i);
10
+ float to_float(string i);
11
+
12
+ /**
13
+ * secure_random() - 返回一个伪随机数,这个数应该是不可预测的,但可能略慢。
14
+ *
15
+ * 返回一个从范围 [0 .. (n -1)](包括)内的密码学安全随机数。
16
+ *
17
+ * 在 Linux 和 OSX 上,该函数显式使用来自 /dev/urandom 的随机性,在 Windows 上则是实现定义。
18
+ *
19
+ */
20
+ int secure_random( int n );
21
+
22
+ /**
23
+ * random() - 返回一个伪随机数,这个数适合一般模拟,但是可能是可预测的。
24
+ *
25
+ * 返回一个从范围 [0 .. (n -1)](包括)内的伪随机数。
26
+ *
27
+ */
28
+ int random( int n );
29
+
30
+ /**
31
+ * intp() - 确定给定变量是否是整数
32
+ *
33
+ * 如果 'arg' 是一个整数,则返回 1,否则返回零(0)。
34
+ *
35
+ */
36
+ int intp( mixed arg );
@@ -0,0 +1,280 @@
1
+ // objects.h
2
+
3
+ /**
4
+ * virtualp() - 确定给定变量是否指向虚拟对象
5
+ *
6
+ * @返回 如果参数是 objectp() 并且设置了 O_VIRTUAL 标志则返回 true (1)。驱动程序为通过 master.c 中的 'compile_object' 方法创建的对象设置 O_VIRTUAL 标志。
7
+ *
8
+ */
9
+ varargs int virtualp( object arg );
10
+
11
+ /**
12
+ *
13
+ *
14
+ * 向房间 'ob' 中的所有对象发送消息 'str'。 'ob' 也可以是房间的文件名(字符串)。如果指定了 'exclude',则排除数组中的所有对象将不会接收此消息。
15
+ *
16
+ */
17
+ void tell_room( mixed ob, string str, object *exclude );
18
+
19
+ /**
20
+ * tell_object() - 向对象发送消息
21
+ *
22
+ * 向对象 'ob' 发送消息 'str'。如果它是一个交互对象(玩家),则消息将发送给他,否则将发送到本地函数 "catch_tell()"。
23
+ *
24
+ */
25
+ void tell_object( object ob, string str );
26
+
27
+ /**
28
+ * set_hide() - 设置可隐藏对象的隐藏标志
29
+ *
30
+ * 将对象的隐藏标志设置为 'flag',该标志应为 0 或 1(关闭隐藏或开启隐藏)。只有那些 'master()->valid_hide(ob)' 返回 true 的对象才能使自己变为隐藏。当对象被隐藏时,只有其他可隐藏对象才能通过 find_object() 或返回多个对象的 efuns(如 users()、children()、all_inventory() 等)找到该对象。
31
+ *
32
+ */
33
+ void set_hide( int flag );
34
+
35
+ /**
36
+ * set_heart_beat() - 启用或禁用对象的心跳
37
+ *
38
+ * 传递 'flag' 作为 0 会禁用对象的心跳。传递 'flag' 为 1 会导致 heart_beat() 在每个心跳(由你的本地管理员定义的一个变量,一般为 2 秒)中被调用一次。传递大于 1 的 'flag' 通常会设置两次调用 heart_beat() 之间的心跳数量,然而你的本地管理员可能已将系统配置为将任何大于 1 的 'flag' 视为 1。
39
+ *
40
+ */
41
+ int set_heart_beat( int flag );
42
+
43
+ /**
44
+ * save_object() - 将对象中的变量值保存到文件
45
+ *
46
+ * 将此对象中所有非静态变量的值保存在文件 'name' 中。master 对象中的 valid_write() 决定这是否被允许。可选的第二个参数是一个位字段:如果位 0 为 1,则变量为零(0)也会被保存(通常情况下,它们不会被保存)。对象变量总是保存为 0。如果位 1 为 1,则保存文件将被压缩。
47
+ *
48
+ */
49
+ varargs int save_object( string name, int flag );
50
+
51
+ /**
52
+ * restore_object() - 通过文件恢复对象中的变量值
53
+ *
54
+ * 从文件 'name' 恢复当前对象的变量值。如果可选的第二个参数为 1,则所有非静态变量在恢复之前都不会被清零(通常情况下,它们会被清零)。
55
+ *
56
+ * 在出现错误的情况下,受影响的变量将保持不变并给出错误。
57
+ *
58
+ */
59
+ varargs int restore_object( string name, int flag );
60
+
61
+ /**
62
+ * reload_object() - 将对象恢复到刚加载的状态
63
+ *
64
+ * 当在 'ob' 上调用 reload_object() 时,所有驱动程序维护的属性将被重新初始化(心跳、延迟调用、光照、阴影等),所有变量将被重新初始化,并且会调用 create()。它具有类似于销毁/重新加载对象的效果,然而没有进行磁盘访问或解析。
65
+ *
66
+ */
67
+ void reload_object( object ob );
68
+
69
+ /**
70
+ * query_heart_beat() - 查询对象的心跳状态
71
+ *
72
+ * 返回在 '对象' 上调用 set_heart_beat() 时传递的值。如果未给出对象,则默认为当前对象。如果对象没有心跳,则返回 0。
73
+ *
74
+ * 如果未提供对象,则此 efun 将默认为 this_object()。
75
+ *
76
+ */
77
+ varargs int query_heart_beat( object );
78
+
79
+ /**
80
+ * present() - 通过 id 查找对象
81
+ *
82
+ * 如果第一个参数是字符串,第二个参数缺失,则使用 id() 应用在对象的环境中搜索一个对象,如果它返回 1,表示匹配。
83
+ *
84
+ * 如果第一个参数是字符串,第二个参数是对象,则只在该对象的库存中搜索目标,使用与上面相同的策略。
85
+ *
86
+ * "foo 1" 意味着库存中的第一个 "foo"。库存中的第一个是最后一个进入的对象。
87
+ *
88
+ * 如果第一个参数是对象,第二个参数缺失,则检查对象是否在该对象的库存中,或者作为该对象环境库存中的兄弟,返回对象的父对象。
89
+ *
90
+ * 如果第一个参数是对象,第二个参数是对象,则检查 object1 是否在 object2 的库存中,如果为真,则返回 object1。
91
+ *
92
+ * 如果对象是隐藏的(通过 set_hide()),并且当前对象不可隐藏,则返回 0。
93
+ *
94
+ */
95
+ varargs object present( mixed str, object ob );
96
+
97
+ /**
98
+ * objects - 返回所有加载对象的数组
99
+ *
100
+ * 列出泥中的每一个已加载对象的数组由 objects() 返回。注意,如果系统的最大数组大小设置得过低,objects() 将截断其数组,这样可能会使其不太有用。
101
+ *
102
+ * 如果给定可选的 'func' 参数,则在 this_object() 中将调用 func(),并以每个已加载的对象作为参数。如果函数返回非零,则该对象将由 objects() 返回,否则不会。
103
+ *
104
+ * 如果给出了 'f',它将像上面那样在所有对象上被调用。例如,objects( (: clonep :) ) 将返回所有存在的克隆列表。
105
+ *
106
+ */
107
+ object *objects( void | string | function func );
108
+
109
+ /**
110
+ * objectp() - 确定给定变量是否为对象
111
+ *
112
+ * @返回 {arg 是对象} 如果 'arg' 是对象则返回 1。
113
+ *
114
+ * @returns {arg is object} 1 if 'arg' is an object.
115
+ */
116
+ int objectp( mixed arg );
117
+
118
+ /**
119
+ * next_inventory() - 返回同一库存中的下一个对象
120
+ *
121
+ * 返回与 'ob' 在同一库存中的下一个对象。
122
+ *
123
+ * 警告:如果对象 'ob' 被 "move_object()" 移动,则 "next_inventory()" 将从新的库存中返回一个对象。
124
+ *
125
+ */
126
+ object next_inventory( object ob );
127
+
128
+ /**
129
+ * new() - 加载对象/类的新副本
130
+ *
131
+ * 从 `filename` 克隆一个新对象,并给予它一个新的唯一名称。返回新对象。可选地,额外参数可以传递给 new(),这些参数将传递给新对象中的 'create()' 应用。
132
+ *
133
+ * 如果第一个参数是类,则会创建该类的新副本并返回。可选地,可以传递额外参数给 new(),这些将用于初始化返回类中的值。如果您传递参数给类,则必须指定成员名称以及希望初始化的成员值。
134
+ *
135
+ * ### 对象示例:
136
+ * ```lpc
137
+ * object ob = new("/obj/torch") ; // 克隆一个火把对象
138
+ * object money = new("/obj/money", 10, "dollars" ) ; // 克隆一个货币对象并设置初始值
139
+ * ```
140
+ *
141
+ * ### 类示例:
142
+ * ```lpc
143
+ * class ClassPerson {
144
+ * string name ;
145
+ * int age ;
146
+ * }
147
+ *
148
+ * class ClassPerson person = new(class ClassPerson) ;
149
+ * person.name = "Bob" ;
150
+ * person.age = 42 ;
151
+ * // 或者
152
+ * class ClassPerson person = new(class ClassPerson, name: "Bob", age: 42) ;
153
+ * ```
154
+ */
155
+ varargs object new(string filename, mixed args...);
156
+ varargs class ClassName new(class ClassName, mixed args... ) ;
157
+
158
+ /**
159
+ * move_object() - 将当前对象移动到另一个环境
160
+ *
161
+ * 将当前对象移动到对象 `dest` 中。 dest 应该是一个文件名或一个对象。
162
+ *
163
+ */
164
+ void move_object( mixed dest );
165
+
166
+ /**
167
+ * master() - 返回主对象
168
+ *
169
+ * 返回指向主对象的指针。
170
+ * @returns {__LPC_CONFIG_LIBFILES_MASTER}
171
+ */
172
+ object master( void );
173
+
174
+ /**
175
+ * load_object() - 通过文件名查找或加载对象
176
+ *
177
+ * 找到文件名为 'str' 的对象。如果文件存在且对象尚未加载,则加载并返回该对象(如果可能)。
178
+ *
179
+ */
180
+ object load_object( string str );
181
+
182
+ /**
183
+ * first_inventory() - 返回对象库存中的第一个项目
184
+ *
185
+ * 返回 <ob> 的库存中的第一个对象,其中 <ob> 可以是一个对象或对象的文件名。
186
+ *
187
+ * 如果未提供对象,则该 efun 将默认为 this_object()。
188
+ *
189
+ */
190
+ object first_inventory( mixed ob );
191
+
192
+ /**
193
+ * find_object() - 通过文件名查找对象
194
+ *
195
+ * 找到文件名为 'str' 的对象,该文件名可以通过 file_name() 返回的格式引用克隆对象。
196
+ *
197
+ * 如果 'flag' 为 1,find_object() 将表现得像 load_object() 一样。
198
+ *
199
+ */
200
+ object find_object( string str, void | int flag );
201
+
202
+ /**
203
+ * file_name() - 获取对象的文件名
204
+ *
205
+ * file_name() 返回 <ob> 被加载的文件名。如果对象是一个克隆对象,则 file_name() 将不是实际的磁盘文件名,而是对象最初被克隆的文件名,后面附加一个井号 (#) 及对象实例号。对象实例号在游戏启动时从 0 开始,并在每次克隆对象时增加 1,因此该数字对于每个克隆对象都是唯一的。<ob> 如果未指定,则默认为 this_object()。
206
+ *
207
+ */
208
+ varargs string file_name( object ob );
209
+
210
+ /**
211
+ * environment() - 返回对象的环境
212
+ *
213
+ * 返回 <ob> 的包含对象(环境)。如果不提供参数,则 <ob> 默认为 this_object()。
214
+ *
215
+ */
216
+ varargs object environment( object ob );
217
+
218
+ /**
219
+ * destruct() - 从游戏中移除对象
220
+ *
221
+ * 完全销毁并移除对象 'ob'。在调用 destruct() 之后,将不再存在任何全局变量,只有局部变量和参数。如果 'ob' 是 this_object(),执行将继续,但最好立即返回一个值。
222
+ *
223
+ * 如果未提供对象,则该 efun 将默认为 this_object()。
224
+ *
225
+ */
226
+ varargs void destruct( object ob );
227
+
228
+ /**
229
+ * deep_inventory() - 返回对象的嵌套库存
230
+ *
231
+ * 返回一个包含 <ob> 的库存及其包含的所有对象的数组,以及那些对象的库存中的所有对象,依此类推。
232
+ *
233
+ * 如果未提供对象,则该 efun 将默认为 this_object()。
234
+ *
235
+ */
236
+ varargs object *deep_inventory( object ob );
237
+
238
+ /**
239
+ * clonep() - 确定给定变量是否指向一个克隆对象
240
+ *
241
+ * 如果参数是 objectp() 且设置了 O_CLONE 标志,则返回 true (1)。驱动程序为通过 new(3) (clone_object(3)) 创建的对象设置 O_CLONE 标志。clonep() efun 在调用主副本(通过 call_other(3) 加载的对象)时不会返回 true。请注意,如果 clonep() 返回 true,则 file_name() 将返回一个包含 '#' 的字符串。clonep() 默认为 this_object()。
242
+ *
243
+ */
244
+ int clonep( void | mixed arg );
245
+
246
+ /**
247
+ * clone_object() - 加载对象的副本
248
+ *
249
+ * 从定义 <name> 加载一个新对象,并赋予其一个新的唯一名称。返回新对象。具有非零环境的对象不能被克隆。可以选择性地将额外参数传递给 clone_object(),这些参数将传递给新对象中的 'create()'。
250
+ *
251
+ * object ob = clone_object("/obj/torch") ; // 克隆一个火把对象
252
+ * object money = clone_object("/obj/money", 10, "dollars" ) ; // 克隆一个钱币对象并设置初始值
253
+ *
254
+ */
255
+ object clone_object( string name, mixed args... );
256
+
257
+ /**
258
+ * children() - 返回从给定对象克隆的对象数组。
259
+ *
260
+ * 此 efunction 返回从文件名为 'name' 的对象克隆的对象数组,以及如果已加载的对象 'name' 本身。使用 children() 的一个示例是查找所有从用户对象克隆的对象:
261
+ *
262
+ * ```
263
+ * object *list;
264
+ *
265
+ * list = children("/obj/user");
266
+ * ```
267
+ * 这使您能够找到所有用户(包括网络死亡和交互用户,而 users() 只报告交互用户)。
268
+ *
269
+ */
270
+ object *children( string name );
271
+
272
+ /**
273
+ * all_inventory() - 返回对象的库存
274
+ *
275
+ * 返回一个包含 <ob> 中的所有对象的数组。
276
+ *
277
+ * 如果未传递 ob,则该参数默认为 this_object()。
278
+ *
279
+ */
280
+ varargs object *all_inventory( object ob );