3once_per_request(G):- must_run_html(G),!. 4 5ensure_readable_html:- 6 once_per_request(format('~s',[' 7<style> 8body { 9 //background: #000; 10 //mix-blend-mode: difference; 11} 12 13p { 14 background: #ffffff; 15 background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAA1BMVEVilQmZw+RvAAAAAXRSTlOF3TSvyQAAAD1JREFUeNrtwQENAAAAwqD3T20PBxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBmnQgAAd4aVNwAAAAASUVORK5CYII="); 16 background-repeat: repeat-y; 17 background-size: 0% auto; 18 color: #ffffff; 19 padding: 5px; 20 text-align: center; 21 border: 1px solid #3E8096; 22 display: block; 23} 24</style>'])). 25 26ensure_swish_app_html:- in_pp(http),!. 27ensure_swish_app_html:- in_pp(swish),!. 28ensure_swish_app_html:- !. 29ensure_swish_app_html:- 30 once_per_request(format('\n<div id="hidden_swish_app" style="display:none; visibility:hidden"> 31 <header class="navbar navbar-default"> 32 <div class="container pull-left"> 33 <div class="navbar-header"> 34 <a href="/" class="pengine-logo"> </a> 35 <a href="/" class="swish-logo"> </a> 36 </div> 37 <nav id="navbar"></nav> 38 </div> 39 </header> 40 <div id="content" class="container"> 41 <div class="tile horizontal" data-split="60%"> 42 <div class="prolog-editor"></div> 43 <div class="tile vertical" data-split="70%"> 44 <div class="prolog-runners"></div> 45 <div class="prolog-query"></div> 46 </div> 47 </div> 48 </div> 49 </div>')). 50 51 :- 53once_per_request(( 54write(' 55<div> 56<cssmenu class="cssmenu"> 57 <li class="cssmenu-item"> 58 <button type="button" class="cssmenu-btn"> <i class="fa fa-folder-open"></i> <span class="cssmenu-text">Open</span> </button> 59 </li> 60 <li class="cssmenu-item disabled"> 61 <button type="button" class="cssmenu-btn"> <span class="cssmenu-text">Open in New Window</span> </button> 62 </li> 63 <li class="cssmenu-separator"></li> 64 <li class="cssmenu-item"> 65 <button type="button" class="cssmenu-btn"> <i class="fa fa-reply"></i> <span class="cssmenu-text">Reply</span> </button> 66 </li> 67 <li class="cssmenu-item"> 68 <button type="button" class="cssmenu-btn"> <i class="fa fa-star"></i> <span class="cssmenu-text">Favorite</span> </button> 69 </li> 70 <li class="cssmenu-item subcssmenu"> 71 <button type="button" class="cssmenu-btn"> <i class="fa fa-users"></i> <span class="cssmenu-text">Social</span> </button> 72 <cssmenu class="cssmenu"> 73 <li class="cssmenu-item"> 74 <button type="button" class="cssmenu-btn"> <i class="fa fa-comment"></i> <span class="cssmenu-text">Comment</span> </button> 75 </li> 76 <li class="cssmenu-item subcssmenu"> 77 <button type="button" class="cssmenu-btn"> <i class="fa fa-share"></i> <span class="cssmenu-text">Share</span> </button> 78 <cssmenu class="cssmenu"> 79 <li class="cssmenu-item"> 80 <button type="button" class="cssmenu-btn"> <i class="fa fa-twitter"></i> <span class="cssmenu-text">Twitter</span> </button> 81 </li> 82 <li class="cssmenu-item"> 83 <button type="button" class="cssmenu-btn"> <i class="fa fa-facebook-official"></i> <span class="cssmenu-text">Facebook</span> </button> 84 </li> 85 <li class="cssmenu-item"> 86 <button type="button" class="cssmenu-btn"> <i class="fa fa-google-plus"></i> <span class="cssmenu-text">Google Plus</span> </button> 87 </li> 88 <li class="cssmenu-item"> 89 <button type="button" class="cssmenu-btn"> <i class="fa fa-envelope"></i> <span class="cssmenu-text">Email</span> </button> 90 </li> 91 </cssmenu> 92 </li> 93 </cssmenu> 94 </li> 95 <li class="cssmenu-separator"></li> 96 <li class="cssmenu-item"> 97 <button type="button" class="cssmenu-btn"> <i class="fa fa-download"></i> <span class="cssmenu-text">Save</span> </button> 98 </li> 99 <li class="cssmenu-item"> 100 <button type="button" class="cssmenu-btn"> <i class="fa fa-edit"></i> <span class="cssmenu-text">Rename</span> </button> 101 </li> 102 <li class="cssmenu-item"> 103 <button type="button" class="cssmenu-btn"> <i class="fa fa-trash"></i> <span class="cssmenu-text">Delete</span> </button> 104 </li> 105</cssmenu> 106<div class="container"> 107 <h1>JS & CSS Context Cssmenu</h1> 108</div> 109<script> 110var cssmenu = document.querySelector(".cssmenu"); 111 112function showCssmenu(x, y){ 113 cssmenu.style.left = x + "px"; 114 cssmenu.style.top = y + "px"; 115 cssmenu.classList.add("show-cssmenu"); 116} 117 118function hideCssmenu(){ 119 cssmenu.classList.remove("show-cssmenu"); 120} 121 122function onContextCssmenu(e){ 123 e.preventDefault(); 124 showCssmenu(e.pageX, e.pageY); 125 document.addEventListener("click", onClick, false); 126} 127 128function onClick(e){ 129 hideCssmenu(); 130 document.removeEventListener("click", onClick); 131} 132 133document.addEventListener("contextmenu", onContextCssmenu, false); 134</script> 135<style type="text/css"> 136html { 137 // width: 100%; 138 // height: 100%; 139 // background: radial-gradient(circle, #fff 0%, #a6b9c1 100%) no-repeat; 140} 141 142//.container { 143// left: 0; 144// margin: auto; 145// position: absolute; 146// top: 20%; 147// width: 100%; 148// text-align: center; 149//} 150 151//h1, h2 { color: #555; } 152 153/* Cssmenu */ 154 155 156.cssmenu { 157 position: absolute; 158 width: 200px; 159 padding: 2px; 160 margin: 0; 161 border: 1px solid #bbb; 162 background: #eee; 163 background: -webkit-linear-gradient(to bottom, #fff 0%, #e5e5e5 100px, #e5e5e5 100%); 164 background: linear-gradient(to bottom, #fff 0%, #e5e5e5 100px, #e5e5e5 100%); 165 z-index: 100; 166 border-radius: 3px; 167 box-shadow: 1px 1px 4px rgba(0,0,0,.2); 168 opacity: 0; 169 -webkit-transform: translate(0, 15px) scale(.95); 170 transform: translate(0, 15px) scale(.95); 171 transition: transform 0.1s ease-out, opacity 0.1s ease-out; 172 pointer-events: none; 173} 174 175.cssmenu-item { 176 display: block; 177 position: relative; 178 margin: 0; 179 padding: 0; 180 white-space: nowrap; 181} 182 183.cssmenu-btn { 184 background: none; 185 line-height: normal; 186 overflow: visible; 187 -webkit-user-select: none; 188 -moz-user-select: none; 189 -ms-user-select: none; 190 display: block; 191 width: 100%; 192 color: #444; 193 font-family: "Roboto", sans-serif; 194 font-size: 13px; 195 text-align: left; 196 cursor: pointer; 197 border: 1px solid transparent; 198 white-space: nowrap; 199 padding: 6px 8px; 200 border-radius: 3px; 201} 202 .cssmenu-btn::-moz-focus-inner, .cssmenu-btn::-moz-focus-inner { 203 border: 0; 204 padding: 0; 205} 206 207.cssmenu-text { margin-left: 25px; } 208 209.cssmenu-btn .fa { 210 position: absolute; 211 left: 8px; 212 top: 50%; 213 -webkit-transform: translateY(-50%); 214 transform: translateY(-50%); 215} 216 217.cssmenu-item:hover > .cssmenu-btn { 218 color: #fff; 219 outline: none; 220 background-color: #2E3940; 221 background: -webkit-linear-gradient(to bottom, #5D6D79, #2E3940); 222 background: linear-gradient(to bottom, #5D6D79, #2E3940); 223 border: 1px solid #2E3940; 224} 225 226.cssmenu-item.disabled { 227 opacity: .5; 228 pointer-events: none; 229} 230 231.cssmenu-item.disabled .cssmenu-btn { cursor: default; } 232 233.cssmenu-separator { 234 display: block; 235 margin: 7px 5px; 236 height: 1px; 237 border-bottom: 1px solid #fff; 238 background-color: #aaa; 239} 240 241.cssmenu-item.subcssmenu::after { 242 content: ""; 243 position: absolute; 244 right: 6px; 245 top: 50%; 246 -webkit-transform: translateY(-50%); 247 transform: translateY(-50%); 248 border: 5px solid transparent; 249 border-left-color: #808080; 250} 251 252.cssmenu-item.subcssmenu:hover::after { border-left-color: #fff; } 253 254.cssmenu .cssmenu { 255 top: 4px; 256 left: 99%; 257} 258 259.show-cssmenu, .cssmenu-item:hover > .cssmenu { 260 opacity: 1; 261 -webkit-transform: translate(0, 0) scale(1); 262 transform: translate(0, 0) scale(1); 263 pointer-events: auto; 264} 265 266.cssmenu-item:hover > .cssmenu { 267 -webkit-transition-delay: 100ms; 268 transition-delay: 300ms; 269} 270</style> 271</div> 272 273'))). 274 275 276 :- 278once_per_request(( 279write(' 280 <div id="content"> 281 <h1>jQuery Social Selection Examples</h1><div id="carbon-block"></div> 282 <div id="search" class="demo"> 283 <h3>Search Engines</h3> 284 <p>Lorem ipsum dolor sit amet </p> 285 </div> 286 <div id="share" class="demo"> 287 <h3>Social Share</h3> 288 <p>Lorem ipsum dolor sit amet </p> 289 </div> 290 <div id="visit" class="demo"> 291 <h3>Quick links</h3> 292 <p>Lorem ipsum dolor sit amet </p> 293 </div> 294 <div class="demo"> 295 <h3>Customize The Plugin</h3> 296 <div id="custom0" class="demo demoGroup"> 297 <h4>Default</h4> 298 <p>Lorem ipsum dolor sit amet </p> 299 </div> 300 <div id="custom1" class="demo demoGroup"> 301 <h4>Custom Icons</h4> 302 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 303 </div> 304 <div id="custom2" class="demo demoGroup"> 305 <h4>5 Icons Per Row</h4> 306 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 307 </div> 308 <div id="custom3" class="demo demoGroup"> 309 <h4>Change Search Keywords</h4> 310 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 311 </div> 312 <div id="custom4" class="demo demoGroup"> 313 <h4>Localization</h4> 314 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 315 </div> 316 <div id="custom5" class="demo demoGroup"> 317 <h4>Add New Platform</h4> 318 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> 319 </div> 320 </div> 321 <div id="new" class="demo"> 322 <h3>QR Code</h3> 323 <p>Lorem ipsum dolor sit amet </p> 324 </div> 325 <div id="html" class="demo"> 326 <h3>HTML</h3> 327 <p>You can also use pure HTML to initiation the plugin.</p> 328 <selecton-tooltip data-target="#html" data-comps="foo"> 329 <component-search> 330 <google></google> 331 </component-search> 332 <component-share> 333 <facebook></facebook> 334 </component-share> 335 <component-visit data-github="abc"></component-visit> 336 <component-foo data-icon-path="/swish/lm_xref/pixmapx/selected/img/qrcode.svg" data-text="123"> 337 <bar1 data-name="Bar1" data-link="{{bar1}}" data-icon-path="/swish/lm_xref/pixmapx/selected/img/wechat.svg" data-require="qrcode"></bar1> 338 </component-foo> 339 </selecton-tooltip> 340 </div> 341 </div> 342 343 344<script type="text/javascript"> 345 346(function() { 347 let search = { 348 components: { 349 search: { 350 enabled: "all" 351 }, 352 share: { 353 enabled: "none" 354 }, 355 visit: { 356 enabled: "none" 357 }, 358 } 359 } 360 let share = { 361 components: { 362 search: { 363 enabled: "none" 364 }, 365 share: { 366 enabled: "all" 367 }, 368 visit: { 369 enabled: "none" 370 }, 371 } 372 } 373 let visit = { 374 dev: true, 375 components: { 376 search: { 377 enabled: "none" 378 }, 379 share: { 380 enabled: "none" 381 }, 382 visit: { 383 enabled: "all" 384 }, 385 } 386 } 387 let custom = { 388 components: { 389 search: { 390 enabled: "all" 391 }, 392 share: { 393 enabled: "none" 394 }, 395 visit: { 396 enabled: "none" 397 }, 398 } 399 } 400 let newComp = { 401 components: { 402 search: { 403 enabled: ["google", "bing"] 404 }, 405 share: { 406 enabled: ["facebook", "line"] 407 }, 408 visit: { 409 facebook: "default", 410 youtube: "default" 411 }, 412 413 foo: { 414 enabled: ["bar1"], 415 url: "google.com", 416 iconPath: "/swish/lm_xref/pixmapx/selected/img/qrcode.svg", 417 platforms: { 418 bar1: { 419 link: "{{url}}", 420 iconPath: "/swish/lm_xref/pixmapx/selected/img/wechat.svg", 421 require: ["qrcode"] 422 } 423 } 424 } 425 }, 426 locale: { 427 components: { 428 foo: { 429 title: "Share QR Code to {{platform}}", 430 platforms: { 431 bar1: "Bar1" 432 }, 433 } 434 } 435 }, 436 } 437 let customConfig = [ 438 {}, 439 { 440 components: { 441 search: { 442 iconPath: "/swish/lm_xref/pixmapx/selected/img/wikipedia.svg", 443 platforms: { 444 wikipedia: { 445 iconPath: "/swish/lm_xref/pixmapx/selected/img/search.svg" 446 } 447 } 448 }, 449 } 450 }, 451 { itemsPerColumn: 5 }, 452 { 453 components: { 454 search: { 455 text: "Hello World", 456 } 457 } 458 }, 459 { 460 locale: { 461 components: { 462 search: { 463 title: "{{platform}} Custom Search", 464 } 465 }, 466 platforms: { 467 google: "New Google" 468 } 469 } 470 }, 471 { 472 components: { 473 search: { 474 platforms: { 475 google2: { 476 link: "https://www.google.com/search?q={{text}}", 477 name: "Google2", 478 iconPath: "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" 479 }, 480 }, 481 } 482 } 483 }, 484 ] 485 $("#default").socialSelection(newComp); 486 // $("#body").socialSelection(newComp); 487 //$("#table4").socialSelection(newComp); 488 489 $("#search").socialSelection(search); 490 $("#share").socialSelection(share); 491 $("#visit").socialSelection(visit); 492 $("#new").socialSelection(newComp); 493 customConfig.map((v, i) => { 494 $("#custom" + i).socialSelection($.fn.deepExtend(v, custom)); 495 }) 496 497</script> 498 499'))). 500 501 502one_2_three_blur:- 503once_per_request(( 504write(' 505<script type="text/javascript"> 506 507if (!window.x) { 508 window.x = {}; 509} 510 511window.x.Selector = {}; 512window.x.Selector.getSelected = function() { 513 var t = ""; 514 if (window.getSelection) { 515 t = window.getSelection(); 516 } else if (document.getSelection) { 517 t = document.getSelection(); 518 } else if (document.selection) { 519 t = document.selection.createRange().text; 520 } 521 return t; 522} 523 524var pageX; 525var pageY; 526var selectedX; 527var lastSelectedText; 528 529$(document).ready(function() { 530 $(document).bind("mouseup", function() { 531 532 533 var selectedText = x.Selector.getSelected(); 534 535 if(selectedText != ""){ 536 537 document.execCommand("copy") 538 lastSelectedText = selectedText; 539 540 $("div.selectionTooltip:first").css({"left": pageX - 105,"top" : pageY - 175}).fadeIn(200); 541 $newdiv1.prepend($("div.selectionTooltip").clone()) 542 $newdiv1.prepend("<p>"+selectedText+"</p>"); 543 $newdiv1.css({ 544 "left": pageX - 55, 545 "top" : pageY - 155 546 }).fadeIn(200); 547 548 549 } else { 550 // $("ul.tools").fadeOut(200); 551 //$("div.selectionTooltip").fadeOut(200); 552 } 553 }); 554 555 $(document).on("mousedown", function(e){ 556 pageX = e.pageX; 557 pageY = e.pageY; 558 if (e.buttons == 2) { 559 //debugger; 560 if(lastSelectedText!=null) { 561 //document.execCommand("Paste", null, null); // 562 document.execCommand("paste") 563 //lastSelectedText = null; 564 } 565 } 566 567 568 }); 569 570 571 function getClipboard() { 572 var pasteTarget = document.createElement("div"); 573 pasteTarget.contentEditable = true; 574 var actElem = document.activeElement.appendChild(pasteTarget).parentNode; 575 pasteTarget.focus(); 576 document.execCommand("Paste", null, null); 577 var paste = pasteTarget.innerText; 578 actElem.removeChild(pasteTarget); 579 return paste; 580 }; 581}); 582</script> 583'))). 584 585 586 587 588 589 590 591ensure_collapsable_styles:- 592once_per_request(pformat_write('<style> 593.collapsible { 594 background-color: #777; 595 color: white; 596 cursor: pointer; 597 padding: 18px; 598 width: 100%; 599 border: none; 600 text-align: left; 601 outline: none; 602 font-size: 15px; 603} 604 605.active, .collapsible:hover { 606 background-color: #555; 607} 608 609.collapsible:after { 610 content: "\\002B"; 611 color: white; 612 font-weight: bold; 613 float: right; 614 margin-left: 5px; 615} 616 617.active:after { 618 content: "\\2212"; 619} 620 621.collapsed-c { 622 padding: 0 18px; 623 max-height: 0; 624 overflow: hidden; 625 transition: max-height 0.2s ease-out; 626 background-color: #f1f1f1; 627} 628 629</style> 630 631')). 632 633ensure_collapsable_script:- 634once_per_request(pformat_write(' 635<script> 636var coll = document.getElementsByClassName("collapsible"); 637var i; 638 639for (i = 0; i < coll.length; i++) { 640 coll[i].addEventListener("click", function(e) { 641 this.classList.toggle("active"); 642 e.preventDefault(); 643 var content = this.nextElementSibling; 644 if (content.style.maxHeight){ 645 content.style.maxHeight = null; 646 } else { 647 content.style.maxHeight = content.scrollHeight + "px"; 648 } 649 }); 650} 651</script> ')). 652 653 654 655 656 657 :- 659 (once_per_request(write(' 660 661 <div class="displayBox"> 662 663 <div class="header"><h1>Example Pop-Up Icon Menus</h1></div> 664 665 <div class="icon-box-top"> 666 <div id="defaultTest" style="margin-left: 75px"> 667 <i class="fa fa-cog leftBorder rightBorder"></i> 668 </div> 669 <p class="icon-text"> 670 Menu set with default settings and nothing passed through to the plugin. Will result in a menu with 2 items that give information on how to set up menus. 671 <br /> 672 Contains 3 icons. Uses Font Awesome icons. 673 </p> 674 </div> 675 676 <div class="icon-box"> 677 <div id="myPopUp" name="menu1"> 678 <i class="fa fa-cog leftBorder rightBorder"></i> 679 </div> 680 <p class="icon-text"> 681 Menu using a settings icon. Default styling color, position on top, activated by click, animation: bounce, disappears on click outside of the menu. Set to show an alert box but could be set to a link. 682 <br /> 683 Contains 4 icons. Uses Font Awesome icons. 684 </p> 685 </div> 686 687 <div class="icon-box"> 688 <div id="myPopUp2"> 689 <i class="fa fa-bars leftBorder rightBorder"></i> 690 </div> 691 <p class="icon-text"> 692 Menu using a hamburger icon. Red theme styling, position to the left, activated by click, animation: flip, disappears on click outside of the menu. Set to show/hide an area of the screen. 693 <br /> 694 Contains 3 icons. Uses Font Awesome icons. 695 </p> 696 </div> 697 698 <div class="icon-box"> 699 <div id="myPopUp3"> 700 <i class="fa fa-thumbs-up leftBorder rightBorder"></i> 701 </div> 702 <p class="icon-text"> 703 Menu using a thumbs-up icon. Custom styling, position to the right, activated by hover, animation: grow, appears on mouseover the menu and disappears on mouse leaving the popup menu. Set to append a div to the screen. 704 <br /> 705 Contains 5 icons. Uses Google Material Icons. Button can be moved around the screen for a movable menu thanks to jQuery"s "draggable" ui (if you link it). 706 </p> 707 </div> 708<p/> 709 <div class="icon-box"> 710 <div id="myPopUp4"> 711 <i class="material-icons leftBorder rightBorder">more_vert</i> 712 </div> 713 <p class="icon-text"> 714 Menu using 3 vertical dots. Green theme styling, position to the bottom, activated by click, animation: standard, disappears only when clicked again (not outside of the icon). Set to show an alert box but could be set to a link. 715 <br /> 716 Contains 5 icons. Uses Google Material Icons. Button can be moved around the screen for a movable menu thanks to jQuery"s "draggable" ui (if you link it). 717 </p> 718 </div> 719 720 <div class="icon-box"> 721 <p id="textPopup">Menu</p> 722 <p class="menuText"> 723 A text type menu. Blue theme styling, position to the bottom, activated by hover, animation: standard, appears on mouseover the menu and disappears on mouse leaving the popup menu. Set to show an alert box but could be set to a link. 724 <br /> 725 Contains 4 icons. Uses Font Awesome icons. 726 </p> 727 </div> 728 729 </div> 730 731 <div id="starWarsIcons" title="Click the icon to clear it."> 732 <div id="rebel"> 733 <i class="fa fa-ra swIcon"></i> 734 <p>Rebel Alliance</p> 735 </div> 736 737 <div id="empire"> 738 <i class="fa fa-empire swIcon"></i> 739 <p>Empire</p> 740 </div> 741 742 <div id="firstOrderIcon"> 743 <i class="fa fa-first-order swIcon"></i> 744 <p>First Order</p> 745 </div> 746 747 </div>'))). 748 749 750world_snap:- once_per_request((world_snap(X),print_html_term_tree(X))). 751 752world_snap([perceptq(x(player,i1),[]),props(x(cup,i1),[traits([cup,object]), 753 shape=cup,default_rel=in,opened=f,can_be(open,t),has_rel(in,t),inherited(container),inherited(physical), 754 can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]), 755 inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),inherited(flask),inherited(cup), 756 co([shape=cup,traits([cup]),inherit(cup,t),sp(nouns,[cup])])]),props(x(cabinate,i1),[shape=cabinate,traits([cabinate]), 757default_rel=in,opened=f,can_be(open,t),has_rel(in,t),inherited(container),can_be(take,f), 758class_desc(["kind is an Immobile Object","kind is corporial","kind is normally thinkable","kind is furnature"]), 759inherited(untakeable),can_be(touch,t),inherited(fully_corporial),has_rel(on,t),cleanliness=clean,inherited(surface), 760can_be(examine,t),inherited(thinkable),inherited(physical),inherited(furnature),volume_capacity=10,inherited(cabinate), 761 co([shape=cabinate,traits([cabinate]),inherit(cabinate,t),sp(nouns,[cabinate])])]),props(x(plate,i1),[traits([plate,object]), 762 shape=plate,has_rel(on,t),default_rel=on,inherited(surface),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean, 763 class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial), 764 can_be(examine,t),inherited(thinkable),inherited(moveable),volume_capacity=2,breaks_into=shards,inherited(plate), 765 co([shape=plate,traits([plate]),inherit(plate,t),sp(nouns,[plate])])]),props(x(sink,i1),[traits([sink,object]),shape=sink, 766 cleanliness=dirty,opened=t,can_be(close,f),can_be(open,f),inherited(uncloseable),default_rel=in,has_rel(in,t),inherited(container), 767 can_be(move,t),class_desc(["kind is an Movable Object","kind is an Immobile Object","kind is corporial","kind is normally thinkable","kind is furnature"]),inherited(moveable),inherited(flask),can_be(take,f),inherited(untakeable),can_be(touch,t),inherited(fully_corporial),has_rel(on,t),inherited(surface),can_be(examine,t),inherited(thinkable),inherited(physical),inherited(furnature),volume_capacity=5,inherited(sink),co([shape=sink,traits([sink]),inherit(sink,t),sp(nouns,[sink])])]),props(x(lamp,i1),[traits([lamp,object]),shape=lamp,name="shiny brass lamp",powered=t,can_be(switch,t),inherited(light),inherited(brass),inherited(shiny),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),emitting(see,light),effect(switch(on),setprop(x(lamp,i1),emitting(see,light))),effect(switch(off),delprop(x(lamp,i1),emitting(see,light))),breaks_into=broken_lamp,inherited(lamp),co([shape=lamp,traits([lamp]),inherit(lamp,t),sp(nouns,[lamp])])]),props(x(flour,i1),[traits([flour,object]),shape=flour,can_be(eat,t),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),inherited(food),ammount=some,inherited(measurable),inherited(flour),co([shape=flour,traits([flour]),inherit(flour,t),sp(nouns,[flour])])]),props(x(bowl,i1),[traits([bowl,object]),shape=bowl,opened=t,can_be(close,f),can_be(open,f),inherited(uncloseable),default_rel=in,has_rel(in,t),inherited(container),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),inherited(flask),volume_capacity=2,breaks_into=shards,name="porcelain bowl",desc="This is a modest glass cooking bowl with a yellow flower motif glazed into the outside surface.",inherited(bowl),co([shape=bowl,traits([bowl]),inherit(bowl,t),sp(nouns,[bowl])])]),props(x(box,i1),[traits([box,object]),shape=box,volume_capacity=11,default_rel=in,opened=f,can_be(open,t),has_rel(in,t),inherited(container),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),can_be(burn,t),inherited(paper),inherited(cardboard),inherited(box),co([shape=box,traits([box]),inherit(box,t),sp(nouns,[box])])]),props(x(table,i1),[shape=(table),traits([table]),has_rel(on,t),cleanliness=clean,inherited(surface),inherited(physical),default_rel=on,inherited(table),co([shape=(table),traits([table]),inherit(table,t),sp(nouns,[table])])]),props(x(table_leg,i1),[shape=table_leg,traits([table_leg]),inherited(table_leg),co([shape=table_leg,traits([table_leg]),inherit(table_leg,t),sp(nouns,[table_leg])])]),props(x(brklamp,i1),[traits([brklamp,object]),shape=brklamp,name="definately broken",effect(switch(on),true),effect(switch(off),true),nominals(broken),inherited(dented),inherited(broken),effect(hit,[print_("Hit brklamp"),setprop(x(brklamp,i1),inherit(broken))]),powered=t,can_be(switch,t),inherited(light),inherited(brass),inherited(shiny),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),emitting(see,light),breaks_into=broken_lamp,inherited(lamp),inherited(brklamp),co([shape=brklamp,traits([brklamp]),inherit(brklamp,t),sp(nouns,[brklamp])])]),props(x(apple,i1),[shape=apple,traits([apple]),inherited(apple),co([shape=apple,traits([apple]),inherit(apple,t),sp(nouns,[apple])])]),props(x(crate,i1),[traits([crate,object]),shape=crate,default_rel=in,opened=f,can_be(open,t),has_rel(in,t),inherited(container),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),volume_capacity=13,breaks_into=splinters,can_be(burn,t),inherited(wooden),inherited(crate),co([shape=crate,traits([crate]),inherit(crate,t),sp(nouns,[crate])])]),props(x(screendoor,i1),[shape=screendoor,traits([screendoor]),door_to(kitchen),door_to(garden),class_desc(["kind is an Immobile Object","kind is furnature","kind is normally thinkable","kind is corporial"]),inherited(untakeable),has_rel(on,t),default_rel=on,inherited(surface),inherited(physical),inherited(furnature),can_be(open,t),can_be(close,t),opened=f,can_be(touch,t),can_be(examine,t),inherited(thinkable),cleanliness=clean,inherited(fully_corporial),can_be(take,f),inherited(door),inherited(screendoor),co([shape=screendoor,traits([screendoor]),inherit(screendoor,t),sp(nouns,[screendoor])])]),props(x(fireplace,i1),[shape=fireplace,traits([fireplace]),has_rel(on,f),has_rel(over,t),opened=t,can_be(close,f),can_be(open,f),default_rel=in,has_rel(in,t), 768 inherited(container),inherited(uncloseable),volume_capacity=20,can_be(take,f),class_desc(["kind is an Immobile Object","kind is corporial","kind is normally thinkable","kind is furnature"]),inherited(untakeable),can_be(touch,t),inherited(fully_corporial),cleanliness=clean,inherited(surface),can_be(examine,t),inherited(thinkable),inherited(physical),inherited(furnature),inherited(fireplace),co([shape=fireplace,traits([fireplace]),inherit(fireplace,t),sp(nouns,[fireplace])])]),props(x(videocamera,i1),[shape=videocamera,traits([videocamera]),inherited(memorize_perceptq),can_be(switch,t),effect(switch(on),setprop(x(videocamera,i1),powered=t)),effect(switch(off),setprop(x(videocamera,i1),powered=f)),powered=t,has_sense(see),breaks_into=broken_videocam,inherited(videocamera),co([shape=videocamera,traits([videocamera]),inherit(videocamera,t),sp(nouns,[videocamera])])]),memories(x(videocamera,i1),[spropOf(memories,x(videocamera,i1)),structure_label(mem(x(videocamera,i1))),timestamp(0,5848.7),current_goals(_29854,[]),goals_skipped(_29854,[]),goals_satisfied(_29854,[]),intent(_29854,[act3(look,x(videocamera,i1),[])]),inst(x(videocamera,i1))]),perceptq(x(videocamera,i1),[]),props(x(shovel,i1),[shape=shovel,traits([shovel]),inherited(shovel),co([shape=shovel,traits([shovel]),inherit(shovel,t),sp(nouns,[shovel])])]),props(x(mushroom,i1),[traits([mushroom,object]),shape=mushroom,name="speckled mushroom",inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),ammount=some,inherited(measurable),inherited(food),inherited(fungus),inherited(toadstool),inherited(speckled),initial("A speckled mushroom grows out of the sodden earth, on a long stalk."),desc="The mushroom is capped with blotches, and you aren't at all sure it's not a toadstool.",can_be(eat,t),before(eat,(random100=<30,die("It was poisoned!");"yuck!")),after(take,(initial,"You pick the mushroom, neatly cleaving its thin stalk.")),inherited(mushroom),co([shape=mushroom,traits([mushroom]),inherit(mushroom,t),sp(nouns,[mushroom])])]),props(x(water,i1),[shape=water,traits([water]),inherited(water),co([shape=water,traits([water]),inherit(water,t),sp(nouns,[water])])]),props(x(fountain,i1),[traits([fountain,object]),shape=fountain,volume_capacity=150,desc="this is a place",inherited(here),can_be(move,f),has_rel(fn(exit,_30660),t),inherited(place),cleanliness=dirty,opened=t,can_be(close,f),can_be(open,f),inherited(uncloseable),default_rel=in,has_rel(in,t),inherited(container),class_desc(["kind is an Movable Object","kind is an Immobile Object","kind is corporial","kind is normally thinkable","kind is furnature"]),inherited(moveable),inherited(flask),can_be(take,f),inherited(untakeable),can_be(touch,t),inherited(fully_corporial),has_rel(on,t),inherited(surface),can_be(examine,t),inherited(thinkable),inherited(physical),inherited(furnature),inherited(sink),inherited(fountain),co([shape=fountain,traits([fountain]),inherit(fountain,t),sp(nouns,[fountain])])]),props(x(rock,i1),[shape=rock,traits([rock]),inherited(rock),co([shape=rock,traits([rock]),inherit(rock,t),sp(nouns,[rock])])]),props(x(locker,i1),[traits([locker,object]),shape=locker,default_rel=in,can_be(open,t),has_rel(in,t),inherited(container),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),volume_capacity=13,can_be(burn,f),inherited(metal),opened=f,inherited(locker),co([shape=locker,traits([locker]),inherit(locker,t),sp(nouns,[locker])])]),props(x(shelf,i1),[shape=shelf,traits([shelf]),can_be(take,f),class_desc(["kind is an Immobile Object","kind is corporial","kind is normally thinkable","kind is furnature"]),inherited(untakeable),can_be(touch,t),inherited(fully_corporial),has_rel(on,t),default_rel=on,cleanliness=clean,inherited(surface),can_be(examine,t),inherited(thinkable),inherited(physical),inherited(furnature),inherited(shelf),co([shape=shelf,traits([shelf]),inherit(shelf,t),sp(nouns,[shelf])])]),props(x(living_room,i1),[shape=living_room,traits([living_room]),volume_capacity=10000,default_rel=in,desc="this is a place",has_rel(in,t),inherited(here),can_be(move,f),can_be(take,f),has_rel(fn(exit,_31872),t),inherited(place),inherited(living_room),co([shape=living_room,traits([living_room]),inherit(living_room,t),sp(nouns,[living_room])])]),props(x(dining_room,i1),[shape=dining_room,traits([dining_room]),volume_capacity=10000,default_rel=in,desc="this is a place",has_rel(in,t),inherited(here),can_be(move,f),can_be(take,f),has_rel(fn(exit,_32090),t),inherited(place),inherited(dining_room),co([shape=dining_room,traits([dining_room]),inherit(dining_room,t),sp(nouns,[dining_room])])]),props(x(garden,i1),[shape=garden,traits([garden]),volume_capacity=10000,default_rel=in,desc="this is a place",has_rel(in,t),inherited(here),can_be(move,f),can_be(take,f),has_rel(fn(exit,_32308),t),inherited(place),cant_go($agent,up,"You lack the ability to fly."),inherited(garden),co([shape=garden,traits([garden]),inherit(garden,t),sp(nouns,[garden])])]),props(x(basement,i1),[shape=basement,traits([basement]),volume_capacity=10000,default_rel=in,desc="this is a place",has_rel(in,t),inherited(here),can_be(move,f),can_be(take,f),has_rel(fn(exit,_32544),t),inherited(place),dark=t,inherited(basement),co([shape=basement,traits([basement]),inherit(basement,t),sp(nouns,[basement])])]),props(x(wrench,i1),[traits([wrench,object]),shape=wrench,inherited(physical),can_be(move,t),class_desc(["kind is an Movable Object","kind is normally thinkable","kind is corporial"]),inherited(moveable),can_be(touch,t),can_be(examine,t),inherited(thinkable),cleanliness=clean,inherited(fully_corporial),inherited(shiny),inherited(wrench),co([shape=wrench,traits([wrench]),inherit(wrench,t),sp(nouns,[wrench])])]),props(x(coins,i1),[traits([coins,object]),shape=coins,inherited(physical),can_be(move,t),class_desc(["kind is an Movable Object","kind is normally thinkable","kind is corporial"]),inherited(moveable),can_be(touch,t),can_be(examine,t),inherited(thinkable),cleanliness=clean,inherited(fully_corporial),inherited(shiny),ammount=some,inherited(measurable),inherited(coins),co([shape=coins,traits([coins]),inherit(coins,t),sp(nouns,[coins])])]),props(x(bag,i1),[traits([bag,object]),shape=bag,volume_capacity=10,default_rel=in,opened=f,can_be(open,t),has_rel(in,t),inherited(container),inherited(physical),can_be(move,t),can_be(touch,t),cleanliness=clean,class_desc(["kind is corporial","kind is normally thinkable","kind is an Movable Object"]),inherited(fully_corporial),can_be(examine,t),inherited(thinkable),inherited(moveable),inherited(bag),co([shape=bag,traits([bag]),inherit(bag,t),sp(nouns,[bag])])]),props(x(watch,i1),[shape=watch,traits([watch]),inherited(watch),co([shape=watch,traits([watch]),inherit(watch,t),sp(nouns,[watch])])]),props(x(player,i1),[traits([player,console]),shape=player,name=x(player,i1),look_depth=3,user_mode=2,access_level=admin,inherited(physical),inherited(console),knows_verbs(eat,t),has_rel(worn_by,t),has_rel(held_by,t),model_depth=3,mass=50,volume=50,has_sense(see),knows_verbs(examine,t),inherited(actor),inherited(perceptive),class_desc(["When entering a new area the Agent will automatically\n get an overview of the env (without purposeful looking)","Sensory percepts that discover new objects request further details (notice dirty plates are in the sink)","kind is corporial","kind is normally thinkable","direct inheriters are completely noncorporial","kind is both partly corporial and non-corporial"]),inherited(autolook),inherited(autoscan),can_be(touch,t),cleanliness=clean,inherited(fully_corporial),inherit(fully_corporial,t),can(examine)=f,can_be(examine,t),inherited(thinkable),inherited(noncorporial),inherited(partly_noncorporial),inherited(character),can_be(switch(off),f),powered=t,inherited(humanoid),inherited(player),co([shape=player,traits([player]),inherit(player,t),sp(nouns,[player])])]),memories(x(player,i1),[spropOf(memories,x(player,i1)),structure_label(mem(x(player,i1))),timestamp(0,5848.6),current_goals(_34146,[]),goals_skipped(_34146,[]),goals_satisfied(_34146,[]),intent(_34146,[act3(look,x(player,i1),[])]),inst(x(player,i1))]),props(x(kitchen,i1),[shape=kitchen,traits([kitchen]),volume_capacity=10000,default_rel=in,desc="this is a place",has_rel(in,t),inherited(here),can_be(move,f),can_be(take,f),has_rel(fn(exit,_34354),t),inherited(place),inherited(kitchen),co([shape=kitchen,traits([kitchen]),inherit(kitchen,t),sp(nouns,[kitchen])])]),props(x(floyd,i1),[traits([floyd,object]),shape=floyd,name="Floyd the robot",powered=f,knows_verbs(eat,f),inherited(impulsive),class_desc(["like Floyd the robot will, instances will automatically use its planner\n about planning to decide on what to do","kind is an Movable Object","When entering a new area the Agent will automatically\n get an overview of the env (without purposeful looking)","Sensory percepts that discover new objects request further details (notice dirty plates are in the sink)","kind is corporial","kind is normally thinkable","direct inheriters are completely noncorporial","kind is both partly corporial and non-corporial"]),inherited(autonomous),emitting(see,light),mass=200,inherited(metallic),desc="Your classic robot: metallic with glowing red eyes, enthusiastic but not very clever.",can_be(switch,t),iza(memorizer),inherited(physical),can_be(move,t),inherited(moveable),inherited(shiny),has_rel(worn_by,t),has_rel(held_by,t),model_depth=3,volume=50,has_sense(see),knows_verbs(examine,t),inherited(actor),inherited(perceptive),inherited(autolook),inherited(autoscan),can_be(touch,t),cleanliness=clean,inherited(fully_corporial),inherit(fully_corporial,t),can(examine)=f,can_be(examine,t),inherited(thinkable),inherited(noncorporial),inherited(partly_noncorporial),inherited(character),effect(switch(on),setprop(x(floyd,i1),powered=t)),effect(switch(off),setprop(x(floyd,i1),powered=f)),inherited(robot),inherited(floyd),co([shape=floyd,traits([floyd]),inherit(floyd,t),sp(nouns,[floyd])])]),perceptq(x(floyd,i1),[]),memories(x(floyd,i1),[spropOf(memories,x(floyd,i1)),structure_label(mem(x(floyd,i1))),timestamp(0,5848.6),current_goals(_35136,[]),goals_skipped(_35136,[]),goals_satisfied(_35136,[]),intent(_35136,[act3(look,x(floyd,i1),[])]),inst(x(floyd,i1))]),props(x(pantry,i1),[shape=pantry,traits([pantry]),volume_capacity=1000,inherited(closet),nominals(kitchen),desc="You're in a dark kitchen pantry.",dark=t,default_rel=in,has_rel(in,t),inherited(here),can_be(move,f),can_be(take,f),has_rel(fn(exit,_35376),t),inherited(place),inherited(pantry),co([shape=pantry,traits([pantry]),inherit(pantry,t),sp(nouns,[pantry])])]),h(spatial,in,x(floyd,i1),x(pantry,i1)),h(spatial,in,x(player,i1),x(kitchen,i1)),h(spatial,worn_by,x(watch,i1),x(player,i1)),h(spatial,held_by,x(bag,i1),x(player,i1)),h(spatial,in,x(coins,i1),x(bag,i1)),h(spatial,held_by,x(wrench,i1),x(floyd,i1)),h(spatial,fn(exit,north),x(kitchen,i1),x(pantry,i1)),h(spatial,fn(exit,south),x(pantry,i1),x(kitchen,i1)),h(spatial,fn(exit,down),x(pantry,i1),x(basement,i1)),h(spatial,fn(exit,up),x(basement,i1),x(pantry,i1)),h(spatial,fn(exit,south),x(kitchen,i1),x(garden,i1)),h(spatial,fn(exit,north),x(garden,i1),x(kitchen,i1)),h(spatial,fn(exit,west),x(kitchen,i1),x(dining_room,i1)),h(spatial,fn(exit,east),x(dining_room,i1),x(kitchen,i1)),h(spatial,fn(exit,west),x(dining_room,i1),x(living_room,i1)),h(spatial,fn(exit,east),x(living_room,i1),x(dining_room,i1)),h(spatial,in,x(shelf,i1),x(pantry,i1)),h(spatial,in,x(locker,i1),x(pantry,i1)),h(spatial,in,x(rock,i1),x(garden,i1)),h(spatial,in,x(rock,2),x(garden,i1)),h(spatial,in,x(fountain,i1),x(garden,i1)),h(spatial,in,x(water,i1),x(fountain,i1)),h(spatial,in,x(mushroom,i1),x(garden,i1)),h(spatial,in,x(shovel,i1),x(basement,i1)),h(spatial,in,x(videocamera,i1),x(living_room,i1)),h(spatial,in,x(fireplace,i1),x(living_room,i1)),h(spatial,in,x(screendoor,i1),x(kitchen,i1)),h(spatial,in,x(crate,i1),x(kitchen,i1)),h(spatial,in,x(apple,i1),x(crate,i1)),h(spatial,in,x(screendoor,i1),x(garden,i1)),h(spatial,in,x(brklamp,i1),x(garden,i1)),h(spatial,on,x(table,i1),x(table_leg,i1)),h(spatial,on,x(box,i1),x(table,i1)),h(spatial,in,x(bowl,i1),x(box,i1)),h(spatial,in,x(flour,i1),x(bowl,i1)),h(spatial,in,x(table,i1),x(kitchen,i1)),h(spatial,on,x(lamp,i1),x(table,i1)),h(spatial,in,x(sink,i1),x(kitchen,i1)),h(spatial,in,x(plate,i1),x(sink,i1)),h(spatial,in,x(cabinate,i1),x(kitchen,i1)),h(spatial,in,x(cup,i1),x(cabinate,i1)),type_props(broken_videocam,[can_be(switch,f),powered=f,inherit(videocamera,t)]),type_props(videocamera,[inherit(memorizer,t),inherit(perceptq,t),inherit(memorize_perceptq,t),can_be(switch,t),effect(switch(on),setprop($self,powered=t)),effect(switch(off),setprop($self,powered=f)),powered=t,has_sense(see),breaks_into=broken_videocam]),type_props(wrench,[inherit(shiny,t)]),type_props(table,[inherit(surface,t),inherit(physical,t),default_rel=on]),type_props(shelf,[inherit(surface,t),inherit(physical,t),inherit(furnature,t)]),type_props(surface,[has_rel(on,t),default_rel=on,inherit(physical,t),cleanliness=clean]),type_props(broken_lamp,[name="dented brass lamp",inherit(light,t),traits(brass),inherit(broken,t),inherit(dented,t),can_be(switch,t),effect(switch(on),true),effect(switch(off),true)]),type_props(lamp,[name="shiny brass lamp",powered=t,can_be(switch,t),inherit(light,t),inherit(brass,t),inherit(shiny,t),inherit(moveable,t),emitting(see,light),effect(switch(on),setprop($self,emitting(see,light))),effect(switch(off),delprop($self,emitting(see,light))),breaks_into=broken_lamp]),type_props(flour,[inherit(food,t),inherit(measurable,t)]),type_props(coins,[inherit(shiny,t),inherit(measurable,t)]),type_props(shiny,[inherit(shiny,t),inherit(moveable,t),inherit(fully_corporial,t)]),type_props(measurable,[inherit(measurable,t),ammount=some]),type_props(fountain,[volume_capacity=150,inherit(place,t),inherit(sink,t)]),type_props(cabinate,[inherit(container,t),inherit(furnature,t),volume_capacity=10]),type_props(uncloseable,[opened=t,can_be(close,f),can_be(open,f),inherit(container,t)]),type_props(sink,[cleanliness=dirty,inherit(uncloseable,t),inherit(flask,t),inherit(furnature,t),volume_capacity=5]),type_props(paper,[can_be(burn,t)]),type_props(cardboard,[inherit(paper,t)]),type_props(metal,[can_be(burn,f)]),type_props(wooden,[breaks_into=splinters,can_be(burn,t)]),type_props(locker,[inherit(container,t),inherit(moveable,t),volume_capacity=13,inherit(metal,t),opened=f]),type_props(crate,[inherit(container,t),inherit(moveable,t),volume_capacity=13,inherit(wooden,t),opened=t]),type_props(box,[opened=f,volume_capacity=11,inherit(container,t),inherit(moveable,t),inherit(cardboard,t)]),type_props(fireplace,[has_rel(on,f),has_rel(over,t),inherit(uncloseable,t),volume_capacity=20,inherit(furnature,t)]),type_props(plate,[inherit(surface,t),inherit(moveable,t),volume_capacity=2,breaks_into=shards,cleanliness=dirty]),type_props(bowl,[inherit(uncloseable,t),inherit(flask,t),volume_capacity=2,breaks_into=shards,cleanliness=dirty,name="porcelain bowl",desc="This is a modest glass cooking bowl with a yellow flower motif glazed into the outside surface."]),type_props(flask,[inherit(physical,t),inherit(container,t),opened=t,inherit(moveable,t)]),type_props(cup,[inherit(flask,t)]),type_props(bag,[volume_capacity=10,inherit(container,t),inherit(moveable,t)]),type_props(container,[default_rel=in,opened=f,can_be(open,t),has_rel(in,t)]),type_props(place,[volume_capacity=10000,default_rel=in,desc="this is a place",has_rel(in,t),inherit(here,t),can_be(move,f),can_be(take,f),has_rel(fn(exit,_38384),t)]),type_props(perceptq,[inherit(no_perceptq,f)]),type_props(no_perceptq,[inherit(perceptq,f)]),type_props(natural_force,[knows_verbs(eat,f),can_be(touch,f),has_rel(held_by,f),has_rel(worn_by,f),has_sense(see),inherit(noncorporial,t),inherit(actor,t)]),type_props(robot,[knows_verbs(eat,f),inherit(autonomous,t),emitting(see,light),volume=50,mass=200,inherit(robot,t),inherit(metallic,t),desc="Your classic robot: metallic with glowing red eyes, enthusiastic but not very clever.",can_be(switch,t),iza(memorizer),inherit(robot,t),inherit(shiny,t),inherit(character,t),powered=t,effect(switch(on),setprop($self,powered=t)),effect(switch(off),setprop($self,powered=f))]),type_props(actor,[knows_verbs(examine,t),inherit(partly_noncorporial,t)]),type_props(character,[has_rel(worn_by,t),has_rel(held_by,t),model_depth=3,mass=50,volume=50,has_sense(see),inherit(perceptq,t),inherit(memorizer,t),inherit(actor,t),inherit(autoscan,t),inherit(partly_noncorporial,t)]),type_props(autolook,[inherit(autolook,t),class_desc(["When entering a new area the Agent will automatically\n get an overview of the env (without purposeful looking)"])]),type_props(autoscan,[inherit(perceptive,t),inherit(autolook,t),class_desc(["Sensory percepts that discover new objects request further details (notice dirty plates are in the sink)"])]),type_props(decider_plugin,[traits(decider),inherit(nomicmu_plugin,t),class_desc(["plugins that contain decide_action hooks"])]),type_props(nomicmu_plugin,[inherit(plugin,t),inherit(unthinkable,t),prefix='$error'("required config var"),class_desc(["Nomicmu plugin"])]),type_props(decider,[class_desc(["agents of this type/class call decide_action/3 hooks (and per plugin)"])]),type_props(autonomous,[inherit(autoscan,t),inherit(impulsive,t),class_desc(["like Floyd the robot will, instances will automatically use its planner\n about planning to decide on what to do"])]),type_props(humanoid,[knows_verbs(eat,t),volume=50,mass=50,inherit(character,t),inherit(memorizer,t),can_be(switch(off),f),powered=t]),type_props(console,[inherit(physical,t),traits([console]),inherit(player,t)]),type_props(player,[name= $self,model_depth=3,inherit(character,t),inherit(autoscan,t),look_depth=3,user_mode=2,access_level=admin,inherit(console,t),inherit(humanoid,t)]),type_props(telnet,[inherit(remote,t),inherit(player,t),inherit(player,t)]),type_props(floyd,[name="Floyd the robot",powered=f,inherit(autonomous,t),inherit(robot,t)]),type_props(furnature,[can_be(examine,t),inherit(furnature,t),inherit(untakeable,t),inherit(fully_corporial,t),inherit(surface,t),inherit(thinkable,t),inherit(physical,t),class_desc(["kind is furnature"])]),type_props(untakeable,[inherit(untakeable,t),can_be(take,f),class_desc(["kind is an Immobile Object"])]),type_props(moveable,[can_be(examine,t),inherit(physical,t),inherit(moveable,t),traits(object),can_be(move,t),inherit(fully_corporial,t),inherit(thinkable,t),class_desc(["kind is an Movable Object"])]),type_props(fully_corporial,[can_be(touch,t),can_be(examine,t),inherit(thinkable,t),cleanliness=clean,inherit(fully_corporial,t),class_desc(["kind is corporial"])]),type_props(partly_noncorporial,[inherit(fully_corporial,t),inherit(partly_noncorporial,t),inherit(noncorporial,t),class_desc(["kind is both partly corporial and non-corporial"])]),type_props(only_conceptual,[inherit(only_conceptual,t),inherit(noncorporial,t),inherit(thinkable,t),class_desc(["kind is only conceptual"])]),type_props(noncorporial,[can(examine)=f,can_be(touch,f),inherit(thinkable,t),inherit(noncorporial,t),inherit(fully_corporial,f),class_desc(["direct inheriters are completely noncorporial"])]),type_props(thinkable,[can_be(examine,t),inherit(thinkable,t),class_desc(["kind is normally thinkable"])]),type_props(unthinkable,[can_be(examine,f),inherit(unthinkable,t),class_desc(["kind is normally unthinkable"])]),type_props(door,[inherit(furnature,t),can_be(open,t),can_be(close,t),opened=f,inherit(door,t),inherit(fully_corporial,t),can_be(take,f)]),type_props(mushroom,[name="speckled mushroom",inherit(food,t),inherit(mushroom,t),inherit(fungus,t),inherit(toadstool,t),inherit(speckled,t),initial("A speckled mushroom grows out of the sodden earth, on a long stalk."),desc="The mushroom is capped with blotches, and you aren't at all sure it's not a toadstool.",can_be(eat,t),before(eat,(random100=<30,die("It was poisoned!");"yuck!")),after(take,(initial,"You pick the mushroom, neatly cleaving its thin stalk."))]),type_props(broken,[name="definately broken",effect(switch(on),true),effect(switch(off),true),can_be(switch,t),nominals(broken),inherit(broken,t),inherit(dented,t)]),type_props(screendoor,[door_to(kitchen),door_to(garden),opened=f,inherit(door,t)]),type_props(brklamp,[inherit(broken,t),name="possibly broken lamp",effect(switch(on),print_(_40786,"Switch is flipped")),effect(hit,[print_("Hit brklamp"),setprop($self,inherit(broken))]),inherit(lamp,t)]),type_props(pantry,[volume_capacity=1000,inherit(closet,t),nominals(kitchen),desc="You're in a dark kitchen pantry.",dark=t,inherit(place,t)]),type_props(living_room,[inherit(place,t)]),type_props(kitchen,[inherit(place,t),desc="cooking happens here"]),type_props(garden,[inherit(place,t),cant_go($agent,up,"You lack the ability to fly."),desc="this is the garden",cant_go($agent,_41050,"The fence surrounding the garden is too tall and solid to pass.")]),type_props(dining_room,[inherit(place,t)]),type_props(basement,[inherit(place,t),desc="This is a very dark basement.",dark=t]), 769 type_props(food,[can_be(eat,t),inherit(moveable,t),inherit(measurable,t)]),structure_label(istate)]). 770 771show_map_legend :- once_per_request(write_html( 772'<table border=0 cellpadding=5 bgcolor="#000000"><tr><td> 773<pre><div style="background-color:#000000;float:left"><code><font size=2 face="Courier New, FixedSys, Lucida Console, Courier New, Courier"><font color="#0"> 774</font><font color="#C0C0C0">The map key is: 775 776 </font><font color="#FF00FF">#</font><font color="#C0C0C0"> - You --- - North/south wall 777 </font><font color="#FF0000">*</font><font color="#C0C0C0"> - Other players | - East/west wall 778 </font><font color="#FFFF00">!</font><font color="#C0C0C0"> - Mobiles + - Door (closed) 779 </font><font color="#00FFFF">!</font><font color="#C0C0C0"> - Pet/other charmed mob </font><font color="#0000FF">+</font><font color="#C0C0C0"> - Door (locked) 780 </font><font color="#FF0000">!</font><font color="#C0C0C0"> - Angry mob (with Sense > - Up exit 781 Anger cast) </font><font color="#808000">></font><font color="#C0C0C0"> - Up exit (closed) 782 </font><font color="#00FF00">!</font><font color="#C0C0C0"> - Unkillable Mob < - Down exit 783 </font><font color="#00FF00">$</font><font color="#C0C0C0"> - Shopkeeper </font><font color="#808000"><</font><font color="#C0C0C0"> - Down exit (closed) 784 </font><font color="#00FFFF">[</font><font color="#FFFFFF">?</font><font color="#00FFFF">]</font><font color="#C0C0C0"> - Area exit </font><font color="#800000">#</font><font color="#C0C0C0"> - PK-flagged room 785 </font><font color="#00FF00">[</font><font color="#FFFFFF">?</font><font color="#00FF00">]</font><font color="#C0C0C0"> - Clan public hall exit </font><font color="#FF0000">D</font><font color="#C0C0C0"> - Donation room 786 787Other characters on the map represent the terrain of the local area. Some 788of the major terrains are: 789 790 [</font><font color="#FF00FF"> </font><font color="#C0C0C0">] Inside .</font><font color="#FF00FF"> </font><font color="#C0C0C0">. City 791 </font><font color="#008000">,</font><font color="#FF00FF"> </font><font color="#008000">`</font><font color="#C0C0C0"> Field </font><font color="#00FF00">;</font><font color="#FF00FF"> </font><font color="#00FF00">;</font><font color="#C0C0C0"> Hills 792 </font><font color="#808000">/</font><font color="#FF00FF"> </font><font color="#808000">\\</font><font color="#C0C0C0"> Mountain </font><font color="#0000FF">~~</font><font color="#FF00FF"> </font><font color="#0000FF">~~</font><font color="#C0C0C0"> Water 793 </font><font color="#0000FF">~~</font><font color="#FF00FF"> </font><font color="#0000FF">~~</font><font color="#C0C0C0"> Waternoswim </font><font color="#008080">.</font><font color="#FF00FF"> </font><font color="#008080">.</font><font color="#C0C0C0"> Air 794 </font><font color="#808000">~~</font><font color="#FF00FF"> </font><font color="#808000">~~</font><font color="#C0C0C0"> Desert </font><font color="#FFFF00">%</font><font color="#FF00FF"> </font><font color="#FFFF00">%</font><font color="#C0C0C0"> Quicksand 795 </font><font color="#000080">~~</font><font color="#FF00FF"> </font><font color="#000080">~~</font><font color="#C0C0C0"> Underwater </font><font color="#00FFFF">~~</font><font color="#FF00FF"> </font><font color="#00FFFF">~~</font><font color="#C0C0C0"> Ice 796 </font><font color="#0000FF">.</font><font color="#FF00FF"> </font><font color="#0000FF">.</font><font color="#C0C0C0"> Underground -</font><font color="#FF00FF"> </font><font color="#C0C0C0">- East/West road 797 . . North/South road </font><font color="#00FFFF">~~ ~~</font><font color="#C0C0C0"> River 798 </font><font color="#FF0000">/</font><font color="#FF00FF"> </font><font color="#FF0000">\\</font><font color="#C0C0C0"> Volcano </font><font color="#000080">%</font><font color="#FF00FF"> </font><font color="#000080">%</font><font color="#C0C0C0"> Cave 799 # # Dungeon </font><font color="#008000">( *</font><font color="#C0C0C0"> Forest 800 801Other terrain types not listed here are for aesthetic purposes only, such 802as </font><font color="#008080">[ ]</font><font color="#C0C0C0"> for temples, </font><font color="#FFFF00">* *</font><font color="#C0C0C0"> for shops, etc. 803</font></font></code></div></pre></td></tr></table>')),!