e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 18 var rekall := 0; 0: decl global #0 1: 0L 2: := 3: # var npccfg := ReadConfigFile("::npcdesc"); 4: decl global #1 5: "::npcdesc" 6: Func(6,0): ReadConfigFile 7: := 8: # e:/gry/pol/pvp097/scripts/include/slowaMagiczne.inc, Line 4 set_script_option(SCRIPTOPT_NO_RUNAWAY, 1); 9: 3L 10: 1L 11: Func(5,5): Set_Script_Option 12: # E:\gry\pol\pvp097\pkg\items\runebook\customSpells.inc, Line 12 var pspellid := 210; 13: decl global #2 14: 210L 15: := 16: # E:\gry\pol\pvp097\pkg\items\runebook\runebook2.src, Line 23 var maxcharges; 17: decl global #3 18: # var charges; 19: decl global #4 20: # var critical_runes := { 3,5,7,9,11,13,15}; 21: decl global #5 22: array 23: 3L 24: init{} 25: 5L 26: init{} 27: 7L 28: init{} 29: 9L 30: init{} 31: 11L 32: init{} 33: 13L 34: init{} 35: 15L 36: init{} 37: := 38: # var runecount := 0; 39: decl global #6 40: 0L 41: := 42: # var pagecount := 1; 43: decl global #7 44: 1L 45: := 46: # var layout := { 47: decl global #8 48: array 49: "page 0" 50: init{} 51: "gumppic 0 0 2220 " 52: init{} 53: "page 1" 54: init{} 55: "button 55 10 2472 2473 1 0 900" 56: init{} 57: "text 85 12 0 0 " 58: init{} 59: "text 260 12 0 6 " 60: init{} 61: "text 85 38 0 1 " 62: init{} 63: "text 150 38 0 3 " 64: init{} 65: "text 230 38 0 2 " 66: init{} 67: "text 333 38 0 4 " 68: init{} 69: "gumppic 50 50 57 " 70: init{} 71: "gumppic 70 50 58 " 72: init{} 73: "gumppic 85 50 58 " 74: init{} 75: "gumppic 100 50 58 " 76: init{} 77: "gumppic 115 50 58 " 78: init{} 79: "gumppic 130 50 58 " 80: init{} 81: "gumppic 145 50 58 " 82: init{} 83: "gumppic 160 50 59 " 84: init{} 85: "gumppic 218 50 57 " 86: init{} 87: "gumppic 233 50 58 " 88: init{} 89: "gumppic 248 50 58 " 90: init{} 91: "gumppic 263 50 58 " 92: init{} 93: "gumppic 278 50 58 " 94: init{} 95: "gumppic 293 50 58 " 96: init{} 97: "gumppic 308 50 58 " 98: init{} 99: "gumppic 323 50 59 " 100: init{} 101: := 102: # var data := { 103: decl global #9 104: array 105: "Zmien nazwe" 106: init{} 107: "Ladunki:" 108: init{} 109: "Max Ladunkow:" 110: init{} 111: "" 112: init{} 113: "" 114: init{} 115: "Ustaw domyslne" 116: init{} 117: "" 118: init{} 119: := 120: # E:\gry\pol\pvp097\pkg\items\runebook\runebook2.src, Line 68 program runebook(who, book) 121: get arg 'who' 122: get arg 'book' EraseObjProperty(who, "IsMeditating"); 123: local #0 124: "IsMeditating" 125: Func(3,13): EraseObjProperty 126: # EraseObjProperty(who, "HealTimer"); 127: local #0 128: "HealTimer" 129: Func(3,13): EraseObjProperty 130: # if(!can_access(who, book)) 131: local #0 132: local #1 133: 0L 134: makelocal 135: jmp userfunc @569 136: if true goto 139 return; 137: "" 138: progend if(!ReserveItem(book)) 139: local #1 140: Func(3,14): ReserveItem 141: if true goto 144 return; 142: "" 143: progend charges := GetObjProperty(book, "charges"); 144: local #1 145: "charges" 146: Func(3,6): GetObjProperty 147: global4 := if(!charges) 148: global #4 149: if true goto 157 charges := 0; 150: 0L 151: global4 := SetObjProperty(book,"charges", charges); 152: local #1 153: "charges" 154: global #4 155: Func(3,0): SetObjProperty 156: # maxcharges := GetObjProperty(book, "maxcharges"); 157: local #1 158: "maxcharges" 159: Func(3,6): GetObjProperty 160: global3 := if(!maxcharges) 161: global #3 162: if true goto 170 maxcharges := 10; 163: 10L 164: global3 := SetObjProperty(book,"maxcharges", maxcharges); 165: local #1 166: "maxcharges" 167: global #3 168: Func(3,0): SetObjProperty 169: # data[4] := " brak limitu"; 170: global #9 171: 4L 172: " brak limitu" 173: [] := (1) # data[5] := maxcharges; 174: global #9 175: 5L 176: global #3 177: [] := (1) # var selected_rune_struct; 178: decl local #2 179: # var ret; 180: decl local #3 181: # FillInArrays(book); 182: local #1 183: makelocal 184: jmp userfunc @1370 185: # var result := SendDialogGump( who, layout, data ); 186: decl local #4 187: local #0 188: global #8 189: global #9 190: 0L 191: 0L 192: Func(3,29): SendDialogGump 193: := 194: # if( result[0] == 0 ) 195: local #4 196: 0L 197: [] 1 198: 0L 199: == 200: if false goto 204 return; 201: "" 202: progend 203: goto231 elseif(result[0] == 900) 204: local #4 205: 0L 206: [] 1 207: 900L 208: == 209: if false goto 231 if(book.movable == 0) 210: local #1 211: get member id 'movable' (20) 212: 0L 213: == 214: if false goto 224 SendSysMessage(who, "Nie mozesz tego zrobic gdy runebook jest zablokowany.",3,4 215: local #0 216: "Nie mozesz tego zrobic gdy runebook jest zablokowany." 217: 3L 218: 40L 219: Func(3,2): SendSysMessage 220: # return; 221: "" 222: progend 223: goto231 renamebook(who, book); 224: local #0 225: local #1 226: makelocal 227: jmp userfunc @3079 228: # return; 229: "" 230: progend if(result[0] >= 600) 231: local #4 232: 0L 233: [] 1 234: 600L 235: >= 236: if false goto 287 var d := (result[0] - 600); 237: decl local #0 238: local #4 239: 0L 240: [] 1 241: 600L 242: - 243: := 244: # var defs := GetObjProperty( book, "runedefs" ); 245: decl local #1 246: local #1 247: "runedefs" 248: Func(3,6): GetObjProperty 249: := 250: # var runeinfo := defs[d]; 251: decl local #2 252: local #6 253: local #5 254: [] 1 255: := 256: # ret := custom_recall(who, runeinfo, book); 257: local #0 258: local #7 259: local #1 260: makelocal 261: jmp userfunc @1027 262: local3 := SetObjProperty(book,"charges", 100); 263: local #1 264: "charges" 265: 100L 266: Func(3,0): SetObjProperty 267: # bookname(who, book); 268: local #0 269: local #1 270: makelocal 271: jmp userfunc @538 272: # if( ret == 0 ) 273: local #3 274: 0L 275: == 276: if false goto 283 SendSysMessage( who, "Nie udalo sie przeniesc" ); 277: local #0 278: "Nie udalo sie przeniesc" 279: 3L 280: 1000L 281: Func(3,2): SendSysMessage 282: # return; 283: "" 284: progend 285: leave block(3) 286: goto448 elseif(result[0] >= 500) 287: local #4 288: 0L 289: [] 1 290: 500L 291: >= 292: if false goto 352 if(book.movable == 0) 293: local #1 294: get member id 'movable' (20) 295: 0L 296: == 297: if false goto 307 SendSysMessage(who, "Nie mozesz tego zrobic gdy runebook jest zablokowany.",3,4 298: local #0 299: "Nie mozesz tego zrobic gdy runebook jest zablokowany." 300: 3L 301: 40L 302: Func(3,2): SendSysMessage 303: # return; 304: "" 305: progend 306: goto351 var d := (result[0] - 500); 307: decl local #0 308: local #4 309: 0L 310: [] 1 311: 500L 312: - 313: := 314: # var defs := GetObjProperty( book, "runedefs" ); 315: decl local #1 316: local #1 317: "runedefs" 318: Func(3,6): GetObjProperty 319: := 320: # var runeinfo := defs[d]; 321: decl local #2 322: local #6 323: local #5 324: [] 1 325: := 326: # SetObjProperty(book,"x", runeinfo[2]); 327: local #1 328: "x" 329: local #7 330: 2L 331: [] 1 332: Func(3,0): SetObjProperty 333: # SetObjProperty(book,"y", runeinfo[3]); 334: local #1 335: "y" 336: local #7 337: 3L 338: [] 1 339: Func(3,0): SetObjProperty 340: # SetObjProperty(book,"z", runeinfo[4]); 341: local #1 342: "z" 343: local #7 344: 4L 345: [] 1 346: Func(3,0): SetObjProperty 347: # return; 348: "" 349: progend 350: leave block(3) 351: goto448 elseif (result[0] >= 81) 352: local #4 353: 0L 354: [] 1 355: 81L 356: >= 357: if false goto 448 if(book.movable == 0) 358: local #1 359: get member id 'movable' (20) 360: 0L 361: == 362: if false goto 372 SendSysMessage(who, "Nie mozesz tego zrobic gdy runebook jest zablokowany.",3,4 363: local #0 364: "Nie mozesz tego zrobic gdy runebook jest zablokowany." 365: 3L 366: 40L 367: Func(3,2): SendSysMessage 368: # return; 369: "" 370: progend 371: goto448 var d := (result[0] - 80); 372: decl local #0 373: local #4 374: 0L 375: [] 1 376: 80L 377: - 378: := 379: # var defs := GetObjProperty( book, "runedefs" ); 380: decl local #1 381: local #1 382: "runedefs" 383: Func(3,6): GetObjProperty 384: := 385: # var runeinfo := defs[d]; 386: decl local #2 387: local #6 388: local #5 389: [] 1 390: := 391: # if(!runeinfo) 392: local #7 393: if true goto 402 SendSysMessage(who, "To runo juz nie istnieje.",3,40); 394: local #0 395: "To runo juz nie istnieje." 396: 3L 397: 40L 398: Func(3,2): SendSysMessage 399: # return; 400: "" 401: progend var rune := CreateItemInBackpack(who, 0x1f14); 402: decl local #3 403: local #0 404: 7956L 405: 1L 406: Func(3,30): CreateItemInBackpack 407: := 408: # SetName(rune, runeinfo[1]); 409: local #8 410: local #7 411: 1L 412: [] 1 413: Func(3,31): SetName 414: # SetObjProperty(rune,"x", runeinfo[2]); 415: local #8 416: "x" 417: local #7 418: 2L 419: [] 1 420: Func(3,0): SetObjProperty 421: # SetObjProperty(rune,"y", runeinfo[3]); 422: local #8 423: "y" 424: local #7 425: 3L 426: [] 1 427: Func(3,0): SetObjProperty 428: # SetObjProperty(rune,"z", runeinfo[4]); 429: local #8 430: "z" 431: local #7 432: 4L 433: [] 1 434: Func(3,0): SetObjProperty 435: # defs.erase(d); 436: local #6 437: local #5 438: Call Method id erase (#49, 1 params) 439: # SetObjProperty(book,"runedefs", defs); 440: local #1 441: "runedefs" 442: local #6 443: Func(3,0): SetObjProperty 444: # return; 445: "" 446: progend 447: leave block(4) var funct := NormalizeReturnValue( result[0] ); 448: decl local #5 449: local #4 450: 0L 451: [] 1 452: makelocal 453: jmp userfunc @3054 454: := 455: # var newval := result[0]; 456: decl local #6 457: local #4 458: 0L 459: [] 1 460: := 461: # if(newval != 1 ) 462: local #6 463: 1L 464: <> 465: if false goto 471 selected_rune_struct := FindThatRune( book, newval); 466: local #1 467: local #6 468: makelocal 469: jmp userfunc @2268 470: local2 := case (funct) 471: local #5 472: casejmp 0: @473 2: @476 3: @519 default: @536 return; 473: "" 474: progend 475: goto536 if(!ConsumeReagents(who, 32 )) 476: local #0 477: 32L 478: Func(3,22): ConsumeReagents 479: if true goto 502 SendSysMessage(who, "Nie masz skladnikow.",3,40); 480: local #0 481: "Nie masz skladnikow." 482: 3L 483: 40L 484: Func(3,2): SendSysMessage 485: # PerformAction(who,ANIM_CAST_DIR); 486: local #0 487: 16L 488: Func(3,21): PerformAction 489: # PlaySoundEffect(who,0x005d); 490: local #0 491: 93L 492: Func(3,9): PlaySoundEffect 493: # PlayObjectCenteredEffect(who, 0x3735,0x0a, 0x1e); 494: local #0 495: 14133L 496: 10L 497: 30L 498: Func(3,19): PlayObjectCenteredEffect 499: # return; 500: "" 501: progend ret := custom_recall(who, selected_rune_struct, book); 502: local #0 503: local #2 504: local #1 505: makelocal 506: jmp userfunc @1027 507: local3 := if( ret == 0 ) 508: local #3 509: 0L 510: == 511: if false goto 518 SendSysMessage(who, "Recall sie nie udal."); 512: local #0 513: "Recall sie nie udal." 514: 3L 515: 1000L 516: Func(3,2): SendSysMessage 517: # 518: goto536 ret := custom_gate(who, selected_rune_struct, book); 519: local #0 520: local #2 521: local #1 522: makelocal 523: jmp userfunc @657 524: local3 := if( ret == 0 ) 525: local #3 526: 0L 527: == 528: if false goto 535 SendSysMessage(who, "Portal sie nie udal."); 529: local #0 530: "Portal sie nie udal." 531: 3L 532: 1000L 533: Func(3,2): SendSysMessage 534: # 535: goto536 536: leave block(7) 537: progend E:\gry\pol\pvp097\pkg\items\runebook\runebook2.src, Line 177 function bookname(who, book) 538: pop param 'book' 539: pop param 'who' var name := GetObjProperty(book,"name"); 540: decl local #2 541: local #0 542: "name" 543: Func(3,6): GetObjProperty 544: := 545: # if(!name) 546: local #2 547: if true goto 550 name := "runebook"; 548: "runebook" 549: local2 := charges := GetObjProperty(book,"charges"); 550: local #0 551: "charges" 552: Func(3,6): GetObjProperty 553: global4 := var newname := (name + " [ladunki: " + charges + "]"); 554: decl local #3 555: local #2 556: " [ladunki: " 557: + 558: global #4 559: + 560: "]" 561: + 562: := 563: # book.name := newname; 564: local #0 565: local #3 566: set member id 'name' (3) # 567: 0L 568: return e:/gry/pol/pvp097/scripts/include/canAccess.inc, Line 6 function can_access(who, item, flags := 0) 569: pop param 'flags' 570: pop param 'item' 571: pop param 'who' var owner := Cint(GetObjProperty(item, "Owner")); 572: decl local #3 573: local #1 574: "Owner" 575: Func(3,6): GetObjProperty 576: Func(0,0): CInt 577: := 578: # if((owner) and (owner != who.serial)) 579: local #3 580: local #3 581: local #2 582: get member id 'serial' (6) 583: <> 584: && 585: if false goto 595 SendSysMessage(who, "Nie mozesz tego uzyc.",3,40); 586: local #2 587: "Nie mozesz tego uzyc." 588: 3L 589: 40L 590: Func(3,2): SendSysMessage 591: # return 0; 592: 0L 593: return 594: goto655 elseif(GetObjProperty(item, "Vendored")) 595: local #1 596: "Vendored" 597: Func(3,6): GetObjProperty 598: if false goto 608 SendSysMessage(who, "Nie mozesz tego uzyc.",3,40); 599: local #2 600: "Nie mozesz tego uzyc." 601: 3L 602: 40L 603: Func(3,2): SendSysMessage 604: # return 0; 605: 0L 606: return 607: goto655 elseif(!Accessible(who, item)) 608: local #2 609: local #1 610: Func(3,28): Accessible 611: if true goto 621 SendSysMessage(who, "Nie mozesz tego uzyc.",3,40); 612: local #2 613: "Nie mozesz tego uzyc." 614: 3L 615: 40L 616: Func(3,2): SendSysMessage 617: # return 0; 618: 0L 619: return 620: goto655 elseif((!flags["distance"]) and ((Distance(who, item) > 2))) 621: local #0 622: "distance" 623: [] 1 624: ! 625: local #2 626: local #1 627: Func(3,11): Distance 628: 2L 629: > 630: && 631: if false goto 641 SendSysMessage(who, "Za daleko!",3,40); 632: local #2 633: "Za daleko!" 634: 3L 635: 40L 636: Func(3,2): SendSysMessage 637: # return 0; 638: 0L 639: return 640: goto655 elseif(!ReserveItem(item)) 641: local #1 642: Func(3,14): ReserveItem 643: if true goto 653 SendSysMessage(who, "Ktos juz tego uzywa.",3,40); 644: local #2 645: "Ktos juz tego uzywa." 646: 3L 647: 40L 648: Func(3,2): SendSysMessage 649: # return 0; 650: 0L 651: return 652: goto655 return 1; 653: 1L 654: return 655: 0L 656: return E:\gry\pol\pvp097\pkg\items\runebook\customSpells.inc, Line 81 function custom_gate(caster, parms, book) 657: pop param 'book' 658: pop param 'parms' 659: pop param 'caster' var gate1, gate2; 660: decl local #3 661: # 662: decl local #4 663: # caster.hidden := 0; 664: local #2 665: 0L 666: set member id 'hidden' (32) # if(!isValidLoc(caster.x, caster.y) or (caster.multi)) 667: local #2 668: get member id 'x' (0) 669: local #2 670: get member id 'y' (1) 671: makelocal 672: jmp userfunc @2321 673: ! 674: local #2 675: get member id 'multi' (12) 676: || 677: if false goto 686 SendSysMessage(caster, "Nie mozesz rzucic portalu z tego miejsca."); 678: local #2 679: "Nie mozesz rzucic portalu z tego miejsca." 680: 3L 681: 1000L 682: Func(3,2): SendSysMessage 683: # return 0; 684: 0L 685: return if(GetMana(caster) < 40) 686: local #2 687: makelocal 688: jmp userfunc @2314 689: 40L 690: < 691: if false goto 717 PerformAction(caster,ANIM_CAST_DIR); 692: local #2 693: 16L 694: Func(3,21): PerformAction 695: # sleepms(1200); 696: 1200L 697: Func(5,4): Sleepms 698: # SendSysMessage(caster,"Masz za malo many."); 699: local #2 700: "Masz za malo many." 701: 3L 702: 1000L 703: Func(3,2): SendSysMessage 704: # PlaySoundEffect(caster,0x005d); 705: local #2 706: 93L 707: Func(3,9): PlaySoundEffect 708: # PlayObjectCenteredEffect(caster, 0x3735,0x0a, 0x1e); 709: local #2 710: 14133L 711: 10L 712: 30L 713: Func(3,19): PlayObjectCenteredEffect 714: # return 0; 715: 0L 716: return var circle := 7; 717: decl local #5 718: 7L 719: := 720: # var tox := parms[2]; 721: decl local #6 722: local #1 723: 2L 724: [] 1 725: := 726: # var toy := parms[3]; 727: decl local #7 728: local #1 729: 3L 730: [] 1 731: := 732: # var toz := parms[4]; 733: decl local #8 734: local #1 735: 4L 736: [] 1 737: := 738: # var delivery := "notarget"; 739: decl local #9 740: "notarget" 741: := 742: # var noto := "neutral"; 743: decl local #10 744: "neutral" 745: := 746: # var result := maincast(caster, delivery, circle, noto, 52); 747: decl local #11 748: local #2 749: local #9 750: local #5 751: local #10 752: 52L 753: makelocal 754: jmp userfunc @2561 755: := 756: # if(result == 0 or caster.frozen) 757: local #11 758: 0L 759: == 760: local #2 761: get member id 'frozen' (34) 762: || 763: if false goto 766 return; 764: "" 765: return var multicheck := CreateItemAtLocation(tox, toy, toz, 0xeed, 1); 766: decl local #12 767: local #6 768: local #7 769: local #8 770: 3821L 771: 1L 772: "britannia" 773: Func(3,1): CreateItemAtLocation 774: := 775: # multicheck.hidden := 1; 776: local #12 777: 1L 778: set member id 'hidden' (32) # if(multicheck.multi.serial) 779: local #12 780: get member id 'multi' (12) 781: get member id 'serial' (6) 782: if false goto 788 DestroyItem(multicheck); 783: local #12 784: Func(3,5): DestroyItem 785: # return; 786: "" 787: return DestroyItem(multicheck); 788: local #12 789: Func(3,5): DestroyItem 790: # var signs := ListItemsNearLocationOfType(tox, toy, toz, 30, 0x7060); 791: decl local #13 792: local #6 793: local #7 794: local #8 795: 30L 796: 28768L 797: "britannia" 798: Func(3,25): ListItemsNearLocationOfType 799: := 800: # var chk := 0; 801: decl local #14 802: 0L 803: := 804: # foreach item in signs 805: local #13 806: initforeach @844 var infoarr := GetObjProperty(item, "homeinfo"); 807: decl local #0 808: local #15 809: "homeinfo" 810: Func(3,6): GetObjProperty 811: := 812: # if(infoarr) 813: local #18 814: if false goto 843 if((tox >= infoarr[2]) && (tox <= infoarr[4]) && (toy >= infoarr[3]) && (toy <= 815: local #6 816: local #18 817: 2L 818: [] 1 819: >= 820: local #6 821: local #18 822: 4L 823: [] 1 824: <= 825: && 826: local #7 827: local #18 828: 3L 829: [] 1 830: >= 831: && 832: local #7 833: local #18 834: 5L 835: [] 1 836: <= 837: && 838: if false goto 843 chk := 1; 839: 1L 840: local14 := break; 841: leave block(1) 842: goto845 843: leave block(1) 844: stepforeach @807 845: leave block(3) if(chk == 1) 846: local #14 847: 1L 848: == 849: if false goto 852 return; 850: "" 851: return var wx := caster.x; 852: decl local #15 853: local #2 854: get member id 'x' (0) 855: := 856: # var wy := caster.y; 857: decl local #16 858: local #2 859: get member id 'y' (1) 860: := 861: # var wz := caster.z; 862: decl local #17 863: local #2 864: get member id 'z' (2) 865: := 866: # if(!czeckdisturb(caster)) 867: local #2 868: makelocal 869: jmp userfunc @1283 870: if true goto 873 return 0; 871: 0L 872: return PlayStationaryEffect(wx, wy, wz, 6899, 1, 30, explode := 0 ); 873: local #15 874: local #16 875: local #17 876: 6899L 877: 1L 878: 30L 879: 0L 880: "britannia" 881: Func(3,27): PlayStationaryEffect 882: # PlayStationaryEffect(tox, toy, toz, 6899, 1, 30, explode := 0 ); 883: local #6 884: local #7 885: local #8 886: 6899L 887: 1L 888: 30L 889: 0L 890: "britannia" 891: Func(3,27): PlayStationaryEffect 892: # sleepms(1400); 893: 1400L 894: Func(5,4): Sleepms 895: # set_critical(1); 896: 1L 897: Func(5,0): Set_Critical 898: # if(!caster.murderer) 899: local #2 900: get member id 'murderer' (57) 901: if true goto 925 gate1 := CreateItemAtLocation( wx, wy, wz, UOBJ_BLUE_MOONGATE, 1 ); 902: local #15 903: local #16 904: local #17 905: 3948L 906: 1L 907: "britannia" 908: Func(3,1): CreateItemAtLocation 909: local3 := gate1.movable := 0; 910: local #3 911: 0L 912: set member id 'movable' (20) # gate2 := CreateItemAtLocation( tox, toy, toz, UOBJ_BLUE_MOONGATE, 1 ); 913: local #6 914: local #7 915: local #8 916: 3948L 917: 1L 918: "britannia" 919: Func(3,1): CreateItemAtLocation 920: local4 := gate2.movable := 0; 921: local #4 922: 0L 923: set member id 'movable' (20) # 924: goto947 gate1 := CreateItemAtLocation( wx, wy, wz, 0x0DDA, 1 ); 925: local #15 926: local #16 927: local #17 928: 3546L 929: 1L 930: "britannia" 931: Func(3,1): CreateItemAtLocation 932: local3 := gate1.movable := 0; 933: local #3 934: 0L 935: set member id 'movable' (20) # gate2 := CreateItemAtLocation( tox, toy, toz, 0x0DDA, 1 ); 936: local #6 937: local #7 938: local #8 939: 3546L 940: 1L 941: "britannia" 942: Func(3,1): CreateItemAtLocation 943: local4 := gate2.movable := 0; 944: local #4 945: 0L 946: set member id 'movable' (20) # if (!gate1 || !gate2) 947: local #3 948: ! 949: local #4 950: ! 951: || 952: if false goto 955 return; 953: "" 954: return SetMana(caster, Cint(GetMana(caster) - 40)); 955: local #2 956: local #2 957: makelocal 958: jmp userfunc @2314 959: 40L 960: - 961: Func(0,0): CInt 962: makelocal 963: jmp userfunc @3122 964: # SetObjProperty(gate1, "GateDestX", gate2.x); 965: local #3 966: "GateDestX" 967: local #4 968: get member id 'x' (0) 969: Func(3,0): SetObjProperty 970: # SetObjProperty(gate1, "GateDestY", gate2.y); 971: local #3 972: "GateDestY" 973: local #4 974: get member id 'y' (1) 975: Func(3,0): SetObjProperty 976: # SetObjProperty(gate1, "GateDestZ", gate2.z); 977: local #3 978: "GateDestZ" 979: local #4 980: get member id 'z' (2) 981: Func(3,0): SetObjProperty 982: # SetObjProperty(gate2, "GateDestX", gate1.x); 983: local #4 984: "GateDestX" 985: local #3 986: get member id 'x' (0) 987: Func(3,0): SetObjProperty 988: # SetObjProperty(gate2, "GateDestY", gate1.y); 989: local #4 990: "GateDestY" 991: local #3 992: get member id 'y' (1) 993: Func(3,0): SetObjProperty 994: # SetObjProperty(gate2, "GateDestZ", gate1.z); 995: local #4 996: "GateDestZ" 997: local #3 998: get member id 'z' (2) 999: Func(3,0): SetObjProperty 1000: # Detach(); 1001: Func(3,8): Detach 1002: # set_critical(0); 1003: 0L 1004: Func(5,0): Set_Critical 1005: # PlaySoundEffect(caster, SFX_SPELL_GATE_TRAVEL); 1006: local #2 1007: 527L 1008: Func(3,9): PlaySoundEffect 1009: # sleep(30); 1010: 30L 1011: Func(5,2): Sleep 1012: # set_critical(1); 1013: 1L 1014: Func(5,0): Set_Critical 1015: # DestroyItem(gate1); 1016: local #3 1017: Func(3,5): DestroyItem 1018: # DestroyItem(gate2); 1019: local #4 1020: Func(3,5): DestroyItem 1021: # set_critical(0); 1022: 0L 1023: Func(5,0): Set_Critical 1024: # return(1); 1025: 1L 1026: return E:\gry\pol\pvp097\pkg\items\runebook\customSpells.inc, Line 13 function custom_recall(caster, parms, book) 1027: pop param 'book' 1028: pop param 'parms' 1029: pop param 'caster' caster.hidden := 0; 1030: local #2 1031: 0L 1032: set member id 'hidden' (32) # if(GetMana(caster) < 11) 1033: local #2 1034: makelocal 1035: jmp userfunc @2314 1036: 11L 1037: < 1038: if false goto 1064 PerformAction(caster,ANIM_CAST_DIR); 1039: local #2 1040: 16L 1041: Func(3,21): PerformAction 1042: # sleepms(1200); 1043: 1200L 1044: Func(5,4): Sleepms 1045: # SendSysMessage(caster,"Masz za malo many."); 1046: local #2 1047: "Masz za malo many." 1048: 3L 1049: 1000L 1050: Func(3,2): SendSysMessage 1051: # PlaySoundEffect(caster,0x005d); 1052: local #2 1053: 93L 1054: Func(3,9): PlaySoundEffect 1055: # PlayObjectCenteredEffect(caster, 0x3735,0x0a, 0x1e); 1056: local #2 1057: 14133L 1058: 10L 1059: 30L 1060: Func(3,19): PlayObjectCenteredEffect 1061: # return 0; 1062: 0L 1063: return var failure := 0; 1064: decl local #3 1065: 0L 1066: := 1067: # var circle := 4; 1068: decl local #4 1069: 4L 1070: := 1071: # var tox := parms[2]; 1072: decl local #5 1073: local #1 1074: 2L 1075: [] 1 1076: := 1077: # var toy := parms[3]; 1078: decl local #6 1079: local #1 1080: 3L 1081: [] 1 1082: := 1083: # var toz := parms[4]; 1084: decl local #7 1085: local #1 1086: 4L 1087: [] 1 1088: := 1089: # var delivery := "notarget"; 1090: decl local #8 1091: "notarget" 1092: := 1093: # var noto := "neutral"; 1094: decl local #9 1095: "neutral" 1096: := 1097: # var multicheck := CreateItemAtLocation(tox, toy, toz, 0xeed, 1); 1098: decl local #10 1099: local #5 1100: local #6 1101: local #7 1102: 3821L 1103: 1L 1104: "britannia" 1105: Func(3,1): CreateItemAtLocation 1106: := 1107: # multicheck.hidden := 1; 1108: local #10 1109: 1L 1110: set member id 'hidden' (32) # if(multicheck.multi.serial) 1111: local #10 1112: get member id 'multi' (12) 1113: get member id 'serial' (6) 1114: if false goto 1126 SendSysMessage(caster, "Cos blokuje miejsce docelowe."); 1115: local #2 1116: "Cos blokuje miejsce docelowe." 1117: 3L 1118: 1000L 1119: Func(3,2): SendSysMessage 1120: # DestroyItem(multicheck); 1121: local #10 1122: Func(3,5): DestroyItem 1123: # return; 1124: "" 1125: return DestroyItem(multicheck); 1126: local #10 1127: Func(3,5): DestroyItem 1128: # var signs := ListItemsNearLocationOfType(tox, toy, toz, 30, 0x7060); 1129: decl local #11 1130: local #5 1131: local #6 1132: local #7 1133: 30L 1134: 28768L 1135: "britannia" 1136: Func(3,25): ListItemsNearLocationOfType 1137: := 1138: # foreach item in signs 1139: local #11 1140: initforeach @1176 var infoarr := GetObjProperty(item, "homeinfo"); 1141: decl local #0 1142: local #12 1143: "homeinfo" 1144: Func(3,6): GetObjProperty 1145: := 1146: # if (infoarr) 1147: local #15 1148: if false goto 1175 if((tox >= infoarr[2]) && (tox <= infoarr[4]) && (toy >= infoarr[3]) && (toy <= 1149: local #5 1150: local #15 1151: 2L 1152: [] 1 1153: >= 1154: local #5 1155: local #15 1156: 4L 1157: [] 1 1158: <= 1159: && 1160: local #6 1161: local #15 1162: 3L 1163: [] 1 1164: >= 1165: && 1166: local #6 1167: local #15 1168: 5L 1169: [] 1 1170: <= 1171: && 1172: if false goto 1175 failure := 1; 1173: 1L 1174: local3 := 1175: leave block(1) 1176: stepforeach @1141 1177: leave block(3) if(failure == 0); 1178: local #3 1179: 0L 1180: == 1181: if false goto 1263 var oldx := caster.x; 1182: decl local #0 1183: local #2 1184: get member id 'x' (0) 1185: := 1186: # var oldy := caster.y; 1187: decl local #1 1188: local #2 1189: get member id 'y' (1) 1190: := 1191: # var oldz := caster.z; 1192: decl local #2 1193: local #2 1194: get member id 'z' (2) 1195: := 1196: # var i; 1197: decl local #3 1198: # if(!czeckdisturb(caster)) 1199: local #2 1200: makelocal 1201: jmp userfunc @1283 1202: if true goto 1205 return 0; 1203: 0L 1204: return if(Cint(GetObjProperty(caster, "naigrzyskach"))) 1205: local #2 1206: "naigrzyskach" 1207: Func(3,6): GetObjProperty 1208: Func(0,0): CInt 1209: if false goto 1218 SendSysMessage(caster, "Nie mozesz wyjsc z igrzysk.",3,40); 1210: local #2 1211: "Nie mozesz wyjsc z igrzysk." 1212: 3L 1213: 40L 1214: Func(3,2): SendSysMessage 1215: # return 0; 1216: 0L 1217: return MoveObjectToLocation(caster, tox, toy, toz, caster.realm); 1218: local #2 1219: local #5 1220: local #6 1221: local #7 1222: local #2 1223: get member id 'realm' (113) 1224: 0L 1225: Func(3,26): MoveObjectToLocation 1226: # PlayStationaryEffect(oldx, oldy, oldz, 0x3728, 0xa, 0xa); 1227: local #12 1228: local #13 1229: local #14 1230: 14120L 1231: 10L 1232: 10L 1233: 0L 1234: "britannia" 1235: Func(3,27): PlayStationaryEffect 1236: # PlayStationaryEffect(tox, toy, toz, 0x3728, 0xa, 0xa); 1237: local #5 1238: local #6 1239: local #7 1240: 14120L 1241: 10L 1242: 10L 1243: 0L 1244: "britannia" 1245: Func(3,27): PlayStationaryEffect 1246: # PlaySoundEffect(caster, 0x1FF); 1247: local #2 1248: 511L 1249: Func(3,9): PlaySoundEffect 1250: # SetMana(caster, Cint(GetMana(caster) - 11)); 1251: local #2 1252: local #2 1253: makelocal 1254: jmp userfunc @2314 1255: 11L 1256: - 1257: Func(0,0): CInt 1258: makelocal 1259: jmp userfunc @3122 1260: # 1261: leave block(4) 1262: goto1281 SendSysMessage(caster, "Cos blokuje miejsce docelowe."); 1263: local #2 1264: "Cos blokuje miejsce docelowe." 1265: 3L 1266: 1000L 1267: Func(3,2): SendSysMessage 1268: # PlaySoundEffect(caster, 0x005d); 1269: local #2 1270: 93L 1271: Func(3,9): PlaySoundEffect 1272: # PlayObjectCenteredEffect(caster, 0x3735, 0x0a, 0x1e); 1273: local #2 1274: 14133L 1275: 10L 1276: 30L 1277: Func(3,19): PlayObjectCenteredEffect 1278: # return 0; 1279: 0L 1280: return return 1; 1281: 1L 1282: return E:\gry\pol\pvp097\pkg\items\runebook\customSpells.inc, Line 176 function czeckdisturb (caster) 1283: pop param 'caster' var hape := GetHp(caster); 1284: decl local #1 1285: local #0 1286: makelocal 1287: jmp userfunc @2306 1288: := 1289: # var XXX:=caster.x; // zmienne do ruchu 1290: decl local #2 1291: local #0 1292: get member id 'x' (0) 1293: := 1294: # var YYY:=caster.y; 1295: decl local #3 1296: local #0 1297: get member id 'y' (1) 1298: := 1299: # var i := 0; 1300: decl local #4 1301: 0L 1302: := 1303: # while(i < 5) 1304: local #4 1305: 5L 1306: < 1307: if false goto 1368 if(hape > GetHp(caster)) 1308: local #1 1309: local #0 1310: makelocal 1311: jmp userfunc @2306 1312: > 1313: if false goto 1330 SendSysMessage(caster, "Straciles koncentracje.",3,40); 1314: local #0 1315: "Straciles koncentracje." 1316: 3L 1317: 40L 1318: Func(3,2): SendSysMessage 1319: # fizzlator(caster); 1320: local #0 1321: makelocal 1322: jmp userfunc @2293 1323: # EraseObjProperty(caster, "casting"); 1324: local #0 1325: "casting" 1326: Func(3,13): EraseObjProperty 1327: # return 0; 1328: 0L 1329: return if(XXX != caster.x && YYY != caster.y) 1330: local #2 1331: local #0 1332: get member id 'x' (0) 1333: <> 1334: local #3 1335: local #0 1336: get member id 'y' (1) 1337: <> 1338: && 1339: if false goto 1356 SendSysMessage(caster, "Nie mozesz czarowac w ruchu.",3,40); 1340: local #0 1341: "Nie mozesz czarowac w ruchu." 1342: 3L 1343: 40L 1344: Func(3,2): SendSysMessage 1345: # fizzlator(caster); 1346: local #0 1347: makelocal 1348: jmp userfunc @2293 1349: # EraseObjProperty(caster, "casting"); 1350: local #0 1351: "casting" 1352: Func(3,13): EraseObjProperty 1353: # return 0; 1354: 0L 1355: return Performaction(caster, 16); 1356: local #0 1357: 16L 1358: Func(3,21): PerformAction 1359: # sleep(1); 1360: 1L 1361: Func(5,2): Sleep 1362: # i := i +1; 1363: local #4 1364: 1L 1365: + 1366: local4 := 1367: goto1304 return 1; 1368: 1L 1369: return E:\gry\pol\pvp097\pkg\items\runebook\runebook2.src, Line 200 function FillInArrays(book) 1370: pop param 'book' var r := 1; 1371: decl local #1 1372: 1L 1373: := 1374: # var desc; 1375: decl local #2 1376: # var i := 5; 1377: decl local #3 1378: 5L 1379: := 1380: # var datalen; 1381: decl local #4 1382: # var layoutlen; 1383: decl local #5 1384: # var line1; 1385: decl local #6 1386: # var line2; 1387: decl local #7 1388: # var page_rune_num; 1389: decl local #8 1390: # var buttonret := 2; 1391: decl local #9 1392: 2L 1393: := 1394: # var val := 10; 1395: decl local #10 1396: 10L 1397: := 1398: # var runedefs; 1399: decl local #11 1400: # if( runedefs != "error" ) 1401: local #11 1402: "error" 1403: <> 1404: if false goto 2266 layout.append( "page " + CStr(pagecount)); 1405: global #8 1406: "page " 1407: global #7 1408: Func(0,5): CStr 1409: + 1410: Call Method id append (#52, 1 params) 1411: # pagecount := pagecount + 1; 1412: global #7 1413: 1L 1414: + 1415: global7 := layout.append( "button 320 8 2236 2236 0 " + CStr(pagecount)); 1416: global #8 1417: "button 320 8 2236 2236 0 " 1418: global #7 1419: Func(0,5): CStr 1420: + 1421: Call Method id append (#52, 1 params) 1422: # runedefs := GetObjProperty( book, "runedefs" ); 1423: local #0 1424: "runedefs" 1425: Func(3,6): GetObjProperty 1426: local11 := foreach runed in runedefs 1427: local #11 1428: initforeach @1705 var txt := runed[1]; 1429: decl local #0 1430: local #12 1431: 1L 1432: [] 1 1433: := 1434: # if( len(txt) <= 12 ) 1435: local #15 1436: Func(0,3): Len 1437: 12L 1438: <= 1439: if false goto 1443 desc := txt; 1440: local #15 1441: local2 := 1442: goto1448 desc := txt[1,12]; 1443: local #15 1444: 1L 1445: 12L 1446: [,] 1447: local2 := if (!desc) 1448: local #2 1449: if true goto 1452 desc := ""; 1450: "" 1451: local2 := datalen := data.size(); 1452: global #9 1453: Call Method id size (#48, 0 params) 1454: local4 := data.append(desc); 1455: global #9 1456: local #2 1457: Call Method id append (#52, 1 params) 1458: # case(r) 1459: local #1 1460: casejmp 1: @1461 2: @1476 3: @1491 4: @1506 5: @1521 6: @1536 7: @1551 8: @1566 9: @1581 10: @1596 11: @1611 12: @1626 13: @1641 14: @1656 15: @1671 16: @1686 default: @1700 layout.append("text 76 60 0 " + datalen); 1461: global #8 1462: "text 76 60 0 " 1463: local #4 1464: + 1465: Call Method id append (#52, 1 params) 1466: # layout.append("button 56 62 2118 2117 1 0 " + (r+600)); 1467: global #8 1468: "button 56 62 2118 2117 1 0 " 1469: local #1 1470: 600L 1471: + 1472: + 1473: Call Method id append (#52, 1 params) 1474: # 1475: goto1700 layout.append("text 76 75 0 " + datalen); 1476: global #8 1477: "text 76 75 0 " 1478: local #4 1479: + 1480: Call Method id append (#52, 1 params) 1481: # layout.append("button 56 77 2118 2117 1 0 " + (r+600)); 1482: global #8 1483: "button 56 77 2118 2117 1 0 " 1484: local #1 1485: 600L 1486: + 1487: + 1488: Call Method id append (#52, 1 params) 1489: # 1490: goto1700 layout.append("text 76 90 0 " + datalen); 1491: global #8 1492: "text 76 90 0 " 1493: local #4 1494: + 1495: Call Method id append (#52, 1 params) 1496: # layout.append("button 56 92 2118 2117 1 0 " + (r+600)); 1497: global #8 1498: "button 56 92 2118 2117 1 0 " 1499: local #1 1500: 600L 1501: + 1502: + 1503: Call Method id append (#52, 1 params) 1504: # 1505: goto1700 layout.append("text 76 105 0 " + datalen); 1506: global #8 1507: "text 76 105 0 " 1508: local #4 1509: + 1510: Call Method id append (#52, 1 params) 1511: # layout.append("button 56 107 2118 2117 1 0 " + (r+600)); 1512: global #8 1513: "button 56 107 2118 2117 1 0 " 1514: local #1 1515: 600L 1516: + 1517: + 1518: Call Method id append (#52, 1 params) 1519: # 1520: goto1700 layout.append("text 76 120 0 " + datalen); 1521: global #8 1522: "text 76 120 0 " 1523: local #4 1524: + 1525: Call Method id append (#52, 1 params) 1526: # layout.append("button 56 122 2118 2117 1 0 " + (r+600)); 1527: global #8 1528: "button 56 122 2118 2117 1 0 " 1529: local #1 1530: 600L 1531: + 1532: + 1533: Call Method id append (#52, 1 params) 1534: # 1535: goto1700 layout.append("text 76 135 0 " + datalen); 1536: global #8 1537: "text 76 135 0 " 1538: local #4 1539: + 1540: Call Method id append (#52, 1 params) 1541: # layout.append("button 56 137 2118 2117 1 0 " + (r+600)); 1542: global #8 1543: "button 56 137 2118 2117 1 0 " 1544: local #1 1545: 600L 1546: + 1547: + 1548: Call Method id append (#52, 1 params) 1549: # 1550: goto1700 layout.append("text 76 150 0 " + datalen); 1551: global #8 1552: "text 76 150 0 " 1553: local #4 1554: + 1555: Call Method id append (#52, 1 params) 1556: # layout.append("button 56 152 2118 2117 1 0 " + (r+600)); 1557: global #8 1558: "button 56 152 2118 2117 1 0 " 1559: local #1 1560: 600L 1561: + 1562: + 1563: Call Method id append (#52, 1 params) 1564: # 1565: goto1700 layout.append("text 76 165 0 " + datalen); 1566: global #8 1567: "text 76 165 0 " 1568: local #4 1569: + 1570: Call Method id append (#52, 1 params) 1571: # layout.append("button 56 167 2118 2117 1 0 " + (r+600)); 1572: global #8 1573: "button 56 167 2118 2117 1 0 " 1574: local #1 1575: 600L 1576: + 1577: + 1578: Call Method id append (#52, 1 params) 1579: # 1580: goto1700 layout.append("text 226 60 0 " + datalen); 1581: global #8 1582: "text 226 60 0 " 1583: local #4 1584: + 1585: Call Method id append (#52, 1 params) 1586: # layout.append("button 206 62 2118 2117 1 0 " + (r+600)); 1587: global #8 1588: "button 206 62 2118 2117 1 0 " 1589: local #1 1590: 600L 1591: + 1592: + 1593: Call Method id append (#52, 1 params) 1594: # 1595: goto1700 layout.append("text 226 75 0 " + datalen); 1596: global #8 1597: "text 226 75 0 " 1598: local #4 1599: + 1600: Call Method id append (#52, 1 params) 1601: # layout.append("button 206 77 2118 2117 1 0 " + (r+600)); 1602: global #8 1603: "button 206 77 2118 2117 1 0 " 1604: local #1 1605: 600L 1606: + 1607: + 1608: Call Method id append (#52, 1 params) 1609: # 1610: goto1700 layout.append("text 226 90 0 " + datalen); 1611: global #8 1612: "text 226 90 0 " 1613: local #4 1614: + 1615: Call Method id append (#52, 1 params) 1616: # layout.append("button 206 92 2118 2117 1 0 " + (r+600)); 1617: global #8 1618: "button 206 92 2118 2117 1 0 " 1619: local #1 1620: 600L 1621: + 1622: + 1623: Call Method id append (#52, 1 params) 1624: # 1625: goto1700 layout.append("text 226 105 0 " + datalen); 1626: global #8 1627: "text 226 105 0 " 1628: local #4 1629: + 1630: Call Method id append (#52, 1 params) 1631: # layout.append("button 206 107 2118 2117 1 0 " + (r+600)); 1632: global #8 1633: "button 206 107 2118 2117 1 0 " 1634: local #1 1635: 600L 1636: + 1637: + 1638: Call Method id append (#52, 1 params) 1639: # 1640: goto1700 layout.append("text 226 120 0 " + datalen); 1641: global #8 1642: "text 226 120 0 " 1643: local #4 1644: + 1645: Call Method id append (#52, 1 params) 1646: # layout.append("button 206 122 2118 2117 1 0 " + (r+600)); 1647: global #8 1648: "button 206 122 2118 2117 1 0 " 1649: local #1 1650: 600L 1651: + 1652: + 1653: Call Method id append (#52, 1 params) 1654: # 1655: goto1700 layout.append("text 226 135 0 " + datalen); 1656: global #8 1657: "text 226 135 0 " 1658: local #4 1659: + 1660: Call Method id append (#52, 1 params) 1661: # layout.append("button 206 137 2118 2117 1 0 " + (r+600)); 1662: global #8 1663: "button 206 137 2118 2117 1 0 " 1664: local #1 1665: 600L 1666: + 1667: + 1668: Call Method id append (#52, 1 params) 1669: # 1670: goto1700 layout.append("text 226 150 0 " + datalen); 1671: global #8 1672: "text 226 150 0 " 1673: local #4 1674: + 1675: Call Method id append (#52, 1 params) 1676: # layout.append("button 206 152 2118 2117 1 0 " + (r+600)); 1677: global #8 1678: "button 206 152 2118 2117 1 0 " 1679: local #1 1680: 600L 1681: + 1682: + 1683: Call Method id append (#52, 1 params) 1684: # 1685: goto1700 layout.append("text 226 165 0 " + datalen); 1686: global #8 1687: "text 226 165 0 " 1688: local #4 1689: + 1690: Call Method id append (#52, 1 params) 1691: # layout.append("button 206 167 2118 2117 1 0 " + (r+600)); 1692: global #8 1693: "button 206 167 2118 2117 1 0 " 1694: local #1 1695: 600L 1696: + 1697: + 1698: Call Method id append (#52, 1 params) 1699: # r := r + 1; 1700: local #1 1701: 1L 1702: + 1703: local1 := 1704: leave block(1) 1705: stepforeach @1429 1706: leave block(3) layout.append( "page " + CStr(pagecount) ); 1707: global #8 1708: "page " 1709: global #7 1710: Func(0,5): CStr 1711: + 1712: Call Method id append (#52, 1 params) 1713: # runedefs := GetObjProperty( book, "runedefs" ); 1714: local #0 1715: "runedefs" 1716: Func(3,6): GetObjProperty 1717: local11 := layout.append( "button 50 8 2235 2235 0 " + CStr(pagecount - 1) ); 1718: global #8 1719: "button 50 8 2235 2235 0 " 1720: global #7 1721: 1L 1722: - 1723: Func(0,5): CStr 1724: + 1725: Call Method id append (#52, 1 params) 1726: # r := 1; 1727: 1L 1728: local1 := var counters := 0; 1729: decl local #0 1730: 0L 1731: := 1732: # foreach runedef in runedefs 1733: local #11 1734: initforeach @2263 var txt := runedef[1]; 1735: decl local #0 1736: local #13 1737: 1L 1738: [] 1 1739: := 1740: # runecount := runecount + 1; 1741: global #6 1742: 1L 1743: + 1744: global6 := datalen := data.size(); 1745: global #9 1746: Call Method id size (#48, 0 params) 1747: local4 := layoutlen := layout.size(); 1748: global #8 1749: Call Method id size (#48, 0 params) 1750: local5 := var runename := txt; 1751: decl local #1 1752: local #16 1753: := 1754: # if (!runename) 1755: local #17 1756: if true goto 1759 runename := ""; 1757: "" 1758: local17 := var split := SplitWords( runename ); 1759: decl local #2 1760: local #17 1761: " " 1762: Func(0,4): SplitWords 1763: := 1764: # var j; 1765: decl local #3 1766: # for( j := 1; j <= 10; j := j + 1 ) 1767: local #19 1768: 1L 1769: := 1770: # 1771: local #19 1772: 10L 1773: <= 1774: if false goto 1790 if( !split[j] ) 1775: local #18 1776: local #19 1777: [] 1 1778: if true goto 1783 split[j] := ""; 1779: local #18 1780: local #19 1781: "" 1782: [] := (1) # 1783: local #19 1784: local #19 1785: 1L 1786: + 1787: := 1788: # 1789: goto1771 if( len(runename) <= 16 ) 1790: local #17 1791: Func(0,3): Len 1792: 16L 1793: <= 1794: if false goto 1800 line1 := runename; 1795: local #17 1796: local6 := line2 := ""; 1797: "" 1798: local7 := 1799: goto1920 elseif( (len(split[1]) + len(split[2]) + len(split[3]) + 2) <= 16 ) 1800: local #18 1801: 1L 1802: [] 1 1803: Func(0,3): Len 1804: local #18 1805: 2L 1806: [] 1 1807: Func(0,3): Len 1808: + 1809: local #18 1810: 3L 1811: [] 1 1812: Func(0,3): Len 1813: + 1814: 2L 1815: + 1816: 16L 1817: <= 1818: if false goto 1846 line1 := split[1] + " " + split[2] + " " + split[3]; 1819: local #18 1820: 1L 1821: [] 1 1822: " " 1823: + 1824: local #18 1825: 2L 1826: [] 1 1827: + 1828: " " 1829: + 1830: local #18 1831: 3L 1832: [] 1 1833: + 1834: local6 := line2 := split[4] + " " + split[5]; 1835: local #18 1836: 4L 1837: [] 1 1838: " " 1839: + 1840: local #18 1841: 5L 1842: [] 1 1843: + 1844: local7 := 1845: goto1920 elseif( len(split[1]) + len(split[2]) + 1 <= 12 ) 1846: local #18 1847: 1L 1848: [] 1 1849: Func(0,3): Len 1850: local #18 1851: 2L 1852: [] 1 1853: Func(0,3): Len 1854: + 1855: 1L 1856: + 1857: 12L 1858: <= 1859: if false goto 1887 line1 := split[1] + " " + split[2]; 1860: local #18 1861: 1L 1862: [] 1 1863: " " 1864: + 1865: local #18 1866: 2L 1867: [] 1 1868: + 1869: local6 := line2 := split[3] + " " + split[4] + " " + split[5]; 1870: local #18 1871: 3L 1872: [] 1 1873: " " 1874: + 1875: local #18 1876: 4L 1877: [] 1 1878: + 1879: " " 1880: + 1881: local #18 1882: 5L 1883: [] 1 1884: + 1885: local7 := 1886: goto1920 elseif( len(split[1]) <= 12 ) 1887: local #18 1888: 1L 1889: [] 1 1890: Func(0,3): Len 1891: 12L 1892: <= 1893: if false goto 1920 line1 := split[1]; 1894: local #18 1895: 1L 1896: [] 1 1897: local6 := line2 := split[2] + " " + split[3] + " " + split[4] + " " + split[5]; 1898: local #18 1899: 2L 1900: [] 1 1901: " " 1902: + 1903: local #18 1904: 3L 1905: [] 1 1906: + 1907: " " 1908: + 1909: local #18 1910: 4L 1911: [] 1 1912: + 1913: " " 1914: + 1915: local #18 1916: 5L 1917: [] 1 1918: + 1919: local7 := data.append(line1); 1920: global #9 1921: local #6 1922: Call Method id append (#52, 1 params) 1923: # data.append(line2); 1924: global #9 1925: local #7 1926: Call Method id append (#52, 1 params) 1927: # data.append(ToSextant(runedef[2], runedef[3])); 1928: global #9 1929: local #13 1930: 2L 1931: [] 1 1932: local #13 1933: 3L 1934: [] 1 1935: makelocal 1936: jmp userfunc @3541 1937: Call Method id append (#52, 1 params) 1938: # data.append("Drop Rune"); 1939: global #9 1940: "Drop Rune" 1941: Call Method id append (#52, 1 params) 1942: # if(runecount in critical_runes) 1943: global #6 1944: global #5 1945: in 1946: if false goto 1966 pagecount := pagecount + 1; 1947: global #7 1948: 1L 1949: + 1950: global7 := layout.append("page " + (pagecount)); 1951: global #8 1952: "page " 1953: global #7 1954: + 1955: Call Method id append (#52, 1 params) 1956: # layout.append("button 50 8 2235 2235 0 " + CStr(pagecount - 1)); 1957: global #8 1958: "button 50 8 2235 2235 0 " 1959: global #7 1960: 1L 1961: - 1962: Func(0,5): CStr 1963: + 1964: Call Method id append (#52, 1 params) 1965: # page_rune_num := CurrentPageRuneNum( pagecount + 1, i ); 1966: global #7 1967: 1L 1968: + 1969: local #3 1970: makelocal 1971: jmp userfunc @3991 1972: local8 := case(page_rune_num) 1973: local #8 1974: casejmp 1: @1975 2: @2143 default: @2250 layout.append("gumppic 50 40 57 "); 1975: global #8 1976: "gumppic 50 40 57 " 1977: Call Method id append (#52, 1 params) 1978: # layout.append("gumppic 70 40 58 "); 1979: global #8 1980: "gumppic 70 40 58 " 1981: Call Method id append (#52, 1 params) 1982: # layout.append("gumppic 85 40 58 "); 1983: global #8 1984: "gumppic 85 40 58 " 1985: Call Method id append (#52, 1 params) 1986: # layout.append("gumppic 100 40 58 "); 1987: global #8 1988: "gumppic 100 40 58 " 1989: Call Method id append (#52, 1 params) 1990: # layout.append("gumppic 115 40 58 "); 1991: global #8 1992: "gumppic 115 40 58 " 1993: Call Method id append (#52, 1 params) 1994: # layout.append("gumppic 130 40 58 "); 1995: global #8 1996: "gumppic 130 40 58 " 1997: Call Method id append (#52, 1 params) 1998: # layout.append("gumppic 145 40 58 "); 1999: global #8 2000: "gumppic 145 40 58 " 2001: Call Method id append (#52, 1 params) 2002: # layout.append("gumppic 160 40 59 "); 2003: global #8 2004: "gumppic 160 40 59 " 2005: Call Method id append (#52, 1 params) 2006: # layout.append("gumppic 218 40 57 "); 2007: global #8 2008: "gumppic 218 40 57 " 2009: Call Method id append (#52, 1 params) 2010: # layout.append("gumppic 233 40 58 "); 2011: global #8 2012: "gumppic 233 40 58 " 2013: Call Method id append (#52, 1 params) 2014: # layout.append("gumppic 248 40 58 "); 2015: global #8 2016: "gumppic 248 40 58 " 2017: Call Method id append (#52, 1 params) 2018: # layout.append("gumppic 263 40 58 "); 2019: global #8 2020: "gumppic 263 40 58 " 2021: Call Method id append (#52, 1 params) 2022: # layout.append("gumppic 278 40 58 "); 2023: global #8 2024: "gumppic 278 40 58 " 2025: Call Method id append (#52, 1 params) 2026: # layout.append("gumppic 293 40 58 "); 2027: global #8 2028: "gumppic 293 40 58 " 2029: Call Method id append (#52, 1 params) 2030: # layout.append("gumppic 308 40 58 "); 2031: global #8 2032: "gumppic 308 40 58 " 2033: Call Method id append (#52, 1 params) 2034: # layout.append("gumppic 323 40 59 "); 2035: global #8 2036: "gumppic 323 40 59 " 2037: Call Method id append (#52, 1 params) 2038: # layout.append("text 85 28 0 1 "); 2039: global #8 2040: "text 85 28 0 1 " 2041: Call Method id append (#52, 1 params) 2042: # layout.append("text 228 28 0 2 "); 2043: global #8 2044: "text 228 28 0 2 " 2045: Call Method id append (#52, 1 params) 2046: # layout.append("text 150 30 0 3 "); 2047: global #8 2048: "text 150 30 0 3 " 2049: Call Method id append (#52, 1 params) 2050: # layout.append("text 333 28 0 4 "); 2051: global #8 2052: "text 333 28 0 4 " 2053: Call Method id append (#52, 1 params) 2054: # layout.append("button 85 15 2361 2362 1 0 " + (r+ 500) ); 2055: global #8 2056: "button 85 15 2361 2362 1 0 " 2057: local #1 2058: 500L 2059: + 2060: + 2061: Call Method id append (#52, 1 params) 2062: # layout.append("button 50 54 2118 2118 1 0 " + (r+ 600) ); 2063: global #8 2064: "button 50 54 2118 2118 1 0 " 2065: local #1 2066: 600L 2067: + 2068: + 2069: Call Method id append (#52, 1 params) 2070: # layout.append("button 62 129 2438 2437 1 0 " + (val + 71) ); 2071: global #8 2072: "button 62 129 2438 2437 1 0 " 2073: local #10 2074: 71L 2075: + 2076: + 2077: Call Method id append (#52, 1 params) 2078: # layout.append("button 65 150 2271 2271 1 0 " + buttonret ); 2079: global #8 2080: "button 65 150 2271 2271 1 0 " 2081: local #9 2082: + 2083: Call Method id append (#52, 1 params) 2084: # layout.append("button 125 150 2291 2291 1 0 " + (buttonret + 1) ); 2085: global #8 2086: "button 125 150 2291 2291 1 0 " 2087: local #9 2088: 1L 2089: + 2090: + 2091: Call Method id append (#52, 1 params) 2092: # layout.append("text 100 12 0 5 " ); 2093: global #8 2094: "text 100 12 0 5 " 2095: Call Method id append (#52, 1 params) 2096: # layout.append("text 66 52 0 " + datalen ); 2097: global #8 2098: "text 66 52 0 " 2099: local #4 2100: + 2101: Call Method id append (#52, 1 params) 2102: # layout.append("text 66 72 0 " + CStr(datalen+1)); 2103: global #8 2104: "text 66 72 0 " 2105: local #4 2106: 1L 2107: + 2108: Func(0,5): CStr 2109: + 2110: Call Method id append (#52, 1 params) 2111: # layout.append("text 60 100 0 " + CStr(datalen+2)); 2112: global #8 2113: "text 60 100 0 " 2114: local #4 2115: 2L 2116: + 2117: Func(0,5): CStr 2118: + 2119: Call Method id append (#52, 1 params) 2120: # layout.append("text 82 125 0 " + CStr(datalen+3)); 2121: global #8 2122: "text 82 125 0 " 2123: local #4 2124: 3L 2125: + 2126: Func(0,5): CStr 2127: + 2128: Call Method id append (#52, 1 params) 2129: # buttonret := buttonret + 1; 2130: local #9 2131: 1L 2132: + 2133: local9 := val := val + 1; 2134: local #10 2135: 1L 2136: + 2137: local10 := r := r + 1; 2138: local #1 2139: 1L 2140: + 2141: local1 := 2142: goto2250 layout.append("button 220 15 2361 2362 1 0 " + (r+ 500) ); 2143: global #8 2144: "button 220 15 2361 2362 1 0 " 2145: local #1 2146: 500L 2147: + 2148: + 2149: Call Method id append (#52, 1 params) 2150: # layout.append("button 209 54 2118 2118 1 0 " + (r+ 600) ); 2151: global #8 2152: "button 209 54 2118 2118 1 0 " 2153: local #1 2154: 600L 2155: + 2156: + 2157: Call Method id append (#52, 1 params) 2158: # layout.append("button 227 129 2438 2437 1 0 " + (val + 71) ); 2159: global #8 2160: "button 227 129 2438 2437 1 0 " 2161: local #10 2162: 71L 2163: + 2164: + 2165: Call Method id append (#52, 1 params) 2166: # layout.append("button 230 150 2271 2271 1 0 " + buttonret ); 2167: global #8 2168: "button 230 150 2271 2271 1 0 " 2169: local #9 2170: + 2171: Call Method id append (#52, 1 params) 2172: # layout.append("button 290 150 2291 2291 1 0 " + (buttonret + 1) ); 2173: global #8 2174: "button 290 150 2291 2291 1 0 " 2175: local #9 2176: 1L 2177: + 2178: + 2179: Call Method id append (#52, 1 params) 2180: # layout.append("text 226 52 0 " + datalen ); 2181: global #8 2182: "text 226 52 0 " 2183: local #4 2184: + 2185: Call Method id append (#52, 1 params) 2186: # layout.append("text 226 72 0 " + CStr(datalen+1)); 2187: global #8 2188: "text 226 72 0 " 2189: local #4 2190: 1L 2191: + 2192: Func(0,5): CStr 2193: + 2194: Call Method id append (#52, 1 params) 2195: # layout.append("text 212 100 0 " + CStr(datalen+2)); 2196: global #8 2197: "text 212 100 0 " 2198: local #4 2199: 2L 2200: + 2201: Func(0,5): CStr 2202: + 2203: Call Method id append (#52, 1 params) 2204: # layout.append("text 247 125 0 " + CStr(datalen+3)); 2205: global #8 2206: "text 247 125 0 " 2207: local #4 2208: 3L 2209: + 2210: Func(0,5): CStr 2211: + 2212: Call Method id append (#52, 1 params) 2213: # layout.append("text 235 12 0 5 "); 2214: global #8 2215: "text 235 12 0 5 " 2216: Call Method id append (#52, 1 params) 2217: # if((counters + 1) < len(runedefs)) 2218: local #12 2219: 1L 2220: + 2221: local #11 2222: Func(0,3): Len 2223: < 2224: if false goto 2234 layout.append("button 320 8 2236 2236 0 " + CStr(pagecount + 1)); 2225: global #8 2226: "button 320 8 2236 2236 0 " 2227: global #7 2228: 1L 2229: + 2230: Func(0,5): CStr 2231: + 2232: Call Method id append (#52, 1 params) 2233: # layout.append("text 333 28 0 4 "); 2234: global #8 2235: "text 333 28 0 4 " 2236: Call Method id append (#52, 1 params) 2237: # buttonret := buttonret + 1; 2238: local #9 2239: 1L 2240: + 2241: local9 := val := val + 1; 2242: local #10 2243: 1L 2244: + 2245: local10 := r := r + 1; 2246: local #1 2247: 1L 2248: + 2249: local1 := buttonret := buttonret + 1; 2250: local #9 2251: 1L 2252: + 2253: local9 := counters := counters + 1; 2254: local #12 2255: 1L 2256: + 2257: local12 := i := i + 1; 2258: local #3 2259: 1L 2260: + 2261: local3 := 2262: leave block(4) 2263: stepforeach @1735 2264: leave block(3) 2265: leave block(1) 2266: 0L 2267: return E:\gry\pol\pvp097\pkg\items\runebook\runebook2.src, Line 382 function FindThatRune(book, button_num ) 2268: pop param 'button_num' 2269: pop param 'book' var runedefs := GetObjProperty( book, "runedefs" ); 2270: decl local #2 2271: local #1 2272: "runedefs" 2273: Func(3,6): GetObjProperty 2274: := 2275: # var rune_num := CInt( button_num / 2); 2276: decl local #3 2277: local #0 2278: 2L 2279: / 2280: Func(0,0): CInt 2281: := 2282: # runedefs[rune_num].append(rune_num); 2283: local #2 2284: local #3 2285: [] 1 2286: local #3 2287: Call Method id append (#52, 1 params) 2288: # return( runedefs[rune_num]); 2289: local #2 2290: local #3 2291: [] 1 2292: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 685 function fizzlator(caster) 2293: pop param 'caster' PlaySoundEffect(caster,0x005d); 2294: local #0 2295: 93L 2296: Func(3,9): PlaySoundEffect 2297: # PlayObjectCenteredEffect(caster, 0x3735,0x0a, 0x1e); 2298: local #0 2299: 14133L 2300: 10L 2301: 30L 2302: Func(3,19): PlayObjectCenteredEffect 2303: # 2304: 0L 2305: return e:/gry/pol/pvp097/scripts/include/attributes.inc, Line 324 function GetHp(who) 2306: pop param 'who' return Cint(GetVital(who, VITALID_LIFE)/ 100); 2307: local #0 2308: "Life" 2309: Func(8,1): GetVital 2310: 100L 2311: / 2312: Func(0,0): CInt 2313: return e:/gry/pol/pvp097/scripts/include/attributes.inc, Line 336 function GetMana(who) 2314: pop param 'who' return(GetVital(who, "Mana")/ 100); 2315: local #0 2316: "Mana" 2317: Func(8,1): GetVital 2318: 100L 2319: / 2320: return e:/gry/pol/pvp097/scripts/include/isValidLoc.inc, Line 2 function isValidLoc(x, y) 2321: pop param 'y' 2322: pop param 'x' if((x >= 5112) && (x <= 5213)) 2323: local #1 2324: 5112L 2325: >= 2326: local #1 2327: 5213L 2328: <= 2329: && 2330: if false goto 2341 if((y >= 1093) && (y <= 1213)) 2331: local #0 2332: 1093L 2333: >= 2334: local #0 2335: 1213L 2336: <= 2337: && 2338: if false goto 2341 return 0; 2339: 0L 2340: return if((x >= 5120) && (x <= 5374)) 2341: local #1 2342: 5120L 2343: >= 2344: local #1 2345: 5374L 2346: <= 2347: && 2348: if false goto 2359 if((y >= 265) && (y <= 512)) 2349: local #0 2350: 265L 2351: >= 2352: local #0 2353: 512L 2354: <= 2355: && 2356: if false goto 2359 return 0; 2357: 0L 2358: return if((x >= 5890) && (x <= 6142)) 2359: local #1 2360: 5890L 2361: >= 2362: local #1 2363: 6142L 2364: <= 2365: && 2366: if false goto 2377 if((y >= 514) && (y <= 1278)) 2367: local #0 2368: 514L 2369: >= 2370: local #0 2371: 1278L 2372: <= 2373: && 2374: if false goto 2377 return 0; 2375: 0L 2376: return if((x >= 5376) && (x <= 5910)) 2377: local #1 2378: 5376L 2379: >= 2380: local #1 2381: 5910L 2382: <= 2383: && 2384: if false goto 2395 if((y >= 1030) && (y <= 1276)) 2385: local #0 2386: 1030L 2387: >= 2388: local #0 2389: 1276L 2390: <= 2391: && 2392: if false goto 2395 return 0; 2393: 0L 2394: return if((x >= 5422) && (x <= 6142)) 2395: local #1 2396: 5422L 2397: >= 2398: local #1 2399: 6142L 2400: <= 2401: && 2402: if false goto 2413 if((y >= 1536) && (y <= 1796)) 2403: local #0 2404: 1536L 2405: >= 2406: local #0 2407: 1796L 2408: <= 2409: && 2410: if false goto 2413 return 0; 2411: 0L 2412: return if((x >= 5632) && (x <= 6142)) 2413: local #1 2414: 5632L 2415: >= 2416: local #1 2417: 6142L 2418: <= 2419: && 2420: if false goto 2431 if((y >= 1784) && (y <= 2303)) 2421: local #0 2422: 1784L 2423: >= 2424: local #0 2425: 2303L 2426: <= 2427: && 2428: if false goto 2431 return 0; 2429: 0L 2430: return if((x >= 5120) && (x <= 5680)) 2431: local #1 2432: 5120L 2433: >= 2434: local #1 2435: 5680L 2436: <= 2437: && 2438: if false goto 2449 if((y >= 2048) && (y <= 2303)) 2439: local #0 2440: 2048L 2441: >= 2442: local #0 2443: 2303L 2444: <= 2445: && 2446: if false goto 2449 return 0; 2447: 0L 2448: return if((x >= 1367) && (x <= 1430)) 2449: local #1 2450: 1367L 2451: >= 2452: local #1 2453: 1430L 2454: <= 2455: && 2456: if false goto 2467 if((y >= 3712) && (y <= 3769)) 2457: local #0 2458: 3712L 2459: >= 2460: local #0 2461: 3769L 2462: <= 2463: && 2464: if false goto 2467 return 0; 2465: 0L 2466: return if((x >= 5120) && (x <= 6143)) 2467: local #1 2468: 5120L 2469: >= 2470: local #1 2471: 6143L 2472: <= 2473: && 2474: if false goto 2485 if((y >= 0) && (y <= 2303 )) 2475: local #0 2476: 0L 2477: >= 2478: local #0 2479: 2303L 2480: <= 2481: && 2482: if false goto 2485 return 0; 2483: 0L 2484: return if((x >= 2361) && (x <= 2434)) 2485: local #1 2486: 2361L 2487: >= 2488: local #1 2489: 2434L 2490: <= 2491: && 2492: if false goto 2503 if((y >= 823) && (y <= 910 )) 2493: local #0 2494: 823L 2495: >= 2496: local #0 2497: 910L 2498: <= 2499: && 2500: if false goto 2503 return 0; 2501: 0L 2502: return if((x >= 2444) && (x <= 2560)) 2503: local #1 2504: 2444L 2505: >= 2506: local #1 2507: 2560L 2508: <= 2509: && 2510: if false goto 2521 if((y >= 844) && (y <= 904 )) 2511: local #0 2512: 844L 2513: >= 2514: local #0 2515: 904L 2516: <= 2517: && 2518: if false goto 2521 return 0; 2519: 0L 2520: return if((x >= 5261) && (x <= 5273)) 2521: local #1 2522: 5261L 2523: >= 2524: local #1 2525: 5273L 2526: <= 2527: && 2528: if false goto 2539 if((y >= 1750) && (y <= 1777 )) 2529: local #0 2530: 1750L 2531: >= 2532: local #0 2533: 1777L 2534: <= 2535: && 2536: if false goto 2539 return 0; 2537: 0L 2538: return if((x >= 6097) && (x <= 6143)) 2539: local #1 2540: 6097L 2541: >= 2542: local #1 2543: 6143L 2544: <= 2545: && 2546: if false goto 2557 if((y >= 1224) && (y <= 1279 )) 2547: local #0 2548: 1224L 2549: >= 2550: local #0 2551: 1279L 2552: <= 2553: && 2554: if false goto 2557 return 0; 2555: 0L 2556: return return 1; 2557: 1L 2558: return return 1; 2559: 1L 2560: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 24 function maincast(parms, delivery, circle, noto, id); 2561: pop param 'id' 2562: pop param 'noto' 2563: pop param 'circle' 2564: pop param 'delivery' 2565: pop param 'parms' var cast_on; 2566: decl local #5 2567: # var spellscroll := 0; 2568: decl local #6 2569: 0L 2570: := 2571: # var scroll; 2572: decl local #7 2573: # var caster := parms[2]; 2574: decl local #8 2575: local #4 2576: 2L 2577: [] 1 2578: := 2579: # if(caster.cmdlevel >= 1 && caster.cmdlevel <= 3) 2580: local #8 2581: get member id 'cmdlevel' (46) 2582: 1L 2583: >= 2584: local #8 2585: get member id 'cmdlevel' (46) 2586: 3L 2587: <= 2588: && 2589: if false goto 2602 SendSysMessage(caster, "GM nie moze czarowac!",3,40); 2590: local #8 2591: "GM nie moze czarowac!" 2592: 3L 2593: 40L 2594: Func(3,2): SendSysMessage 2595: # fizzlator(caster); 2596: local #8 2597: makelocal 2598: jmp userfunc @2293 2599: # return 0; 2600: 0L 2601: return if(caster.paralyzed) 2602: local #8 2603: get member id 'paralyzed' (35) 2604: if false goto 2611 fizzlator(caster); 2605: local #8 2606: makelocal 2607: jmp userfunc @2293 2608: # return 0; 2609: 0L 2610: return EraseObjProperty(caster, "IsMeditating"); 2611: local #8 2612: "IsMeditating" 2613: Func(3,13): EraseObjProperty 2614: # EraseObjProperty(caster, "HealTimer"); 2615: local #8 2616: "HealTimer" 2617: Func(3,13): EraseObjProperty 2618: # if(parms[1] == "#MOB") 2619: local #4 2620: 1L 2621: [] 1 2622: "#MOB" 2623: == 2624: if false goto 2644 caster := parms[2]; 2625: local #4 2626: 2L 2627: [] 1 2628: local8 := cast_on := parms[3]; 2629: local #4 2630: 3L 2631: [] 1 2632: local5 := if(mobspellcast(caster, circle, spellscroll) == 0) 2633: local #8 2634: local #2 2635: local #6 2636: makelocal 2637: jmp userfunc @2959 2638: 0L 2639: == 2640: if false goto 2643 return 0; 2641: 0L 2642: return 2643: goto2897 elseif (parms[1] == "#scroll") 2644: local #4 2645: 1L 2646: [] 1 2647: "#scroll" 2648: == 2649: if false goto 2772 spellscroll := 1; 2650: 1L 2651: local6 := caster := parms[2]; 2652: local #4 2653: 2L 2654: [] 1 2655: local8 := if(spellcast(caster, circle, id) == 0) 2656: local #8 2657: local #2 2658: local #0 2659: makelocal 2660: jmp userfunc @3142 2661: 0L 2662: == 2663: if false goto 2666 return 0; 2664: 0L 2665: return scroll := parms[3]; 2666: local #4 2667: 3L 2668: [] 1 2669: local7 := if(!ReserveItem(scroll)) 2670: local #7 2671: Func(3,14): ReserveItem 2672: if true goto 2685 SendSysMessage(caster,"Straciles koncentracje.", 3, 40); 2673: local #8 2674: "Straciles koncentracje." 2675: 3L 2676: 40L 2677: Func(3,2): SendSysMessage 2678: # fizzlator(caster); 2679: local #8 2680: makelocal 2681: jmp userfunc @2293 2682: # return 0; 2683: 0L 2684: return if(delivery == "notarget") 2685: local #3 2686: "notarget" 2687: == 2688: if false goto 2698 cast_on := caster; 2689: local #8 2690: local5 := if(!can_cast(caster)) 2691: local #8 2692: makelocal 2693: jmp userfunc @3641 2694: if true goto 2697 cast_on := 0; 2695: 0L 2696: local5 := 2697: goto2771 elseif(delivery == "direct") 2698: local #3 2699: "direct" 2700: == 2701: if false goto 2750 if(noto == "helpful") 2702: local #1 2703: "helpful" 2704: == 2705: if false goto 2718 cast_on := CanTargetSpell(caster, TGTOPT_HELPFUL + TGTOPT_CHECK_LOS); 2706: local #8 2707: 5L 2708: makelocal 2709: jmp userfunc @3723 2710: local5 := if(!can_cast(caster)) 2711: local #8 2712: makelocal 2713: jmp userfunc @3641 2714: if true goto 2717 cast_on := 0; 2715: 0L 2716: local5 := 2717: goto2745 elseif(noto == "neutral") 2718: local #1 2719: "neutral" 2720: == 2721: if false goto 2734 cast_on := CanTargetSpell(caster, TGTOPT_CHECK_LOS); 2722: local #8 2723: 1L 2724: makelocal 2725: jmp userfunc @3723 2726: local5 := if(!can_cast(caster)) 2727: local #8 2728: makelocal 2729: jmp userfunc @3641 2730: if true goto 2733 cast_on := 0; 2731: 0L 2732: local5 := 2733: goto2745 cast_on := CanTargetSpell(caster, TGTOPT_HARMFUL + TGTOPT_CHECK_LOS); 2734: local #8 2735: 3L 2736: makelocal 2737: jmp userfunc @3723 2738: local5 := if(!can_cast(caster)) 2739: local #8 2740: makelocal 2741: jmp userfunc @3641 2742: if true goto 2745 cast_on := 0; 2743: 0L 2744: local5 := if(!cast_on) 2745: local #5 2746: if true goto 2749 return 0; 2747: 0L 2748: return 2749: goto2771 elseif(delivery == "indirect") 2750: local #3 2751: "indirect" 2752: == 2753: if false goto 2769 cast_on := CanTargetArea(caster); 2754: local #8 2755: makelocal 2756: jmp userfunc @3653 2757: local5 := if(!can_cast(caster)) 2758: local #8 2759: makelocal 2760: jmp userfunc @3641 2761: if true goto 2764 cast_on := 0; 2762: 0L 2763: local5 := if (!cast_on) 2764: local #5 2765: if true goto 2768 return 0; 2766: 0L 2767: return 2768: goto2771 return 0; 2769: 0L 2770: return 2771: goto2897 caster := parms; 2772: local #4 2773: local8 := EraseObjProperty(caster, "IsMeditating"); 2774: local #8 2775: "IsMeditating" 2776: Func(3,13): EraseObjProperty 2777: # EraseObjProperty(caster, "HealTimer"); 2778: local #8 2779: "HealTimer" 2780: Func(3,13): EraseObjProperty 2781: # if(caster.ip) 2782: local #8 2783: get member id 'ip' (49) 2784: if false goto 2789 SpeakPowerwords(caster, id); 2785: local #8 2786: local #0 2787: Func(3,15): SpeakPowerWords 2788: # if (spellcast(caster, circle, id) == 0) 2789: local #8 2790: local #2 2791: local #0 2792: makelocal 2793: jmp userfunc @3142 2794: 0L 2795: == 2796: if false goto 2799 return 0; 2797: 0L 2798: return rekall := 0; 2799: 0L 2800: global0 := if(getobjproperty(caster, "wraith") && (id == 32)) 2801: local #8 2802: "wraith" 2803: Func(3,6): GetObjProperty 2804: local #0 2805: 32L 2806: == 2807: && 2808: if false goto 2811 rekall := 1; 2809: 1L 2810: global0 := if(delivery == "notarget") 2811: local #3 2812: "notarget" 2813: == 2814: if false goto 2824 cast_on := caster; 2815: local #8 2816: local5 := if(!can_cast(caster)) 2817: local #8 2818: makelocal 2819: jmp userfunc @3641 2820: if true goto 2823 cast_on := 0; 2821: 0L 2822: local5 := 2823: goto2897 elseif(delivery == "direct") 2824: local #3 2825: "direct" 2826: == 2827: if false goto 2876 if(noto == "helpful") 2828: local #1 2829: "helpful" 2830: == 2831: if false goto 2844 cast_on := CanTargetSpell(caster, TGTOPT_HELPFUL + TGTOPT_CHECK_LOS); 2832: local #8 2833: 5L 2834: makelocal 2835: jmp userfunc @3723 2836: local5 := if(!can_cast(caster)) 2837: local #8 2838: makelocal 2839: jmp userfunc @3641 2840: if true goto 2843 cast_on := 0; 2841: 0L 2842: local5 := 2843: goto2871 elseif(noto == "neutral") 2844: local #1 2845: "neutral" 2846: == 2847: if false goto 2860 cast_on := CanTargetSpell(caster, TGTOPT_CHECK_LOS); 2848: local #8 2849: 1L 2850: makelocal 2851: jmp userfunc @3723 2852: local5 := if(!can_cast(caster)) 2853: local #8 2854: makelocal 2855: jmp userfunc @3641 2856: if true goto 2859 cast_on := 0; 2857: 0L 2858: local5 := 2859: goto2871 cast_on := CanTargetSpell(caster, TGTOPT_HARMFUL + TGTOPT_CHECK_LOS); 2860: local #8 2861: 3L 2862: makelocal 2863: jmp userfunc @3723 2864: local5 := if(!can_cast(caster)) 2865: local #8 2866: makelocal 2867: jmp userfunc @3641 2868: if true goto 2871 cast_on := 0; 2869: 0L 2870: local5 := if (!cast_on) 2871: local #5 2872: if true goto 2875 return 0; 2873: 0L 2874: return 2875: goto2897 elseif(delivery == "indirect") 2876: local #3 2877: "indirect" 2878: == 2879: if false goto 2895 cast_on := CanTargetArea(caster); 2880: local #8 2881: makelocal 2882: jmp userfunc @3653 2883: local5 := if(!can_cast(caster)) 2884: local #8 2885: makelocal 2886: jmp userfunc @3641 2887: if true goto 2890 cast_on := 0; 2888: 0L 2889: local5 := if (!cast_on) 2890: local #5 2891: if true goto 2894 return 0; 2892: 0L 2893: return 2894: goto2897 return 0; 2895: 0L 2896: return if(spellscroll == 1) 2897: local #6 2898: 1L 2899: == 2900: if false goto 2907 if(!SubtractAmount(scroll, 1)) 2901: local #7 2902: 1L 2903: Func(3,16): SubtractAmount 2904: if true goto 2907 return 0; 2905: 0L 2906: return if(cast_on.npctemplate) 2907: local #5 2908: get member id 'npctemplate' (62) 2909: if false goto 2945 if(RandomInt(3) == 2) 2910: 3L 2911: Func(9,0): RandomInt 2912: 2L 2913: == 2914: if false goto 2945 var ev := array; 2915: decl local #0 2916: array 2917: := 2918: # ev.+ type; 2919: local #9 2920: "type" 2921: .+ 2922: # ev.+ source; 2923: local #9 2924: "source" 2925: .+ 2926: # ev.type := EVID_PEACEMADE; 2927: local #9 2928: 2147483647L 2929: set member 'type' # ev.source := caster; 2930: local #9 2931: local #8 2932: set member 'source' # SendEvent(cast_on, ev); 2933: local #5 2934: local #9 2935: Func(3,10): SendEvent 2936: # ev.type := EVID_ENGAGED; 2937: local #9 2938: 2L 2939: set member 'type' # SendEvent(cast_on, ev); 2940: local #5 2941: local #9 2942: Func(3,10): SendEvent 2943: # 2944: leave block(1) var newparms := {}; 2945: decl local #9 2946: array 2947: := 2948: # newparms[1] := caster; 2949: local #9 2950: 1L 2951: local #8 2952: [] := (1) # newparms[2] := cast_on; 2953: local #9 2954: 2L 2955: local #5 2956: [] := (1) # return newparms; 2957: local #9 2958: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 652 function mobspellcast(me, circle, scroll) 2959: pop param 'scroll' 2960: pop param 'circle' 2961: pop param 'me' var diff, umana; 2962: decl local #3 2963: # 2964: decl local #4 2965: # circle := circle; // stops ecompile warning 2966: local #1 2967: local1 := scroll := scroll; // same thing 2968: local #0 2969: local0 := case(circle) 2970: local #1 2971: casejmp 1: @2972 2: @2977 3: @2982 4: @2987 5: @2992 6: @2997 7: @3002 8: @3007 default: @3011 diff := 10; umana := 4; 2972: 10L 2973: local3 := umana := 4; 2974: 4L 2975: local4 := 2976: goto3011 diff := 20; umana := 6; 2977: 20L 2978: local3 := umana := 6; 2979: 6L 2980: local4 := 2981: goto3011 diff := 30; umana := 9; 2982: 30L 2983: local3 := umana := 9; 2984: 9L 2985: local4 := 2986: goto3011 diff := 40; umana := 10; 2987: 40L 2988: local3 := umana := 10; 2989: 10L 2990: local4 := 2991: goto3011 diff := 50; umana := 20; 2992: 50L 2993: local3 := umana := 20; 2994: 20L 2995: local4 := 2996: goto3011 diff := 60; umana := 30; 2997: 60L 2998: local3 := umana := 30; 2999: 30L 3000: local4 := 3001: goto3011 diff := 70; umana := 40; 3002: 70L 3003: local3 := umana := 40; 3004: 40L 3005: local4 := 3006: goto3011 diff := 80; umana := 50; 3007: 80L 3008: local3 := umana := 50; 3009: 50L 3010: local4 := if(getobjproperty(me, "mindrot")) 3011: local #2 3012: "mindrot" 3013: Func(3,6): GetObjProperty 3014: if false goto 3019 umana := umana * 2; 3015: local #4 3016: 2L 3017: * 3018: local4 := if(umana > GetMana(me)) 3019: local #4 3020: local #2 3021: makelocal 3022: jmp userfunc @2314 3023: > 3024: if false goto 3031 fizzlator(me); 3025: local #2 3026: makelocal 3027: jmp userfunc @2293 3028: # return 0; 3029: 0L 3030: return SetMana(me, Cint(GetMana(me) - umana)); 3031: local #2 3032: local #2 3033: makelocal 3034: jmp userfunc @2314 3035: local #4 3036: - 3037: Func(0,0): CInt 3038: makelocal 3039: jmp userfunc @3122 3040: # if(CheckSkill(me, SKILLID_MAGERY, diff, 1)) 3041: local #2 3042: 25L 3043: local #3 3044: 1L 3045: Func(7,7): CheckSkill 3046: if false goto 3050 return 1; 3047: 1L 3048: return 3049: goto3052 return 0; 3050: 0L 3051: return 3052: 0L 3053: return E:\gry\pol\pvp097\pkg\items\runebook\runebook2.src, Line 372 function NormalizeReturnValue( button_num ) 3054: pop param 'button_num' if( button_num == 1 ) 3055: local #0 3056: 1L 3057: == 3058: if false goto 3062 return 1; 3059: 1L 3060: return 3061: goto3068 elseif( button_num == 2 ) 3062: local #0 3063: 2L 3064: == 3065: if false goto 3068 return 2; 3066: 2L 3067: return var mod_ret := Mod( button_num, 2); 3068: decl local #1 3069: local #0 3070: 2L 3071: makelocal 3072: jmp userfunc @4015 3073: := 3074: # return (mod_ret + 2); 3075: local #1 3076: 2L 3077: + 3078: return E:\gry\pol\pvp097\pkg\items\runebook\runebook2.src, Line 187 function renamebook(who, book) 3079: pop param 'book' 3080: pop param 'who' var charges := GetObjProperty(book, "charges"); 3081: decl local #2 3082: local #0 3083: "charges" 3084: Func(3,6): GetObjProperty 3085: := 3086: # if(!charges) 3087: local #2 3088: if true goto 3091 charges := 0; 3089: 0L 3090: local2 := var name := SendTextEntryGump( who, "Wpisz nowa nazwe runebooka. ", TE_CANCEL_E 3091: decl local #3 3092: local #1 3093: "Wpisz nowa nazwe runebooka. " 3094: 1L 3095: 1L 3096: 40L 3097: "" 3098: Func(3,32): SendTextEntryGump 3099: := 3100: # if((!name) || (name == "")) 3101: local #3 3102: ! 3103: local #3 3104: "" 3105: == 3106: || 3107: if false goto 3110 name := "runebook"; 3108: "runebook" 3109: local3 := SetObjProperty(book,"name", name); 3110: local #0 3111: "name" 3112: local #3 3113: Func(3,0): SetObjProperty 3114: # bookname(who, book); 3115: local #1 3116: local #0 3117: makelocal 3118: jmp userfunc @538 3119: # 3120: 0L 3121: return e:/gry/pol/pvp097/scripts/include/attributes.inc, Line 792 function SetMana(who, amount) 3122: pop param 'amount' 3123: pop param 'who' SetVital(who, "Mana", cint(amount*100.0) + CInt(GetEffectiveSkill(who, SKILLID_ 3124: local #1 3125: "Mana" 3126: local #0 3127: 100LF 3128: * 3129: Func(0,0): CInt 3130: local #1 3131: 16L 3132: makelocal 3133: jmp userfunc @4007 3134: 10L 3135: / 3136: Func(0,0): CInt 3137: + 3138: Func(8,4): SetVital 3139: # 3140: 0L 3141: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 419 function spellcast(me, circle, id) 3142: pop param 'id' 3143: pop param 'circle' 3144: pop param 'me' var spellcfg; 3145: decl local #3 3146: # var mage := GetEffectiveSkill(me, SKILLID_MAGERY); 3147: decl local #4 3148: local #2 3149: 25L 3150: makelocal 3151: jmp userfunc @4007 3152: := 3153: # var archer := GetEffectiveSkill(me, SKILLID_ARCHERY); 3154: decl local #5 3155: local #2 3156: 31L 3157: makelocal 3158: jmp userfunc @4007 3159: := 3160: # var warrior := GetEffectiveSkill(me, SKILLID_SWORDSMANSHIP); 3161: decl local #6 3162: local #2 3163: 40L 3164: makelocal 3165: jmp userfunc @4007 3166: := 3167: # if(id >= 101 && id <= 116) // konfig dla czarow nekro 3168: local #0 3169: 101L 3170: >= 3171: local #0 3172: 116L 3173: <= 3174: && 3175: if false goto 3186 spellcfg := ReadConfigFile(":nekromancja:spells"); 3176: ":nekromancja:spells" 3177: Func(6,0): ReadConfigFile 3178: local3 := if(mage < 100) 3179: local #4 3180: 100L 3181: < 3182: if false goto 3185 return 0; 3183: 0L 3184: return 3185: goto3225 elseif(id >= 201 && id <= 210) 3186: local #0 3187: 201L 3188: >= 3189: local #0 3190: 210L 3191: <= 3192: && 3193: if false goto 3204 spellcfg := ReadConfigFile(":paladynstwo:spells"); 3194: ":paladynstwo:spells" 3195: Func(6,0): ReadConfigFile 3196: local3 := if(warrior < 100) 3197: local #6 3198: 100L 3199: < 3200: if false goto 3203 return 0; 3201: 0L 3202: return 3203: goto3225 elseif(id >= 601 && id <= 616) // konfig dla czarow druidyzmu 3204: local #0 3205: 601L 3206: >= 3207: local #0 3208: 616L 3209: <= 3210: && 3211: if false goto 3222 spellcfg := ReadConfigFile(":druidyzm:spells"); 3212: ":druidyzm:spells" 3213: Func(6,0): ReadConfigFile 3214: local3 := if(archer < 100) 3215: local #5 3216: 100L 3217: < 3218: if false goto 3221 return 0; 3219: 0L 3220: return 3221: goto3225 spellcfg := ReadConfigFile(":spells:spells"); 3222: ":spells:spells" 3223: Func(6,0): ReadConfigFile 3224: local3 := if(!CheckClasses(id, mage, archer, warrior)) 3225: local #0 3226: local #4 3227: local #5 3228: local #6 3229: makelocal 3230: jmp userfunc @3873 3231: if true goto 3240 SendSysMessage(me, "Twoje klasy sie nie zgadzaja. Zglos sie do GMa.",3,40); 3232: local #2 3233: "Twoje klasy sie nie zgadzaja. Zglos sie do GMa." 3234: 3L 3235: 40L 3236: Func(3,2): SendSysMessage 3237: # return 0; 3238: 0L 3239: return var val := SplitWords(spellcfg[id].val); 3240: decl local #7 3241: local #3 3242: local #0 3243: [] 1 3244: get member 'val' 3245: " " 3246: Func(0,4): SplitWords 3247: := 3248: # var times := Cint(val[1]); 3249: decl local #8 3250: local #7 3251: 1L 3252: [] 1 3253: Func(0,0): CInt 3254: := 3255: # if(Cint(GetObjProperty(me, "#zwolnij"))) // prop thunderstormu ktory zwalnia cz 3256: local #2 3257: "#zwolnij" 3258: Func(3,6): GetObjProperty 3259: Func(0,0): CInt 3260: if false goto 3268 times := Cint(val[1]) + 2; 3261: local #7 3262: 1L 3263: [] 1 3264: Func(0,0): CInt 3265: 2L 3266: + 3267: local8 := var slp := CInt(val[2]); 3268: decl local #9 3269: local #7 3270: 2L 3271: [] 1 3272: Func(0,0): CInt 3273: := 3274: # var mhp := GetHp(me); 3275: decl local #10 3276: local #2 3277: makelocal 3278: jmp userfunc @2306 3279: := 3280: # var umana, diff; 3281: decl local #11 3282: # 3283: decl local #12 3284: # var n := 1; 3285: decl local #13 3286: 1L 3287: := 3288: # if(me.dead) 3289: local #2 3290: get member id 'dead' (39) 3291: if false goto 3294 return 0; 3292: 0L 3293: return if(newusemana(me, circle, id) == 0) 3294: local #2 3295: local #1 3296: local #0 3297: makelocal 3298: jmp userfunc @4030 3299: 0L 3300: == 3301: if false goto 3304 return 0; 3302: 0L 3303: return if(getobjproperty(me, "mindrot")) 3304: local #2 3305: "mindrot" 3306: Func(3,6): GetObjProperty 3307: if false goto 3312 umana := umana * 2; 3308: local #11 3309: 2L 3310: * 3311: local11 := rekall := 0; 3312: 0L 3313: global0 := if(getobjproperty(me, "wraith") && (id == 32)) 3314: local #2 3315: "wraith" 3316: Func(3,6): GetObjProperty 3317: local #0 3318: 32L 3319: == 3320: && 3321: if false goto 3328 umana := 0; 3322: 0L 3323: local11 := diff := 0; 3324: 0L 3325: local12 := rekall := 1; 3326: 1L 3327: global0 := if(getobjproperty(me, "horrificbeast")) 3328: local #2 3329: "horrificbeast" 3330: Func(3,6): GetObjProperty 3331: if false goto 3360 if(id < 117 && id != 106 && id != 107 && id != 116) 3332: local #0 3333: 117L 3334: < 3335: local #0 3336: 106L 3337: <> 3338: && 3339: local #0 3340: 107L 3341: <> 3342: && 3343: local #0 3344: 116L 3345: <> 3346: && 3347: if false goto 3360 SendSysMessage(me, "Nie mozesz rzucac tego czaru w tej postaci.",3,40); 3348: local #2 3349: "Nie mozesz rzucac tego czaru w tej postaci." 3350: 3L 3351: 40L 3352: Func(3,2): SendSysMessage 3353: # fizzlator(me); 3354: local #2 3355: makelocal 3356: jmp userfunc @2293 3357: # return 0; 3358: 0L 3359: return if (umana > GetMana(me)) 3360: local #11 3361: local #2 3362: makelocal 3363: jmp userfunc @2314 3364: > 3365: if false goto 3385 PerformAction(me,ANIM_CAST_DIR); 3366: local #2 3367: 16L 3368: Func(3,21): PerformAction 3369: # sleepms(500); 3370: 500L 3371: Func(5,4): Sleepms 3372: # SendSysMessage(me,"Nie masz wystarczajacej ilosci many.", 3, 40); 3373: local #2 3374: "Nie masz wystarczajacej ilosci many." 3375: 3L 3376: 40L 3377: Func(3,2): SendSysMessage 3378: # fizzlator(me); 3379: local #2 3380: makelocal 3381: jmp userfunc @2293 3382: # return 0; 3383: 0L 3384: return if(can_cast(me)) 3385: local #2 3386: makelocal 3387: jmp userfunc @3641 3388: if false goto 3534 var XXX:=me.x; // zmienne do ruchu 3389: decl local #0 3390: local #2 3391: get member id 'x' (0) 3392: := 3393: # var YYY:=me.y; 3394: decl local #1 3395: local #2 3396: get member id 'y' (1) 3397: := 3398: # if(!ConsumeReagents(me, id)) 3399: local #2 3400: local #0 3401: Func(3,22): ConsumeReagents 3402: if true goto 3415 SendSysMessage(me, "Nie masz odpowiedniej ilosci skladnikow.", 3, 40); 3403: local #2 3404: "Nie masz odpowiedniej ilosci skladnikow." 3405: 3L 3406: 40L 3407: Func(3,2): SendSysMessage 3408: # fizzlator(me); 3409: local #2 3410: makelocal 3411: jmp userfunc @2293 3412: # return 0; 3413: 0L 3414: return for (n:=1; n<=times; n:=n+1) 3415: local #13 3416: 1L 3417: := 3418: # 3419: local #13 3420: local #8 3421: <= 3422: if false goto 3501 if( (mhp > GetHp(me) * 60) /100 ) 3423: local #10 3424: local #2 3425: makelocal 3426: jmp userfunc @2306 3427: 60L 3428: * 3429: > 3430: 100L 3431: / 3432: if false goto 3445 SendSysMessage(me,"Straciles koncentracje.", 3, 40); 3433: local #2 3434: "Straciles koncentracje." 3435: 3L 3436: 40L 3437: Func(3,2): SendSysMessage 3438: # fizzlator(me); 3439: local #2 3440: makelocal 3441: jmp userfunc @2293 3442: # return 0; 3443: 0L 3444: return if ( (XXX <> me.x || YYY <> me.y) && !rekall) 3445: local #14 3446: local #2 3447: get member id 'x' (0) 3448: <> 3449: local #15 3450: local #2 3451: get member id 'y' (1) 3452: <> 3453: || 3454: global #0 3455: ! 3456: && 3457: if false goto 3470 SendSysMessage (me, "Nie mozesz czarowac w ruchu.", FONT_NORMAL, 40); 3458: local #2 3459: "Nie mozesz czarowac w ruchu." 3460: 3L 3461: 40L 3462: Func(3,2): SendSysMessage 3463: # fizzlator(me); 3464: local #2 3465: makelocal 3466: jmp userfunc @2293 3467: # return 0; 3468: 0L 3469: return PerformAction(me,ANIM_CAST_DIR); 3470: local #2 3471: 16L 3472: Func(3,21): PerformAction 3473: # if(id >= 201 && id <= 210) 3474: local #0 3475: 201L 3476: >= 3477: local #0 3478: 210L 3479: <= 3480: && 3481: if false goto 3487 PlaySoundEffect(me, 0x245); 3482: local #2 3483: 581L 3484: Func(3,9): PlaySoundEffect 3485: # 3486: goto3491 PlaySoundEffect(me, SFX_SPELL_CURSE); 3487: local #2 3488: 482L 3489: Func(3,9): PlaySoundEffect 3490: # sleepms(500); 3491: 500L 3492: Func(5,4): Sleepms 3493: # 3494: local #13 3495: local #13 3496: 1L 3497: + 3498: := 3499: # 3500: goto3419 if(slp) // sleep (val[2] from the spells.cfg file 3501: local #9 3502: if false goto 3508 sleepms(slp * 100); 3503: local #9 3504: 100L 3505: * 3506: Func(5,4): Sleepms 3507: # if (( XXX <> me.x || YYY <> me.y) && !rekall) 3508: local #14 3509: local #2 3510: get member id 'x' (0) 3511: <> 3512: local #15 3513: local #2 3514: get member id 'y' (1) 3515: <> 3516: || 3517: global #0 3518: ! 3519: && 3520: if false goto 3533 SendSysMessage (me, "Nie mozesz czarowac w ruchu.", FONT_NORMAL, 40); 3521: local #2 3522: "Nie mozesz czarowac w ruchu." 3523: 3L 3524: 40L 3525: Func(3,2): SendSysMessage 3526: # fizzlator(me); 3527: local #2 3528: makelocal 3529: jmp userfunc @2293 3530: # return 0; 3531: 0L 3532: return 3533: leave block(2) if(me.dead) 3534: local #2 3535: get member id 'dead' (39) 3536: if false goto 3539 return 0; 3537: 0L 3538: return return 1; 3539: 1L 3540: return e:/gry/pol/pvp097/scripts/include/coords.inc, Line 6 function ToSextant(x, y) 3541: pop param 'y' 3542: pop param 'x' var latitude_direction, longitude_direction; 3543: decl local #2 3544: # 3545: decl local #3 3546: # var latitude_degrees, longitude_degrees; 3547: decl local #4 3548: # 3549: decl local #5 3550: # var latitude_minutes, longitude_minutes; 3551: decl local #6 3552: # 3553: decl local #7 3554: # latitude_degrees := (y-1624)*0.087890625; 3555: local #0 3556: 1624L 3557: - 3558: 0.0878906LF 3559: * 3560: local4 := longitude_degrees := (x-1323)*0.0703125; 3561: local #1 3562: 1323L 3563: - 3564: 0.0703125LF 3565: * 3566: local5 := if(latitude_degrees < 0) 3567: local #4 3568: 0L 3569: < 3570: if false goto 3574 latitude_direction := "N"; 3571: "N" 3572: local2 := 3573: goto3576 latitude_direction := "S"; 3574: "S" 3575: local2 := if(longitude_degrees < 0) 3576: local #5 3577: 0L 3578: < 3579: if false goto 3583 longitude_direction := "W"; 3580: "W" 3581: local3 := 3582: goto3585 longitude_direction := "E"; 3583: "E" 3584: local3 := latitude_degrees := Abs(latitude_degrees); 3585: local #4 3586: Func(2,2): Abs 3587: local4 := longitude_degrees := Abs(longitude_degrees); 3588: local #5 3589: Func(2,2): Abs 3590: local5 := latitude_minutes := CInt((CInt((latitude_degrees-Floor(latitude_degrees))*100)* 3591: local #4 3592: local #4 3593: Func(2,3): Floor 3594: - 3595: 100L 3596: * 3597: Func(0,0): CInt 3598: 60L 3599: * 3600: 100L 3601: / 3602: Func(0,0): CInt 3603: local6 := longitude_minutes := CInt((CInt((longitude_degrees-Floor(longitude_degrees))*10 3604: local #5 3605: local #5 3606: Func(2,3): Floor 3607: - 3608: 100L 3609: * 3610: Func(0,0): CInt 3611: 60L 3612: * 3613: 100L 3614: / 3615: Func(0,0): CInt 3616: local7 := return(Floor(latitude_degrees) + "o " + latitude_minutes + "'" + latitude_direc 3617: local #4 3618: Func(2,3): Floor 3619: "o " 3620: + 3621: local #6 3622: + 3623: "'" 3624: + 3625: local #2 3626: + 3627: ", " 3628: + 3629: local #5 3630: Func(2,3): Floor 3631: + 3632: "o " 3633: + 3634: local #7 3635: + 3636: "'" 3637: + 3638: local #3 3639: + 3640: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 193 function can_cast(who) 3641: pop param 'who' if(who.dead) 3642: local #0 3643: get member id 'dead' (39) 3644: if false goto 3647 return 0; 3645: 0L 3646: return if(rekall) 3647: global #0 3648: if false goto 3651 return 1; 3649: 1L 3650: return return 1; 3651: 1L 3652: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 283 function CanTargetArea(caster) 3653: pop param 'caster' if (!can_cast(caster)) 3654: local #0 3655: makelocal 3656: jmp userfunc @3641 3657: if true goto 3660 return 0; 3658: 0L 3659: return if(caster.dead) 3660: local #0 3661: get member id 'dead' (39) 3662: if false goto 3665 return 0; 3663: 0L 3664: return var cast_loc := TargetCoordinates(caster); 3665: decl local #1 3666: local #0 3667: Func(3,7): TargetCoordinates 3668: := 3669: # if (!cast_loc.x) 3670: local #1 3671: get member id 'x' (0) 3672: if true goto 3675 return 0; 3673: 0L 3674: return if (!CheckLosAt(caster, cast_loc.x, cast_loc.y, cast_loc.z)) 3675: local #0 3676: local #1 3677: get member id 'x' (0) 3678: local #1 3679: get member id 'y' (1) 3680: local #1 3681: get member id 'z' (2) 3682: Func(3,3): CheckLosAt 3683: if true goto 3696 SendSysMessage(caster, "Nie widzisz tego.", 3, 40); 3684: local #0 3685: "Nie widzisz tego." 3686: 3L 3687: 40L 3688: Func(3,2): SendSysMessage 3689: # fizzlator(caster); 3690: local #0 3691: makelocal 3692: jmp userfunc @2293 3693: # return 0; 3694: 0L 3695: return if(coordist(caster.x, caster.y, cast_loc.x, cast_loc.y) >= 12) 3696: local #0 3697: get member id 'x' (0) 3698: local #0 3699: get member id 'y' (1) 3700: local #1 3701: get member id 'x' (0) 3702: local #1 3703: get member id 'y' (1) 3704: makelocal 3705: jmp userfunc @3950 3706: 12L 3707: >= 3708: if false goto 3721 SendSysMessage(caster, "Za daleko.", 3, 40); 3709: local #0 3710: "Za daleko." 3711: 3L 3712: 40L 3713: Func(3,2): SendSysMessage 3714: # fizzlator(caster); 3715: local #0 3716: makelocal 3717: jmp userfunc @2293 3718: # return 0; 3719: 0L 3720: return return cast_loc; 3721: local #1 3722: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 218 function CanTargetSpell(caster, targopt := TGTOPT_CHECK_LOS) 3723: pop param 'targopt' 3724: pop param 'caster' if(!can_cast(caster)) 3725: local #1 3726: makelocal 3727: jmp userfunc @3641 3728: if true goto 3731 return 0; 3729: 0L 3730: return if(caster.dead) 3731: local #1 3732: get member id 'dead' (39) 3733: if false goto 3736 return 0; 3734: 0L 3735: return var magia := CInt(GetEffectiveSkill(caster, SKILLID_MAGERY)); 3736: decl local #2 3737: local #1 3738: 25L 3739: makelocal 3740: jmp userfunc @4007 3741: Func(0,0): CInt 3742: := 3743: # var druid := CInt(GetEffectiveSkill(caster, SKILLID_FORENSICS)); 3744: decl local #3 3745: local #1 3746: 19L 3747: makelocal 3748: jmp userfunc @4007 3749: Func(0,0): CInt 3750: := 3751: # var nekro := CInt(GetEffectiveSkill(caster, SKILLID_CHIVALRY)); 3752: decl local #4 3753: local #1 3754: 50L 3755: makelocal 3756: jmp userfunc @4007 3757: Func(0,0): CInt 3758: := 3759: # var czarodziej := 0; 3760: decl local #5 3761: 0L 3762: := 3763: # czarodziej := magia + druid + nekro; // najprostszy sposob sprawdzania jaka mag 3764: local #2 3765: local #3 3766: + 3767: local #4 3768: + 3769: local5 := var Sx := caster.x; 3770: decl local #6 3771: local #1 3772: get member id 'x' (0) 3773: := 3774: # var Sy := caster.y; 3775: decl local #7 3776: local #1 3777: get member id 'y' (1) 3778: := 3779: # var MaxSteps := (czarodziej / 5) + 2; 3780: decl local #8 3781: local #5 3782: 5L 3783: / 3784: 2L 3785: + 3786: := 3787: # var cast_on := Target(caster, targopt); 3788: decl local #9 3789: local #1 3790: local #0 3791: Func(3,17): Target 3792: := 3793: # if(!cast_on) 3794: local #9 3795: if true goto 3798 return 0; 3796: 0L 3797: return if(cast_on.hidden) 3798: local #9 3799: get member id 'hidden' (32) 3800: if false goto 3813 SendSysMessage(caster,"Nie widzisz tego.", 3, 40); 3801: local #1 3802: "Nie widzisz tego." 3803: 3L 3804: 40L 3805: Func(3,2): SendSysMessage 3806: # fizzlator(caster); 3807: local #1 3808: makelocal 3809: jmp userfunc @2293 3810: # return 0; 3811: 0L 3812: return if(dist(caster, cast_on) >= 12) 3813: local #1 3814: local #9 3815: makelocal 3816: jmp userfunc @4001 3817: 12L 3818: >= 3819: if false goto 3832 SendSysMessage(caster, "Za daleko.", 3, 40); 3820: local #1 3821: "Za daleko." 3822: 3L 3823: 40L 3824: Func(3,2): SendSysMessage 3825: # fizzlator(caster); 3826: local #1 3827: makelocal 3828: jmp userfunc @2293 3829: # return 0; 3830: 0L 3831: return if(!CheckLineOfSight(caster, cast_on)) 3832: local #1 3833: local #9 3834: Func(3,18): CheckLineOfSight 3835: if true goto 3848 SendSysMessage(caster, "Nie widzisz tego.", 3, 40); 3836: local #1 3837: "Nie widzisz tego." 3838: 3L 3839: 40L 3840: Func(3,2): SendSysMessage 3841: # fizzlator(caster); 3842: local #1 3843: makelocal 3844: jmp userfunc @2293 3845: # return 0; 3846: 0L 3847: return if(coordist(caster.x,caster.y,Sx,Sy) > MaxSteps) 3848: local #1 3849: get member id 'x' (0) 3850: local #1 3851: get member id 'y' (1) 3852: local #6 3853: local #7 3854: makelocal 3855: jmp userfunc @3950 3856: local #8 3857: > 3858: if false goto 3871 SendSysMessage (caster, "Nie mozesz tak daleko odbiec od miejsca rzucenia czaru 3859: local #1 3860: "Nie mozesz tak daleko odbiec od miejsca rzucenia czaru." 3861: 3L 3862: 40L 3863: Func(3,2): SendSysMessage 3864: # fizzlator(caster); 3865: local #1 3866: makelocal 3867: jmp userfunc @2293 3868: # return 0; 3869: 0L 3870: return return cast_on; 3871: local #9 3872: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 693 function CheckClasses(id, mage, archer, warrior) 3873: pop param 'warrior' 3874: pop param 'archer' 3875: pop param 'mage' 3876: pop param 'id' if(id <= 100) 3877: local #3 3878: 100L 3879: <= 3880: if false goto 3892 if(archer > 0 || warrior > 0) 3881: local #1 3882: 0L 3883: > 3884: local #0 3885: 0L 3886: > 3887: || 3888: if false goto 3891 return 0; 3889: 0L 3890: return 3891: goto3948 elseif(id >= 101 && id <= 116) // czary nekro 3892: local #3 3893: 101L 3894: >= 3895: local #3 3896: 116L 3897: <= 3898: && 3899: if false goto 3911 if(archer > 0 || warrior > 0) 3900: local #1 3901: 0L 3902: > 3903: local #0 3904: 0L 3905: > 3906: || 3907: if false goto 3910 return 0; 3908: 0L 3909: return 3910: goto3948 elseif(id >= 201 && id <= 210) // czary pal 3911: local #3 3912: 201L 3913: >= 3914: local #3 3915: 210L 3916: <= 3917: && 3918: if false goto 3930 if(mage > 0 || archer > 0) 3919: local #2 3920: 0L 3921: > 3922: local #1 3923: 0L 3924: > 3925: || 3926: if false goto 3929 return 0; 3927: 0L 3928: return 3929: goto3948 elseif(id >= 601 && id <= 616) // czary druida 3930: local #3 3931: 601L 3932: >= 3933: local #3 3934: 616L 3935: <= 3936: && 3937: if false goto 3948 if(warrior > 0 || mage > 0) 3938: local #0 3939: 0L 3940: > 3941: local #2 3942: 0L 3943: > 3944: || 3945: if false goto 3948 return 0; 3946: 0L 3947: return return 1; 3948: 1L 3949: return e:/gry/pol/pvp097/scripts/include/dist.inc, Line 11 function coordist( x1, y1, x2, y2 ) 3950: pop param 'y2' 3951: pop param 'x2' 3952: pop param 'y1' 3953: pop param 'x1' var xd := x1 - x2; 3954: decl local #4 3955: local #3 3956: local #1 3957: - 3958: := 3959: # var yd := y1 - y2; 3960: decl local #5 3961: local #2 3962: local #0 3963: - 3964: := 3965: # if (xd < 0) 3966: local #4 3967: 0L 3968: < 3969: if false goto 3973 xd := -xd; 3970: local #4 3971: unary - 3972: local4 := if (yd < 0) 3973: local #5 3974: 0L 3975: < 3976: if false goto 3980 yd := -yd; 3977: local #5 3978: unary - 3979: local5 := if (xd > yd) 3980: local #4 3981: local #5 3982: > 3983: if false goto 3987 return xd; 3984: local #4 3985: return 3986: goto3989 return yd; 3987: local #5 3988: return 3989: 0L 3990: return E:\gry\pol\pvp097\pkg\items\runebook\runebook2.src, Line 368 function CurrentPageRuneNum( pagecount, rune_number ) 3991: pop param 'rune_number' 3992: pop param 'pagecount' return( rune_number - ( (pagecount-1) * 2)); 3993: local #0 3994: local #1 3995: 1L 3996: - 3997: 2L 3998: * 3999: - 4000: return e:/gry/pol/pvp097/scripts/include/dist.inc, Line 6 function dist( obj1, obj2 ) 4001: pop param 'obj2' 4002: pop param 'obj1' return Distance( obj1, obj2 ); 4003: local #1 4004: local #0 4005: Func(3,11): Distance 4006: return e:/gry/pol/pvp097/scripts/include/attributes.inc, Line 307 function GetEffectiveSkill(who, skillid) 4007: pop param 'skillid' 4008: pop param 'who' return GetAttribute(who, GetAttributeIdBySkillId(skillid)); 4009: local #1 4010: local #0 4011: makelocal 4012: jmp userfunc @4247 4013: Func(7,2): GetAttribute 4014: return e:/gry/pol/pvp097/scripts/include/math.inc, Line 68 function Mod(Numerator, Denominator) 4015: pop param 'Denominator' 4016: pop param 'Numerator' var dividend := Numerator - ( CInt(Numerator/Denominator) * Denominator ); 4017: decl local #2 4018: local #1 4019: local #1 4020: local #0 4021: / 4022: Func(0,0): CInt 4023: local #0 4024: * 4025: - 4026: := 4027: # return dividend; 4028: local #2 4029: return e:/gry/pol/pvp097/scripts/include/spellRestrictions.inc, Line 575 function newusemana(who, circle, id) 4030: pop param 'id' 4031: pop param 'circle' 4032: pop param 'who' var umana; 4033: decl local #3 4034: # if(id >= 1 && id <= 101) // czary zwykle 4035: local #0 4036: 1L 4037: >= 4038: local #0 4039: 101L 4040: <= 4041: && 4042: if false goto 4069 case (circle) 4043: local #1 4044: casejmp 1: @4045 2: @4048 3: @4051 4: @4054 5: @4057 6: @4060 7: @4063 8: @4066 default: @4068 umana := 5; 4045: 5L 4046: local3 := 4047: goto4068 umana := 10; 4048: 10L 4049: local3 := 4050: goto4068 umana := 11; 4051: 11L 4052: local3 := 4053: goto4068 umana := 15; 4054: 15L 4055: local3 := 4056: goto4068 umana := 20; 4057: 20L 4058: local3 := 4059: goto4068 umana := 30; 4060: 30L 4061: local3 := 4062: goto4068 umana := 40; 4063: 40L 4064: local3 := 4065: goto4068 umana := 50; 4066: 50L 4067: local3 := 4068: goto4204 elseif(id >= 101 && id <= 116) // czary nekro 4069: local #0 4070: 101L 4071: >= 4072: local #0 4073: 116L 4074: <= 4075: && 4076: if false goto 4103 case (circle) 4077: local #1 4078: casejmp 1: @4079 2: @4082 3: @4085 4: @4088 5: @4091 6: @4094 7: @4097 8: @4100 default: @4102 umana := 5; 4079: 5L 4080: local3 := 4081: goto4102 umana := 10; 4082: 10L 4083: local3 := 4084: goto4102 umana := 11; 4085: 11L 4086: local3 := 4087: goto4102 umana := 15; 4088: 15L 4089: local3 := 4090: goto4102 umana := 20; 4091: 20L 4092: local3 := 4093: goto4102 umana := 30; 4094: 30L 4095: local3 := 4096: goto4102 umana := 40; 4097: 40L 4098: local3 := 4099: goto4102 umana := 50; 4100: 50L 4101: local3 := 4102: goto4204 elseif(id >= 201 && id <= 210) // czary paladyna 4103: local #0 4104: 201L 4105: >= 4106: local #0 4107: 210L 4108: <= 4109: && 4110: if false goto 4174 var spellcfg := ReadConfigFile(":paladynstwo:spells"); 4111: decl local #0 4112: ":paladynstwo:spells" 4113: Func(6,0): ReadConfigFile 4114: := 4115: # var tithneeded := GetConfigInt(FindConfigElem(spellcfg, cstr(id)), "Tithing"); 4116: decl local #1 4117: local #4 4118: local #0 4119: Func(0,5): CStr 4120: Func(6,1): FindConfigElem 4121: "Tithing" 4122: Func(6,2): GetConfigInt 4123: := 4124: # var tithing := CInt(getobjproperty(who, "dziesiecina")); 4125: decl local #2 4126: local #2 4127: "dziesiecina" 4128: Func(3,6): GetObjProperty 4129: Func(0,0): CInt 4130: := 4131: # if(tithing < tithneeded) 4132: local #6 4133: local #5 4134: < 4135: if false goto 4144 SendSysMessage(who, "Twoja dziesiecina nie wystarcza na rzucenie tego czaru",3, 4136: local #2 4137: "Twoja dziesiecina nie wystarcza na rzucenie tego czaru" 4138: 3L 4139: 40L 4140: Func(3,2): SendSysMessage 4141: # return 0; 4142: 0L 4143: return case (circle) 4144: local #1 4145: casejmp 1: @4146 2: @4149 3: @4152 default: @4154 umana := 10; 4146: 10L 4147: local3 := 4148: goto4154 umana := 15; 4149: 15L 4150: local3 := 4151: goto4154 umana := 20; 4152: 20L 4153: local3 := tithing := tithing - tithneeded; 4154: local #6 4155: local #5 4156: - 4157: local6 := SendSysMessage(who, "Dziesiecina: " + CStr(tithing),3,40); 4158: local #2 4159: "Dziesiecina: " 4160: local #6 4161: Func(0,5): CStr 4162: + 4163: 3L 4164: 40L 4165: Func(3,2): SendSysMessage 4166: # Setobjproperty(who, "dziesiecina", tithing); 4167: local #2 4168: "dziesiecina" 4169: local #6 4170: Func(3,0): SetObjProperty 4171: # 4172: leave block(3) 4173: goto4204 elseif(id >= 601 && id <= 616) // czary druida 4174: local #0 4175: 601L 4176: >= 4177: local #0 4178: 616L 4179: <= 4180: && 4181: if false goto 4204 case (circle) 4182: local #1 4183: casejmp 1: @4184 2: @4187 3: @4190 4: @4193 5: @4196 6: @4199 7: @4202 default: @4204 umana := 10; 4184: 10L 4185: local3 := 4186: goto4204 umana := 24; 4187: 24L 4188: local3 := 4189: goto4204 umana := 32; 4190: 32L 4191: local3 := 4192: goto4204 umana := 34; 4193: 34L 4194: local3 := 4195: goto4204 umana := 40; 4196: 40L 4197: local3 := 4198: goto4204 umana := 50; 4199: 50L 4200: local3 := 4201: goto4204 umana := 70; 4202: 70L 4203: local3 := if(getobjproperty(who, "mindrot")) 4204: local #2 4205: "mindrot" 4206: Func(3,6): GetObjProperty 4207: if false goto 4212 umana := umana * 2; 4208: local #3 4209: 2L 4210: * 4211: local3 := var mana := GetMana(who); 4212: decl local #4 4213: local #2 4214: makelocal 4215: jmp userfunc @2314 4216: := 4217: # if(mana >= umana) 4218: local #4 4219: local #3 4220: >= 4221: if false goto 4233 SetMana(who, Cint(mana - umana)); 4222: local #2 4223: local #4 4224: local #3 4225: - 4226: Func(0,0): CInt 4227: makelocal 4228: jmp userfunc @3122 4229: # return 1; 4230: 1L 4231: return 4232: goto4245 SendSysMessage(who,"Masz za malo many.", 3, 40); 4233: local #2 4234: "Masz za malo many." 4235: 3L 4236: 40L 4237: Func(3,2): SendSysMessage 4238: # fizzlator(who); 4239: local #2 4240: makelocal 4241: jmp userfunc @2293 4242: # return 0; 4243: 0L 4244: return 4245: 0L 4246: return e:/gry/pol/pvp097/scripts/include/attributes.inc, Line 125 function GetAttributeIdBySkillId(skillid) 4247: pop param 'skillid' case(skillid) 4248: local #0 4249: casejmp 0: @4250 1: @4253 2: @4256 3: @4259 4: @4262 5: @4265 6: @4268 7: @4271 8: @4274 9: @4277 10: @4280 11: @4283 12: @4286 13: @4289 14: @4292 15: @4295 16: @4298 17: @4301 18: @4304 19: @4307 20: @4310 21: @4313 22: @4316 23: @4319 24: @4322 25: @4325 26: @4328 27: @4331 28: @4334 29: @4337 30: @4340 31: @4343 32: @4346 33: @4349 34: @4352 35: @4355 36: @4358 37: @4361 38: @4364 39: @4367 40: @4370 41: @4373 42: @4376 43: @4379 44: @4382 45: @4385 46: @4388 47: @4391 48: @4394 49: @4397 50: @4400 default: @4402 return ATTRIBUTEID_ALCHEMY; 4250: "alchemy" 4251: return 4252: goto4402 return ATTRIBUTEID_ANATOMY; 4253: "anatomy" 4254: return 4255: goto4402 return ATTRIBUTEID_ANIMALLORE; 4256: "animallore" 4257: return 4258: goto4402 return ATTRIBUTEID_ITEMID; 4259: "itemid" 4260: return 4261: goto4402 return ATTRIBUTEID_ARMSLORE; 4262: "armslore" 4263: return 4264: goto4402 return ATTRIBUTEID_PARRY; 4265: "parry" 4266: return 4267: goto4402 return ATTRIBUTEID_BEGGING; 4268: "begging" 4269: return 4270: goto4402 return ATTRIBUTEID_BLACKSMITHY; 4271: "blacksmithy" 4272: return 4273: goto4402 return ATTRIBUTEID_BOWCRAFT; 4274: "bowcraft" 4275: return 4276: goto4402 return ATTRIBUTEID_PEACEMAKING; 4277: "peacemaking" 4278: return 4279: goto4402 return ATTRIBUTEID_CAMPING; 4280: "camping" 4281: return 4282: goto4402 return ATTRIBUTEID_CARPENTRY; 4283: "carpentry" 4284: return 4285: goto4402 return ATTRIBUTEID_CARTOGRAPHY; 4286: "cartography" 4287: return 4288: goto4402 return ATTRIBUTEID_COOKING; 4289: "cooking" 4290: return 4291: goto4402 return ATTRIBUTEID_DETECTINGHIDDEN; 4292: "detectinghidden" 4293: return 4294: goto4402 return ATTRIBUTEID_ENTICEMENT; 4295: "enticement" 4296: return 4297: goto4402 return ATTRIBUTEID_EVALINT; 4298: "evaluatingintelligence" 4299: return 4300: goto4402 return ATTRIBUTEID_HEALING; 4301: "healing" 4302: return 4303: goto4402 return ATTRIBUTEID_FISHING; 4304: "fishing" 4305: return 4306: goto4402 return ATTRIBUTEID_FORENSICS; 4307: "forensicevaluation" 4308: return 4309: goto4402 return ATTRIBUTEID_HERDING; 4310: "herding" 4311: return 4312: goto4402 return ATTRIBUTEID_HIDING; 4313: "hiding" 4314: return 4315: goto4402 return ATTRIBUTEID_PROVOCATION; 4316: "provocation" 4317: return 4318: goto4402 return ATTRIBUTEID_INSCRIPTION; 4319: "inscription" 4320: return 4321: goto4402 return ATTRIBUTEID_LOCKPICKING; 4322: "lockpicking" 4323: return 4324: goto4402 return ATTRIBUTEID_MAGERY; 4325: "magery" 4326: return 4327: goto4402 return ATTRIBUTEID_MAGICRESISTANCE; 4328: "magicresistance" 4329: return 4330: goto4402 return ATTRIBUTEID_TACTICS; 4331: "tactics" 4332: return 4333: goto4402 return ATTRIBUTEID_SNOOPING; 4334: "snooping" 4335: return 4336: goto4402 return ATTRIBUTEID_MUSICIANSHIP; 4337: "musicianship" 4338: return 4339: goto4402 return ATTRIBUTEID_POISONING; 4340: "poisoning" 4341: return 4342: goto4402 return ATTRIBUTEID_ARCHERY; 4343: "archery" 4344: return 4345: goto4402 return ATTRIBUTEID_SPIRITSPEAK; 4346: "spiritspeak" 4347: return 4348: goto4402 return ATTRIBUTEID_STEALING; 4349: "stealing" 4350: return 4351: goto4402 return ATTRIBUTEID_TAILORING; 4352: "tailoring" 4353: return 4354: goto4402 return ATTRIBUTEID_TAMING; 4355: "animaltaming" 4356: return 4357: goto4402 return ATTRIBUTEID_TASTEID; 4358: "tasteidentification" 4359: return 4360: goto4402 return ATTRIBUTEID_TINKERING; 4361: "tinkering" 4362: return 4363: goto4402 return ATTRIBUTEID_TRACKING; 4364: "tracking" 4365: return 4366: goto4402 return ATTRIBUTEID_VETERINARY; 4367: "veterinary" 4368: return 4369: goto4402 return ATTRIBUTEID_SWORDSMANSHIP; 4370: "swordsmanship" 4371: return 4372: goto4402 return ATTRIBUTEID_MACEFIGHTING; 4373: "macefighting" 4374: return 4375: goto4402 return ATTRIBUTEID_FENCING; 4376: "fencing" 4377: return 4378: goto4402 return ATTRIBUTEID_WRESTLING; 4379: "wrestling" 4380: return 4381: goto4402 return ATTRIBUTEID_LUMBERJACKING; 4382: "lumberjacking" 4383: return 4384: goto4402 return ATTRIBUTEID_MINING; 4385: "mining" 4386: return 4387: goto4402 return ATTRIBUTEID_MEDITATION; 4388: "meditation" 4389: return 4390: goto4402 return ATTRIBUTEID_STEALTH; 4391: "stealth" 4392: return 4393: goto4402 return ATTRIBUTEID_REMOVETRAP; 4394: "removetrap" 4395: return 4396: goto4402 return ATTRIBUTEID_NECROMANCY; 4397: "necromancy" 4398: return 4399: goto4402 return ATTRIBUTEID_CHIVALRY; 4400: "chivalry" 4401: return var ret := error; 4402: decl local #1 4403: error 4404: := 4405: # ret.+errortext := "No equivalent attributeid found for skillid " + skillid; 4406: local #1 4407: "errortext" 4408: .+ 4409: "No equivalent attributeid found for skillid " 4410: local #0 4411: + 4412: := # return ret; 4413: local #1 4414: return