wpdev-commits Mailing List for Wolfpack Emu (Page 73)
Brought to you by:
rip,
thiagocorrea
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(14) |
Aug
(121) |
Sep
(256) |
Oct
(59) |
Nov
(73) |
Dec
(120) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(259) |
Feb
(381) |
Mar
(501) |
Apr
(355) |
May
(427) |
Jun
(270) |
Jul
(394) |
Aug
(412) |
Sep
(724) |
Oct
(578) |
Nov
(65) |
Dec
|
From: Sebastian H. <dar...@us...> - 2004-07-23 19:42:21
|
Update of /cvsroot/wpdev/xmlscripts/definitions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7456 Modified Files: scripts.xml Log Message: More options for the beverage script Index: scripts.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/scripts.xml,v retrieving revision 1.149 retrieving revision 1.150 diff -C2 -d -r1.149 -r1.150 *** scripts.xml 18 Jul 2004 16:42:55 -0000 1.149 --- scripts.xml 23 Jul 2004 19:42:11 -0000 1.150 *************** *** 41,44 **** --- 41,45 ---- <script>ore</script> <script>pickaxe</script> + <script>beverage</script> <script>pickpocket_dip</script> <script>potionkeg</script> *************** *** 213,216 **** --- 214,218 ---- <!-- Testing Scripts --> + <script>testing</script> <script>testing.multibag</script> |
From: Sebastian H. <dar...@us...> - 2004-07-23 19:40:12
|
Update of /cvsroot/wpdev/xmlscripts/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6920 Modified Files: beverage.py Log Message: Added more containers to the beverage script. Index: beverage.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/beverage.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** beverage.py 23 Jul 2004 15:42:41 -0000 1.1 --- beverage.py 23 Jul 2004 19:40:00 -0000 1.2 *************** *** 7,19 **** CONTAINERS = { 0x9c8: [1042965, 10, 0], # Jug } # Tag: Cliloc Offset, Intoxication Strength FLUIDS = { ! 'ale': [0, 1], ! 'cider': [1, 3], ! 'liquor': [2, 4], 'milk': [3, 0], ! 'wine': [4, 2], 'water': [5, 0], } --- 7,87 ---- CONTAINERS = { 0x9c8: [1042965, 10, 0], # Jug + 0x99f: [1042959, 5, 0], # Bottle of Ale + 0x99b: [1042959, 5, 0], # Bottle of Liquor + 0x9c7: [1042959, 5, 0], # Bottle of Wine + + # Ceramic Mugs + 0x995: [1042982, 1, 0x995], + 0x996: [1042982, 1, 0x995], + 0x997: [1042982, 1, 0x995], + 0x998: [1042982, 1, 0x995], + 0x999: [1042982, 1, 0x995], + 0x9CA: [1042982, 1, 0x995], + + # Pewter Mugs + 0xFFF: [1042994, 1, 0xFFF], + 0x1000: [1042994, 1, 0xFFF], + 0x1001: [1042994, 1, 0xFFF], + 0x1002: [1042994, 1, 0xFFF], + + # Goblet + 0x99A: [1043000, 1, 0x99A], + 0x9B3: [1043000, 1, 0x99A], + 0x9BF: [1043000, 1, 0x99A], + 0x9CB: [1043000, 1, 0x99A], + + # Glass Mug + 0x1F7D: [1042976, 5, 0x1F81], + 0x1F7E: [1042976, 5, 0x1F81], + 0x1F7F: [1042976, 5, 0x1F81], + 0x1F80: [1042976, 5, 0x1F81], + 0x1F81: [1042976, 5, 0x1F81], + 0x1F82: [1042976, 5, 0x1F81], + 0x1F83: [1042976, 5, 0x1F81], + 0x1F84: [1042976, 5, 0x1F81], + 0x1F85: [1042976, 5, 0x1F81], + 0x1F86: [1042976, 5, 0x1F81], + 0x1F87: [1042976, 5, 0x1F81], + 0x1F88: [1042976, 5, 0x1F81], + 0x1F89: [1042976, 5, 0x1F81], + 0x1F8A: [1042976, 5, 0x1F81], + 0x1F8B: [1042976, 5, 0x1F81], + 0x1F8C: [1042976, 5, 0x1F81], + 0x1F8D: [1042976, 5, 0x1F81], + 0x1F8E: [1042976, 5, 0x1F81], + 0x1F8F: [1042976, 5, 0x1F81], + 0x1F90: [1042976, 5, 0x1F81], + 0x1F91: [1042976, 5, 0x1F81], + 0x1F92: [1042976, 5, 0x1F81], + 0x1F93: [1042976, 5, 0x1F81], + 0x1F94: [1042976, 5, 0x1F81], + 0x9EE: [1042976, 5, 0x1F81], + 0x9EF: [1042976, 5, 0x1F81], + + # Pitcher + 0x9a7: [1048128, 5, 0xFF6], + 0xff6: [1048128, 5, 0xFF6], + 0xff7: [1048128, 5, 0xFF6], + 0xff8: [1048128, 5, 0xFF6], + 0xff9: [1048128, 5, 0xFF6], + 0x1f95: [1048128, 5, 0xFF6], + 0x1f96: [1048128, 5, 0xFF6], + 0x1f97: [1048128, 5, 0xFF6], + 0x1f98: [1048128, 5, 0xFF6], + 0x1f99: [1048128, 5, 0xFF6], + 0x1f9a: [1048128, 5, 0xFF6], + 0x1f9b: [1048128, 5, 0xFF6], + 0x1f9c: [1048128, 5, 0xFF6], + 0x1f9d: [1048128, 5, 0xFF6], + 0x1f9e: [1048128, 5, 0xFF6], } # Tag: Cliloc Offset, Intoxication Strength FLUIDS = { ! 'ale': [0, 3], ! 'cider': [1, 7], ! 'liquor': [2, 9], 'milk': [3, 0], ! 'wine': [4, 5], 'water': [5, 0], } *************** *** 41,45 **** def refill(char, item): return 0 ! # # Take a nip of the nice fluid in the container --- 109,150 ---- def refill(char, item): return 0 ! ! # ! # Intoxication ! # ! def intoxication(char, args): ! intoxication = 0 ! if char.hastag('intoxication'): ! intoxication = int(char.gettag('intoxication')) ! ! intoxication -= 1 ! ! # Otherwise no effect ! if char.socket: ! if intoxication >= (char.strength + 9) / 10: ! if random.randint(0, 3) == 0 and not char.itemonlayer(LAYER_MOUNT): ! char.direction = random.randint(0, 7) ! char.update() ! ! char.action(ANIM_BOW) ! ! if random.randint(0, 1) == 0: ! char.say('*hic*', 0x3B2) ! ! # Loose Mana and Stamina ! char.stamina = max(0, char.stamina - intoxication) ! char.updatestamina() ! char.mana = max(0, char.mana - intoxication) ! char.updatemana() ! ! if intoxication == max(0, ((char.strength + 9) / 10) - 1): ! char.socket.clilocmessage(500850) ! ! if intoxication > 0: ! char.addtimer(3000, 'beverage.intoxication', [], 1, 0, 'intoxication') ! char.settag('intoxication', intoxication) ! else: ! char.deltag('intoxication') ! # # Take a nip of the nice fluid in the container *************** *** 49,57 **** if item.hastag('quantity'): quantity = int(item.gettag('quantity')) ! ! if quantity == 0: ! char.socket.sysmessage('This seems to be empty.') ! return 1 ! btype = '' if item.hastag('fluid'): --- 154,158 ---- if item.hastag('quantity'): quantity = int(item.gettag('quantity')) ! btype = '' if item.hastag('fluid'): *************** *** 60,64 **** if not FLUIDS.has_key(btype): char.socket.sysmessage("You shouldn't drink this strange fluid.") ! return 0 if not CONTAINERS.has_key(item.id): --- 161,165 ---- if not FLUIDS.has_key(btype): char.socket.sysmessage("You shouldn't drink this strange fluid.") ! return 1 if not CONTAINERS.has_key(item.id): *************** *** 68,77 **** fprop = FLUIDS[btype] ! # Drink ! char.soundeffect(0x30) ! char.action(ANIM_FIDGET3) ! ! # Reduce Quantity ! quantity -= 1 # Empty --- 169,190 ---- fprop = FLUIDS[btype] ! if quantity > 0: ! # Drink ! char.soundeffect(0x30) ! char.action(ANIM_FIDGET3) ! ! # Intoxication ! if fprop[1] > 0: ! intoxication = 0 ! if char.hastag('intoxication'): ! intoxication = int(char.gettag('intoxication')) ! char.dispel(None, 1, 'intoxication') ! ! intoxication += fprop[1] ! char.settag('intoxication', intoxication) ! char.addtimer(3000, 'beverage.intoxication', [], 1, 0, 'intoxication') ! ! # Reduce Quantity ! quantity -= 1 # Empty *************** *** 83,86 **** --- 196,200 ---- item.update() item.deltag('quantity') + item.deltag('fluid') item.resendtooltip() else: *************** *** 94,112 **** # def onShowTooltip(player, object, tooltip): - btype = '' - if object.hastag('fluid'): - btype = unicode(object.gettag('fluid')) - - if not FLUIDS.has_key(btype): - return - if not CONTAINERS.has_key(object.id): return cprop = CONTAINERS[object.id] ! fprop = FLUIDS[btype] ! ! tooltip.reset() ! tooltip.add(cprop[0] + fprop[0], '') quantity = 0 --- 208,225 ---- # def onShowTooltip(player, object, tooltip): if not CONTAINERS.has_key(object.id): return cprop = CONTAINERS[object.id] ! ! btype = '' ! if object.hastag('fluid'): ! btype = unicode(object.gettag('fluid')) ! ! if FLUIDS.has_key(btype): ! fprop = FLUIDS[btype] ! ! tooltip.reset() ! tooltip.add(cprop[0] + fprop[0], '') quantity = 0 |
From: Sebastian H. <dar...@us...> - 2004-07-23 15:42:52
|
Update of /cvsroot/wpdev/xmlscripts/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31819 Added Files: beverage.py Log Message: Started a beverage script. --- NEW FILE: beverage.py --- import wolfpack from wolfpack.consts import * import random # Baseid: ClilocBaseId, MaxQuantity, Empty Item Id CONTAINERS = { 0x9c8: [1042965, 10, 0], # Jug } # Tag: Cliloc Offset, Intoxication Strength FLUIDS = { 'ale': [0, 1], 'cider': [1, 3], 'liquor': [2, 4], 'milk': [3, 0], 'wine': [4, 2], 'water': [5, 0], } # # Use the item # def onUse(char, item): if item.getoutmostchar() != char: char.socket.clilocmessage(502946) return 1 quantity = 0 if item.hastag('quantity'): quantity = int(item.gettag('quantity')) if quantity == 0: return refill(char, item) else: return drink(char, item) # # Refill the container with something # def refill(char, item): return 0 # # Take a nip of the nice fluid in the container # def drink(char, item): quantity = 0 if item.hastag('quantity'): quantity = int(item.gettag('quantity')) if quantity == 0: char.socket.sysmessage('This seems to be empty.') return 1 btype = '' if item.hastag('fluid'): btype = unicode(item.gettag('fluid')) if not FLUIDS.has_key(btype): char.socket.sysmessage("You shouldn't drink this strange fluid.") return 0 if not CONTAINERS.has_key(item.id): return 0 cprop = CONTAINERS[item.id] fprop = FLUIDS[btype] # Drink char.soundeffect(0x30) char.action(ANIM_FIDGET3) # Reduce Quantity quantity -= 1 # Empty if quantity == 0: if cprop[2] == 0: item.delete() else: item.id = cprop[2] item.update() item.deltag('quantity') item.resendtooltip() else: item.settag('quantity', int(quantity)) item.resendtooltip() return 1 # # Show the tooltip for the item # def onShowTooltip(player, object, tooltip): btype = '' if object.hastag('fluid'): btype = unicode(object.gettag('fluid')) if not FLUIDS.has_key(btype): return if not CONTAINERS.has_key(object.id): return cprop = CONTAINERS[object.id] fprop = FLUIDS[btype] tooltip.reset() tooltip.add(cprop[0] + fprop[0], '') quantity = 0 if object.hastag('quantity'): quantity = int(object.gettag('quantity')) perc = (quantity * 100) / cprop[1] if perc <= 0: tooltip.add(1042975, '') elif perc <= 33: tooltip.add(1042974, '') elif perc <= 66: tooltip.add(1042973, '') else: tooltip.add(1042972, '') |
From: Sebastian H. <dar...@us...> - 2004-07-22 19:39:20
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15659 Modified Files: wolfpack.sln wolfpack.vcproj Log Message: Updated the project Index: wolfpack.vcproj =================================================================== RCS file: /cvsroot/wpdev/wolfpack/wolfpack.vcproj,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** wolfpack.vcproj 22 Jul 2004 13:38:32 -0000 1.37 --- wolfpack.vcproj 22 Jul 2004 19:39:11 -0000 1.38 *************** *** 107,110 **** --- 107,189 ---- <Tool Name="VCLinkerTool" + AdditionalDependencies="qt-mt331.lib ws2_32.lib comctl32.lib python23.lib wininet.lib imagehlp.lib libmysql.lib" + OutputFile="../wolfpack.exe" + LinkIncremental="1" + SuppressStartupBanner="TRUE" + AdditionalLibraryDirectories="C:\MySQL\lib\opt" + IgnoreAllDefaultLibraries="FALSE" + GenerateDebugInformation="TRUE" + GenerateMapFile="TRUE" + MapFileName="$(OUTDIR)\wolfpack.map" + MapExports="TRUE" + MapLines="TRUE" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + OptimizeForWindows98="1" + SetChecksum="TRUE" + SupportUnloadOfDelayLoadedDLL="FALSE" + MergeSections="" + TargetMachine="1" + FixedBaseAddress="2"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="Web-Release|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="2" + WholeProgramOptimization="FALSE"> + <Tool + Name="VCCLCompilerTool" + AdditionalOptions="/GR" + Optimization="3" + GlobalOptimizations="TRUE" + InlineFunctionExpansion="1" + EnableIntrinsicFunctions="FALSE" + FavorSizeOrSpeed="2" + OptimizeForProcessor="0" + OptimizeForWindowsApplication="TRUE" + AdditionalIncludeDirectories="sqlite;"D:\coding\STLport-5.0-0125\stlport";D:\coding\msvcrt\include;qt;C:\MySQL\include" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;QT_THREAD_SUPPORT;QT_LITE_COMPONENT;QT_DLL;QT_NO_STL;QT_NO_COMPRESS;CRASHHANDLER;MYSQL_DRIVER" + StringPooling="TRUE" + MinimalRebuild="FALSE" + BasicRuntimeChecks="0" + RuntimeLibrary="2" + StructMemberAlignment="3" + BufferSecurityCheck="FALSE" + EnableFunctionLevelLinking="FALSE" + EnableEnhancedInstructionSet="0" + ForceConformanceInForLoopScope="TRUE" + RuntimeTypeInfo="TRUE" + UsePrecompiledHeader="0" + BrowseInformation="1" + WarningLevel="0" + Detect64BitPortabilityProblems="FALSE" + DebugInformationFormat="3"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" AdditionalDependencies="qt-mt331.lib ws2_32.lib comctl32.lib msvcrt.lib python23.lib wininet.lib imagehlp.lib libmysql.lib" OutputFile="../wolfpack.exe" *************** *** 325,328 **** --- 404,413 ---- ObjectFile="$(IntDir)/$(InputName)1.obj"/> </FileConfiguration> + <FileConfiguration + Name="Web-Release|Win32"> + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)/$(InputName)1.obj"/> + </FileConfiguration> </File> <File *************** *** 776,779 **** --- 861,869 ---- Name="VCCustomBuildTool"/> </FileConfiguration> + <FileConfiguration + Name="Web-Release|Win32"> + <Tool + Name="VCCustomBuildTool"/> + </FileConfiguration> </File> <File *************** *** 784,787 **** --- 874,882 ---- Name="VCCustomBuildTool"/> </FileConfiguration> + <FileConfiguration + Name="Web-Release|Win32"> + <Tool + Name="VCCustomBuildTool"/> + </FileConfiguration> </File> <File *************** *** 802,805 **** --- 897,906 ---- ObjectFile="$(IntDir)/$(InputName)1.obj"/> </FileConfiguration> + <FileConfiguration + Name="Web-Release|Win32"> + <Tool + Name="VCCLCompilerTool" + ObjectFile="$(IntDir)/$(InputName)1.obj"/> + </FileConfiguration> </File> </Filter> *************** *** 831,837 **** --- 932,956 ---- Name="VCCustomBuildTool"/> </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="TRUE"> + <Tool + Name="VCCustomBuildTool"/> + </FileConfiguration> </File> <File RelativePath=".\sehprolg.obj"> + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="TRUE"> + <Tool + Name="VCCustomBuildTool"/> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="TRUE"> + <Tool + Name="VCCustomBuildTool"/> + </FileConfiguration> </File> </Files> Index: wolfpack.sln =================================================================== RCS file: /cvsroot/wpdev/wolfpack/wolfpack.sln,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** wolfpack.sln 21 Nov 2003 11:59:56 -0000 1.1 --- wolfpack.sln 22 Jul 2004 19:39:11 -0000 1.2 *************** *** 8,11 **** --- 8,12 ---- Debug = Debug Release = Release + Web-Release = Web-Release EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution *************** *** 14,17 **** --- 15,20 ---- {766437DE-37EB-400E-BF08-4AB9B529C83D}.Release.ActiveCfg = Release|Win32 {766437DE-37EB-400E-BF08-4AB9B529C83D}.Release.Build.0 = Release|Win32 + {766437DE-37EB-400E-BF08-4AB9B529C83D}.Web-Release.ActiveCfg = Web-Release|Win32 + {766437DE-37EB-400E-BF08-4AB9B529C83D}.Web-Release.Build.0 = Web-Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution |
From: Sebastian H. <dar...@us...> - 2004-07-22 17:25:35
|
Update of /cvsroot/wpdev/xmlscripts/documentation/webroot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22205/webroot Modified Files: ChangeLog.wolfpack Log Message: Included release dates of previous versions Index: ChangeLog.wolfpack =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/documentation/webroot/ChangeLog.wolfpack,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** ChangeLog.wolfpack 22 Jul 2004 17:24:56 -0000 1.34 --- ChangeLog.wolfpack 22 Jul 2004 17:25:20 -0000 1.35 *************** *** 87,90 **** --- 87,92 ---- Player Hunger now works again. - New look for the remote administration console. + - New Windows Release builds should now include + MySQL support by default. * Known Issues, Bugs, and Missing Features: - Some skills are still incomplete. |
From: Sebastian H. <dar...@us...> - 2004-07-22 17:25:05
|
Update of /cvsroot/wpdev/xmlscripts/documentation/webroot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22074/webroot Modified Files: ChangeLog.wolfpack Log Message: Included release dates of previous versions Index: ChangeLog.wolfpack =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/documentation/webroot/ChangeLog.wolfpack,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** ChangeLog.wolfpack 22 Jul 2004 17:23:45 -0000 1.33 --- ChangeLog.wolfpack 22 Jul 2004 17:24:56 -0000 1.34 *************** *** 101,105 **** - Large gumps can potentially crash remote clients. ! Wolfpack 12.9.7 Beta * Core Changes: * Region/Spawn Region Updates: --- 101,105 ---- - Large gumps can potentially crash remote clients. ! Wolfpack 12.9.7 Beta (4. July 2004) * Core Changes: * Region/Spawn Region Updates: *************** *** 165,169 **** - There are still some memory leaks. ! Wolfpack 12.9.6 Beta * Numerous crash fixes. - Python memory improvements. --- 165,169 ---- - There are still some memory leaks. ! Wolfpack 12.9.6 Beta (18. May 2004) * Numerous crash fixes. - Python memory improvements. *************** *** 223,227 **** - Explosion potions can detonate other potions through walls/objects. ! Wolfpack 12.9.5 Beta * Misc. Updates - Many misc. updates --- 223,227 ---- - Explosion potions can detonate other potions through walls/objects. ! Wolfpack 12.9.5 Beta (8. May 2004) * Misc. Updates - Many misc. updates |
From: Sebastian H. <dar...@us...> - 2004-07-22 17:23:55
|
Update of /cvsroot/wpdev/xmlscripts/documentation/webroot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21815/webroot Modified Files: ChangeLog.wolfpack Log Message: Allowed casting from scrolls. Decreased mana by 50% for scrolls decreased circle for skill calculation by 2 for scrolls started implementation for wands Index: ChangeLog.wolfpack =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/documentation/webroot/ChangeLog.wolfpack,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** ChangeLog.wolfpack 22 Jul 2004 14:08:28 -0000 1.32 --- ChangeLog.wolfpack 22 Jul 2004 17:23:45 -0000 1.33 *************** *** 75,79 **** - Decoration Saving - Magic fixes: Fire, Poison, Energy and Paralyze fields should work better. ! Mass dispell can now wipe out these fields. * Misc. Changes: - New Features: --- 75,84 ---- - Decoration Saving - Magic fixes: Fire, Poison, Energy and Paralyze fields should work better. ! Mass dispell can now wipe out these fields. ! - Scrolls are now usable and actually cast the spell. ! For scrolls the following rules are in effect: ! 50% decreased mana usage. ! The effective circle for measuring the skill requirement is lowered by two ! when casting from a scroll. * Misc. Changes: - New Features: |
From: Sebastian H. <dar...@us...> - 2004-07-22 17:22:27
|
Update of /cvsroot/wpdev/xmlscripts/scripts/testing In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21469 Modified Files: __init__.py Log Message: Allowed casting from scrolls. Decreased mana by 50% for scrolls decreased circle for skill calculation by 2 for scrolls started implementation for wands Index: __init__.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/testing/__init__.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** __init__.py 16 May 2004 21:32:32 -0000 1.1 --- __init__.py 22 Jul 2004 17:22:17 -0000 1.2 *************** *** 0 **** --- 1,5 ---- + + def onUse(char, item): + char.message(str(char)) + char.message(str(item)) + char.message(str(item.pos)) \ No newline at end of file |
From: Sebastian H. <dar...@us...> - 2004-07-22 17:22:20
|
Update of /cvsroot/wpdev/xmlscripts/scripts/magic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21418/magic Modified Files: __init__.py circle1.py circle2.py circle3.py circle4.py circle5.py circle6.py circle7.py circle8.py necrospells.py scroll.py spell.py Log Message: Allowed casting from scrolls. Decreased mana by 50% for scrolls decreased circle for skill calculation by 2 for scrolls started implementation for wands Index: spell.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/spell.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** spell.py 20 Jul 2004 20:55:13 -0000 1.11 --- spell.py 22 Jul 2004 17:22:06 -0000 1.12 *************** *** 43,53 **** eventlist.remove('magic') char.events = eventlist ! args[0].cast(char, args[1], args[2]) # Basic Spell Class class Spell: # We affect another character ! def affectchar(self, char, mode, target, args=[]): return 1 --- 43,75 ---- eventlist.remove('magic') char.events = eventlist + + # target + if args[3] and type(args[3]) == int: + target = wolfpack.findobject(args[3]) + + # Object went out of scope + if not target: + fizzle(char) + return + else: + target = None + + # item + if args[4] and type(args[4]) == int: + item = wolfpack.findobject(args[4]) + + # Object went out of scope + if not item: + fizzle(char) + return + else: + item = None ! args[0].cast(char, args[1], args[2], args[3], item) # Basic Spell Class class Spell: # We affect another character ! def affectchar(self, char, mode, target, args=[], item=None): return 1 *************** *** 80,86 **** # Prepare the casting of this spell. # ! def precast(self, char, mode=0, args=[]): eventlist = char.events socket = char.socket # We are frozen --- 102,116 ---- # Prepare the casting of this spell. # ! def precast(self, char, mode=0, args=[], target = None, item = None): eventlist = char.events socket = char.socket + + # Casting from a scroll and no scroll was passed + if mode == 1 and not item: + return + + # Casting from a wand and no wand was passed + if mode == 2 and not item: + return # We are frozen *************** *** 100,104 **** return 0 ! if not self.checkrequirements(char, mode, args): return 0 --- 130,134 ---- return 0 ! if not self.checkrequirements(char, mode, args, target, item): return 0 *************** *** 112,116 **** char.events = ['magic'] + eventlist char.action(self.castaction) ! char.addtimer(self.calcdelay(), 'magic.spell.callback', [self, mode, args], 0, 0, "cast_delay") return 1 --- 142,161 ---- char.events = ['magic'] + eventlist char.action(self.castaction) ! ! if item: ! item = item.serial ! ! if target and (type(target).__name__ == 'wpchar' or type(target).__name__ == 'wpitem'): ! target = target.serial ! ! if mode == MODE_BOOK: ! source = 'book' ! elif mode == MODE_SCROLL: ! source = 'scroll (0x%x)' % item ! elif mode == MODE_WAND: ! source = 'wand (0x%x)' % item ! ! char.log(LOG_MESSAGE, "Casting spell %u (%s) from %s.\n" % (self.spellid, self.__class__.__name__, source)) ! char.addtimer(self.calcdelay(), 'magic.spell.callback', [self, mode, args, target, item], 0, 0, "cast_delay") return 1 *************** *** 118,122 **** return self.casttime ! def checkrequirements(self, char, mode, args=[]): if char.dead: return 0 --- 163,167 ---- return self.casttime ! def checkrequirements(self, char, mode, args=[], target=None, item=None): if char.dead: return 0 *************** *** 137,152 **** return 0 return 1 ! def consumerequirements(self, char, mode, args=[]): # Check Basic Requirements before proceeding (Includes Death of Caster etc.) ! if not self.checkrequirements(char, mode): fizzle(char) ! return 0 # Consume Mana if mode == MODE_BOOK: if self.mana != 0: ! char.mana -= self.mana char.updatemana() --- 182,213 ---- return 0 + elif mode == MODE_SCROLL: + # Check if the scroll is allright + if not item or item.getoutmostchar() != char: + char.message(501625) + return 0 + + # Check for Mana + if char.mana < (self.mana + 1) / 2: + char.message(502625) + return 0 + + elif mode == MODE_WAND: + # Check if the wand is allright + if not item or item.getoutmostchar() != char: + return 0 + return 1 ! def consumerequirements(self, char, mode, args=[], target=None, item=None): # Check Basic Requirements before proceeding (Includes Death of Caster etc.) ! if not self.checkrequirements(char, mode, args, target, item): fizzle(char) ! return 0 # Consume Mana if mode == MODE_BOOK: if self.mana != 0: ! char.mana = max(0, char.mana - self.mana) char.updatemana() *************** *** 154,162 **** if len(self.reagents) > 0: consumeReagents(char.getbackpack(), self.reagents.copy()) # Check Skill if self.skill != None: ! minskill = max(0, int((1000 / 7) * self.circle - 200)) ! maxskill = min(1200, int((1000 / 7) * self.circle + 200)) if not char.checkskill(self.skill, minskill, maxskill): --- 215,244 ---- if len(self.reagents) > 0: consumeReagents(char.getbackpack(), self.reagents.copy()) + + # Reduced Skill, Reduced Mana, No Reagents + elif mode == MODE_SCROLL: + if self.mana != 0: + char.mana = max(0, char.mana - (self.mana + 1) / 2) + char.updatemana() + + # Remove one of the scrolls + if item.amount == 1: + item.delete() + else: + item.amount -= 1 + item.update() + + # No requirements at all + elif mode == MODE_WAND: + pass # Check Skill if self.skill != None: ! if mode == MODE_BOOK: ! circle = self.circle ! else: ! circle = self.circle - 2 ! minskill = max(0, int((1000 / 7) * circle - 200)) ! maxskill = min(1200, int((1000 / 7) * circle + 200)) if not char.checkskill(self.skill, minskill, maxskill): *************** *** 168,172 **** # Not implemented yet ! def checkreflect(self, char, mode, targettype, target): return 0 --- 250,254 ---- # Not implemented yet ! def checkreflect(self, char, mode, targettype, target, args, item): return 0 *************** *** 224,236 **** return chance >= random.random() ! def cast(self, char, mode, args=[]): ! if char.socket: ! char.socket.settag('cast_target', 1) ! char.socket.attachtarget('magic.target_response', [ self, mode, args ], 'magic.target_cancel', 'magic.target_timeout', 8000) # Don't forget the timeout later on else: ! # Callback to the NPC AI ?? ! wolfpack.console.log(LOG_ERROR, "A NPC is trying to cast a spell.") ! def target(self, char, mode, targettype, target, args=[]): raise Exception, "Spell without target method: " + str(self.__class__.__name__) --- 306,324 ---- return chance >= random.random() ! def cast(self, char, mode, args=[], target=None, item=None): ! if not target: ! if char.socket: ! char.socket.settag('cast_target', 1) ! if item: ! item = item.serial ! char.socket.attachtarget('magic.target_response', [ self, mode, args, item ], 'magic.target_cancel', 'magic.target_timeout', 8000) # Don't forget the timeout later on ! else: ! # Callback to the NPC AI ?? ! wolfpack.console.log(LOG_ERROR, "A NPC is trying to cast a spell.") ! # A target has been supplied else: ! char.message('target has been supplied') ! def target(self, char, mode, targettype, target, args, item): raise Exception, "Spell without target method: " + str(self.__class__.__name__) *************** *** 247,263 **** self.resistable = 1 # Most of them are resistable ! def effect(self, char, target): raise Exception, "CharEffectSpell with unimplemented effect method: " + str(self.__clas__.__name__) ! def target(self, char, mode, targettype, target, args=[]): ! if not self.consumerequirements(char, mode): return ! if not self.affectchar(char, mode, target): return char.turnto(target) ! if self.reflectable and self.checkreflect(char, mode, targettype, target): target = char --- 335,351 ---- self.resistable = 1 # Most of them are resistable ! def effect(self, char, target, mode, args, item): raise Exception, "CharEffectSpell with unimplemented effect method: " + str(self.__clas__.__name__) ! def target(self, char, mode, targettype, target, args, item): ! if not self.consumerequirements(char, mode, args, target, item): return ! if not self.affectchar(char, mode, target, item): return char.turnto(target) ! if self.reflectable and self.checkreflect(char, mode, targettype, target, args, item): target = char *************** *** 265,269 **** self.harmchar(char, target) ! self.effect(char, target) # --- 353,357 ---- self.harmchar(char, target) ! self.effect(char, target, mode, args, item) # *************** *** 280,284 **** self.sound = None ! def effect(self, char, target): # Shoot a missile? if self.missile: --- 368,372 ---- self.sound = None ! def effect(self, char, target, mode, args, item): # Shoot a missile? if self.missile: *************** *** 303,307 **** # Something went out of scope if not char or not spell: - wolfpack.console.log(LOG_WARNING, "Either Caster or Spell went out of scope in damage_callback.\n") return --- 391,394 ---- Index: necrospells.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/necrospells.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** necrospells.py 16 Jul 2004 07:09:27 -0000 1.3 --- necrospells.py 22 Jul 2004 17:22:06 -0000 1.4 *************** *** 24,28 **** self.circle = 4 ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 24,28 ---- self.circle = 4 ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 39,43 **** return ! if not self.consumerequirements(char, mode): return --- 39,43 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return Index: circle1.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/circle1.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** circle1.py 20 May 2004 06:32:29 -0000 1.8 --- circle1.py 22 Jul 2004 17:22:06 -0000 1.9 *************** *** 17,21 **** self.reflectable = 1 ! def effect(self, char, target): statmodifier(char, target, 1, 1) --- 17,21 ---- self.reflectable = 1 ! def effect(self, char, target, mode, args, item): statmodifier(char, target, 1, 1) *************** *** 32,36 **** self.reflectable = 1 ! def effect(self, char, target): statmodifier(char, target, 2, 1) --- 32,36 ---- self.reflectable = 1 ! def effect(self, char, target, mode, args, item): statmodifier(char, target, 2, 1) *************** *** 47,51 **** self.reflectable = 1 ! def effect(self, char, target): statmodifier(char, target, 0, 1) --- 47,51 ---- self.reflectable = 1 ! def effect(self, char, target, mode, args, item): statmodifier(char, target, 0, 1) *************** *** 61,65 **** def cast(self, char, mode, args=[]): ! if not self.consumerequirements(char, mode): return --- 61,65 ---- def cast(self, char, mode, args=[]): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 94,98 **** return 1 ! def effect(self, char, target): # 10% of Magery + 1-5 #amount = int(0.01 * char.skill[MAGERY]) + random.randint(1, 5) --- 94,98 ---- return 1 ! def effect(self, char, target, mode, args, item): # 10% of Magery + 1-5 #amount = int(0.01 * char.skill[MAGERY]) + random.randint(1, 5) *************** *** 127,131 **** return 1 ! def effect(self, char, target): # Remove an old bonus if target.hastag('nightsight'): --- 127,131 ---- return 1 ! def effect(self, char, target, mode, args, item): # Remove an old bonus if target.hastag('nightsight'): *************** *** 168,172 **** def cast(self, char, mode, args=[]): ! if not self.consumerequirements(char, mode): return --- 168,172 ---- def cast(self, char, mode, args=[]): ! if not self.consumerequirements(char, mode, args, target, item): return Index: circle6.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/circle6.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** circle6.py 20 May 2004 06:32:29 -0000 1.6 --- circle6.py 22 Jul 2004 17:22:06 -0000 1.7 *************** *** 29,33 **** return 1 ! def effect(self, char, target): # Show an effect at the position if self.checkresist(char, target): --- 29,33 ---- return 1 ! def effect(self, char, target, mode, args, item): # Show an effect at the position if self.checkresist(char, target): *************** *** 76,80 **** self.mantra = 'An Lor Xen' ! def effect(self, char, target): # Clean previous removal timers target.dispel(None, 1, "invisibility_reveal") --- 76,80 ---- self.mantra = 'An Lor Xen' ! def effect(self, char, target, mode, args, item): # Clean previous removal timers target.dispel(None, 1, "invisibility_reveal") *************** *** 107,111 **** return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 107,111 ---- return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 125,129 **** return ! if not self.consumerequirements(char, mode): return --- 125,129 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 144,149 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): ! if not self.consumerequirements(char, mode): return --- 144,149 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 186,193 **** self.resistable = 1 ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) ! if not self.consumerequirements(char, mode): return --- 186,193 ---- self.resistable = 1 ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 242,247 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): ! if not self.consumerequirements(char, mode): return --- 242,247 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): ! if not self.consumerequirements(char, mode, args, target, item): return Index: __init__.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/__init__.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** __init__.py 19 Jul 2004 21:07:35 -0000 1.9 --- __init__.py 22 Jul 2004 17:22:06 -0000 1.10 *************** *** 37,46 **** # # Mode: 0 = Book ! def castSpell( char, spell, mode = 0, args = [] ): if char.dead: return socket = char.socket ! if not spells.has_key(spell): if socket: --- 37,48 ---- # # Mode: 0 = Book ! # Mode: 1 = Scroll ! # MOde: 2 = Wand ! def castSpell( char, spell, mode = 0, args = [], target = None, item = None ): if char.dead: return socket = char.socket ! if not spells.has_key(spell): if socket: *************** *** 49,53 **** return ! spells[spell].precast(char, mode, args) # Target Cancel --- 51,55 ---- return ! spells[spell].precast(char, mode, args, target, item) # Target Cancel *************** *** 69,72 **** --- 71,82 ---- spell = args[0] mode = args[1] + item = args[3] + args = args[2] + if type(item) == int: + item = wolfpack.findobject(item) + # Object went out of scope + if not item: + fizzle(char) + return # Char Targets *************** *** 93,97 **** return ! spell.target(char, mode, TARGET_CHAR, target.char) # Item Target --- 103,109 ---- return ! message = "Casting spell %u (%s) on character %s (0x%x).\n" % (spell.spellid, spell.__class__.__name__, target.char.name, target.char.serial) ! char.log(LOG_MESSAGE, message) ! spell.target(char, mode, TARGET_CHAR, target.char, args, item) # Item Target *************** *** 105,110 **** char.socket.clilocmessage(500237) return ! ! spell.target(char, mode, TARGET_ITEM, target.item) # Ground Target --- 117,124 ---- char.socket.clilocmessage(500237) return ! ! message = "Casting spell %u (%s) on item %s (0x%x).\n" % (spell.spellid, spell.__class__.__name__, target.item.getname(), target.item.serial) ! char.log(LOG_MESSAGE, message) ! spell.target(char, mode, TARGET_ITEM, target.item, args, item) # Ground Target *************** *** 130,134 **** return ! spell.target(char, mode, TARGET_GROUND, pos) else: --- 144,150 ---- return ! message = "Casting spell %u (%s) on coordinate %s.\n" % (spell.spellid, spell.__class__.__name__, str(pos)) ! char.log(LOG_MESSAGE, message) ! spell.target(char, mode, TARGET_GROUND, pos, args, item) else: Index: circle3.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/circle3.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** circle3.py 26 May 2004 13:07:22 -0000 1.6 --- circle3.py 22 Jul 2004 17:22:06 -0000 1.7 *************** *** 15,19 **** self.mantra = 'Rel Sanct' ! def effect(self, char, target): statmodifier(char, target, 3, 0) --- 15,19 ---- self.mantra = 'Rel Sanct' ! def effect(self, char, target, mode, args, item): statmodifier(char, target, 3, 0) *************** *** 41,48 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) ! if not self.consumerequirements(char, mode): return --- 41,48 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 81,85 **** self.range = 12 ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 81,85 ---- self.range = 12 ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 96,100 **** return ! if not self.consumerequirements(char, mode): return --- 96,100 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 119,123 **** self.validtarget = TARGET_ITEM ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 119,123 ---- self.validtarget = TARGET_ITEM ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 132,136 **** return ! if not self.consumerequirements(char, mode): return --- 132,136 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 152,156 **** self.validtarget = TARGET_ITEM ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 152,156 ---- self.validtarget = TARGET_ITEM ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 164,168 **** return ! if not self.consumerequirements(char, mode): return --- 164,168 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 183,187 **** self.validtarget = TARGET_ITEM ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 183,187 ---- self.validtarget = TARGET_ITEM ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 205,209 **** return ! if not self.consumerequirements(char, mode): return --- 205,209 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 235,239 **** self.reflectable = 1 ! def effect(self, char, target): target.disturb() --- 235,239 ---- self.reflectable = 1 ! def effect(self, char, target, mode, args, item): target.disturb() Index: circle5.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/circle5.py,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** circle5.py 18 Jul 2004 09:39:52 -0000 1.10 --- circle5.py 22 Jul 2004 17:22:06 -0000 1.11 *************** *** 21,25 **** return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 21,25 ---- return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 28,32 **** return ! if not self.consumerequirements(char, mode): return --- 28,32 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 45,49 **** self.validtarget = TARGET_ITEM ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 45,49 ---- self.validtarget = TARGET_ITEM ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 54,58 **** return ! if not self.consumerequirements(char, mode): return --- 54,58 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 106,110 **** return ! if not self.consumerequirements(char, mode): return --- 106,110 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 178,182 **** def cast(self, char, mode, args=[]): ! if not self.consumerequirements(char, mode): return --- 178,182 ---- def cast(self, char, mode, args=[]): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 229,233 **** return 1 ! def effect(self, char, target): target.disturb() target.frozen = 1 --- 229,233 ---- return 1 ! def effect(self, char, target, mode, args, item): target.disturb() target.frozen = 1 *************** *** 257,264 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) ! if not self.consumerequirements(char, mode): return --- 257,264 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 328,332 **** return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 328,332 ---- return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 341,345 **** return ! if not self.consumerequirements(char, mode): return --- 341,345 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return Index: scroll.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/scroll.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** scroll.py 18 Jul 2004 01:41:48 -0000 1.4 --- scroll.py 22 Jul 2004 17:22:06 -0000 1.5 *************** *** 9,12 **** --- 9,14 ---- import wolfpack + import magic + from magic.utilities import MODE_SCROLL from magic.spellbook import addspell, hasspell *************** *** 23,36 **** def onUse( char, item ): try: ! char.message( 'Casting spell %d' % calcSpellId( item ) ) except: ! char.socket.sysmessage( 'Broken scroll' ) return False ! if item.amount > 1: ! item.amount -= 1 ! item.update() ! else: ! item.delete() return True --- 25,34 ---- def onUse( char, item ): try: ! spell = calcSpellId(item) except: ! char.socket.sysmessage('This scroll seems to be broken.') return False ! magic.castSpell(char, spell + 1, MODE_SCROLL, [], None, item) return True Index: circle8.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/circle8.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** circle8.py 16 Jul 2004 07:09:27 -0000 1.9 --- circle8.py 22 Jul 2004 17:22:06 -0000 1.10 *************** *** 23,27 **** def cast(self, char, mode, args): ! if not self.consumerequirements(char, mode): return --- 23,27 ---- def cast(self, char, mode, args): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 67,74 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) ! if not self.consumerequirements(char, mode): return --- 67,74 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 85,89 **** self.validtarget = TARGET_CHAR ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 85,89 ---- self.validtarget = TARGET_CHAR ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 96,100 **** return ! if not self.consumerequirements(char, mode): return --- 96,100 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 111,115 **** self.controlslots = 3 ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 111,115 ---- self.controlslots = 3 ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 118,122 **** return ! if not self.consumerequirements(char, mode): return --- 118,122 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return Index: circle7.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/circle7.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** circle7.py 18 Jul 2004 09:39:52 -0000 1.8 --- circle7.py 22 Jul 2004 17:22:06 -0000 1.9 *************** *** 15,20 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): ! if not self.consumerequirements(char, mode): return --- 15,20 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 62,69 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) ! if not self.consumerequirements(char, mode): return --- 62,69 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 136,140 **** return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 136,140 ---- return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 144,148 **** return ! if not self.consumerequirements(char, mode): return --- 144,148 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 252,257 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): ! if not self.consumerequirements(char, mode): return --- 252,257 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 293,298 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): ! if not self.consumerequirements(char, mode): return --- 293,298 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 344,348 **** self.mantra = 'Vas Ylem Rel' ! def checkrequirements(self, char, mode, args=[]): if char.polymorph: if char.socket: --- 344,348 ---- self.mantra = 'Vas Ylem Rel' ! def checkrequirements(self, char, mode, args=[], target=None, item=None): if char.polymorph: if char.socket: *************** *** 357,361 **** polymorph.showmenu(char) return 0 ! return Spell.checkrequirements(self, char, mode, args) def cast(self, char, mode, args): --- 357,361 ---- polymorph.showmenu(char) return 0 ! return Spell.checkrequirements(self, char, mode, args, target, item) def cast(self, char, mode, args): Index: circle4.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/circle4.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** circle4.py 18 Jul 2004 09:39:52 -0000 1.9 --- circle4.py 22 Jul 2004 17:22:06 -0000 1.10 *************** *** 15,19 **** self.reflectable = 1 ! def effect(self, char, target): statmodifier(char, target, 3, 1) target.effect(0x373a, 10, 15) --- 15,19 ---- self.reflectable = 1 ! def effect(self, char, target, mode, args, item): statmodifier(char, target, 3, 1) target.effect(0x373a, 10, 15) *************** *** 35,39 **** return 1 ! def effect(self, char, target): # 40% of Magery + 1-10 amount = int(0.04 * char.skill[ MAGERY ]) + random.randint(1, 10) --- 35,39 ---- return 1 ! def effect(self, char, target, mode, args, item): # 40% of Magery + 1-10 amount = int(0.04 * char.skill[ MAGERY ]) + random.randint(1, 10) *************** *** 123,127 **** return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 123,127 ---- return Spell.cast(self, char, mode) ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 131,135 **** return ! if not self.consumerequirements(char, mode): return --- 131,135 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 180,184 **** self.resistable = 1 ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 180,184 ---- self.resistable = 1 ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 187,191 **** return ! if not self.consumerequirements(char, mode): return --- 187,191 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 240,245 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): ! if not self.consumerequirements(char, mode): return --- 240,245 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 273,278 **** self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args=[]): ! if not self.consumerequirements(char, mode): return --- 273,278 ---- self.validtarget = TARGET_GROUND ! def target(self, char, mode, targettype, target, args, item): ! if not self.consumerequirements(char, mode, args, target, item): return Index: circle2.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/magic/circle2.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** circle2.py 18 May 2004 02:33:20 -0000 1.6 --- circle2.py 22 Jul 2004 17:22:06 -0000 1.7 *************** *** 14,18 **** self.mantra = 'Ex Uus' ! def effect(self, char, target): statmodifier(char, target, 1, 0) target.effect(0x375a, 10, 15) --- 14,18 ---- self.mantra = 'Ex Uus' ! def effect(self, char, target, mode, args, item): statmodifier(char, target, 1, 0) target.effect(0x375a, 10, 15) *************** *** 25,29 **** self.mantra = 'Uus Wis' ! def effect(self, char, target): statmodifier(char, target, 2, 0) --- 25,29 ---- self.mantra = 'Uus Wis' ! def effect(self, char, target, mode, args, item): statmodifier(char, target, 2, 0) *************** *** 37,41 **** self.mantra = 'Uus Mani' ! def effect(self, char, target): statmodifier(char, target, 0, 0) --- 37,41 ---- self.mantra = 'Uus Mani' ! def effect(self, char, target, mode, args, item): statmodifier(char, target, 0, 0) *************** *** 71,75 **** self.mantra = 'In Jux' ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) --- 71,75 ---- self.mantra = 'In Jux' ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) *************** *** 79,83 **** return ! if not self.consumerequirements(char, mode): return --- 79,83 ---- return ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 102,109 **** self.mantra = 'An Jux' ! def target(self, char, mode, targettype, target, args=[]): char.turnto(target) ! if not self.consumerequirements(char, mode): return --- 102,109 ---- self.mantra = 'An Jux' ! def target(self, char, mode, targettype, target, args, item): char.turnto(target) ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 131,135 **** def cast(self, char, mode, args=[]): ! if not self.consumerequirements(char, mode): return --- 131,135 ---- def cast(self, char, mode, args=[]): ! if not self.consumerequirements(char, mode, args, target, item): return *************** *** 172,176 **** self.mantra = 'An Nox' ! def effect(self, char, target): if target.poison != -1: chance = (10000 + int(char.skill[MAGERY] * 7.5) - ((target.poison + 1) * 1750)) / 10000.0 --- 172,176 ---- self.mantra = 'An Nox' ! def effect(self, char, target, mode, args, item): if target.poison != -1: chance = (10000 + int(char.skill[MAGERY] * 7.5) - ((target.poison + 1) * 1750)) / 10000.0 |
From: Sebastian H. <dar...@us...> - 2004-07-22 16:08:57
|
Update of /cvsroot/wpdev/xmlscripts/scripts/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4884/wolfpack Modified Files: __init__.py accounts.py Log Message: New look for the remote admin. Index: accounts.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/wolfpack/accounts.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** accounts.py 17 Jul 2004 09:04:49 -0000 1.8 --- accounts.py 22 Jul 2004 16:08:43 -0000 1.9 *************** *** 15,16 **** --- 15,17 ---- save = _wolfpack.accounts.save reload = _wolfpack.accounts.reload + count = _wolfpack.accounts.count \ No newline at end of file Index: __init__.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/wolfpack/__init__.py,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** __init__.py 17 Jul 2004 09:04:48 -0000 1.61 --- __init__.py 22 Jul 2004 16:08:43 -0000 1.62 *************** *** 67,70 **** --- 67,72 ---- getoption = _wolfpack.getoption setoption = _wolfpack.setoption + playercount = _wolfpack.playercount + npccount = _wolfpack.npccount """ |
From: Sebastian H. <dar...@us...> - 2004-07-22 14:08:37
|
Update of /cvsroot/wpdev/xmlscripts/documentation/webroot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17733/webroot Modified Files: ChangeLog.wolfpack Log Message: New look for the remote admin. Index: ChangeLog.wolfpack =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/documentation/webroot/ChangeLog.wolfpack,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** ChangeLog.wolfpack 22 Jul 2004 13:39:05 -0000 1.31 --- ChangeLog.wolfpack 22 Jul 2004 14:08:28 -0000 1.32 *************** *** 75,79 **** - Decoration Saving - Magic fixes: Fire, Poison, Energy and Paralyze fields should work better. ! Mass dispell can now wipe out these fields. * Misc. Changes: - New Features: --- 75,79 ---- - Decoration Saving - Magic fixes: Fire, Poison, Energy and Paralyze fields should work better. ! Mass dispell can now wipe out these fields. * Misc. Changes: - New Features: *************** *** 81,84 **** --- 81,85 ---- Potion Kegs now work. Player Hunger now works again. + - New look for the remote administration console. * Known Issues, Bugs, and Missing Features: - Some skills are still incomplete. |
From: Sebastian H. <dar...@us...> - 2004-07-22 14:08:14
|
Update of /cvsroot/wpdev/xmlscripts/web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17683 Modified Files: console.py login.py pythonlog.py template.html template.py Log Message: New look for the remote admin. Index: login.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/web/login.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** login.py 10 Mar 2004 18:31:47 -0000 1.7 --- login.py 22 Jul 2004 14:08:04 -0000 1.8 *************** *** 4,7 **** --- 4,9 ---- import web.sessions import sys + import os + import web.template reload( web.sessions ) *************** *** 67,83 **** session = web.sessions.start_session( username ) ! print "Content-type: text/html\n\n" ! print """ ! <?xml version="1.0" encoding="iso-8859-1" ?> ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd"> ! <html> ! <head> ! <title>You were logged in succesfully</title> ! <meta http-equiv="refresh" content="1; URL=main.py?session=""" + session + """" /> ! </head> ! <body> ! <h1>You were logged in successfully</h1><br /> ! Click <a href="main.py?session=""" + session + """">here</a> to continue. ! </body> ! </html> ! """ --- 69,72 ---- session = web.sessions.start_session( username ) ! web.template.output( '', '', 0, """You have been logged in.<br />Click <a href="main.py?session=%(session)s">here</a> if you are not automatically redirected. ! <meta http-equiv="refresh" content="0;URL=main.py?session=%(session)s" />""" % {'session': session}, '' ) Index: pythonlog.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/web/pythonlog.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pythonlog.py 7 Jan 2003 20:27:58 -0000 1.1 --- pythonlog.py 22 Jul 2004 14:08:04 -0000 1.2 *************** *** 24,28 **** <h1>Python Log</h1> Below you see the Python Logfile. Use your browsers refresh button in order to see the current output.<br> ! <textarea cols="70" rows="25" readonly="readonly" style="background-color: #004025; color: #EFEFEF"> """ --- 24,28 ---- <h1>Python Log</h1> Below you see the Python Logfile. Use your browsers refresh button in order to see the current output.<br> ! <textarea cols="70" rows="25" readonly="readonly" style="background-color: #DDDDDD"> """ Index: console.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/web/console.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** console.py 20 Feb 2004 06:07:14 -0000 1.7 --- console.py 22 Jul 2004 14:08:04 -0000 1.8 *************** *** 61,65 **** <h1>Console</h1> Below you see the Wolfpack console output. Use your browsers refresh button in order to see the current output.<br> ! <textarea cols="70" rows="25" readonly="readonly" style="background-color: #004025; color: #EFEFEF"> """ --- 61,65 ---- <h1>Console</h1> Below you see the Wolfpack console output. Use your browsers refresh button in order to see the current output.<br> ! <textarea cols="70" rows="25" readonly="readonly" style="background-color: #DDDDDD"> """ Index: template.html =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/web/template.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** template.html 5 Jan 2003 18:57:41 -0000 1.1 --- template.html 22 Jul 2004 14:08:04 -0000 1.2 *************** *** 1,56 **** ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> <head> ! <title>Wolfpack - Remote Administration</title> ! <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- ! td { ! font-family: Arial, Helvetica, sans-serif; ! font-size: 12px; ! font-style: normal; ! font-weight: normal; ! font-variant: normal; ! text-transform: none; ! color: #FFFFFF; } ! td.header { font-family: Arial, Helvetica, sans-serif; font-size: 10px; ! font-style: normal; ! font-weight: normal; ! font-variant: normal; ! text-transform: none; ! color: #000000; } ! a.header { ! color: #004025; ! text-decoration: underline; } --> ! </style> ! </head> ! <body bgcolor="#004025" link="#DAE9A1" vlink="#DAE9A1" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> ! <img src="top_logo.jpg" width="586" height="87" alt=""><br> ! <table width="783" height="60" border="0" cellpadding="0" cellspacing="0" background="top_bg.png"> ! <tr> ! <td valign="top"> ! <table width="783" height="39" border="0" cellpadding="0" cellspacing="0"> ! <tr valign="middle"> ! <td height="20" colspan="2" class="header"> %NAVIGATION%</td> ! </tr> ! <tr> ! <td width="634" height="19" class="header"> </td> ! <td width="149" class="header"> %USERNAME%</td> ! </tr> ! </table></td> </tr> </table> ! <table width="783" border="0" cellspacing="0" cellpadding="3"> <tr> ! <td width="135" valign="top"> <br> ! %NAVBAR%</td> ! <td width="648" valign="top"> <br> ! %CONTENT% </td> </tr> </table> --- 1,94 ---- ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ! <html xmlns="http://www.w3.org/1999/xhtml"> <head> ! <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> ! <title>Wolfpack Administration</title> <style type="text/css"> <!-- ! body { ! margin-left: 0px; ! margin-top: 0px; ! margin-right: 0px; ! margin-bottom: 0px; ! background-color: #FFFFFF; } ! body,td,th { font-family: Arial, Helvetica, sans-serif; + font-size: 10pt; + } + .maintitle { + font-family: "Trebuchet MS", Arial, Helvetica; + font-size: 16px; + font-weight: bold; + color: #336633; + } + + .smalltext { + font-family: "Trebuchet MS", Arial, Helvetica; font-size: 10px; ! color: #999999; } ! ! .sectiontitle { ! ! font-family: "Trebuchet MS", Arial, Helvetica; ! font-size: 14px; ! font-weight: bold; ! color: #666666; ! } ! ! .text { ! font-family: "Trebuchet MS", Arial, Helvetica; ! font-size: 12px; ! } ! ! img { ! border: 0; ! } ! ! a { ! color: #0000FF; ! text-decoration: none; ! } ! ! a:hover { ! color: #FF0000; } + .Stil4 {font-size: 9pt} + --> ! </style></head> ! ! <body> ! <table width="100%" border="0" cellspacing="0" cellpadding="0"> ! <tr> ! <td bgcolor="#004026"><img src="top_logo.jpg" width="586" height="87" /></td> ! </tr> ! <tr> ! <td bgcolor="#DDDDDD" height="2"><img src="spacer.gif" width="1" height="2" /></td> </tr> </table> ! <div align="center"><br /> ! </div> ! <table width="750" border="0" align="center" cellpadding="2" cellspacing="0"> <tr> ! <td colspan="2" valign="top"><div align="center"> ! <p><strong> <span class="maintitle">Wolfpack Remote Administration</span></strong></p> ! </div></td> ! </tr> ! <tr> ! <td width="185" valign="top"> <table width="170" border="0" cellspacing="0" cellpadding="0"> ! <tr> ! <td width="1" bgcolor="#004026"><img src="spacer.gif" width="1" height="1" /></td> ! <td bgcolor="#C6DBBF"><table width="100%" border="0" cellspacing="0" cellpadding="3"> ! <tr> ! <td><span class="Stil4"><strong>Remote Administration</strong><br /> ! %NAVBAR%<br /> ! </span></td> ! </tr> ! </table></td> ! </tr> ! </table></td> ! <td width="527" valign="top"><span class="Stil4">%CONTENT%</span></td> </tr> </table> Index: template.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/web/template.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** template.py 7 Jan 2003 20:28:18 -0000 1.2 --- template.py 22 Jul 2004 14:08:04 -0000 1.3 *************** *** 12,20 **** if navbar: ! navigation = '<br /><br />' ! navigation += '- <a href="main.py?session=%s">Main</a><br />' % session_id ! navigation += '- <a href="console.py?session=%s">Console</a><br />' % session_id ! navigation += '- <a href="pythonlog.py?session=%s">Python Log</a><br />' % session_id ! navigation += '- <a href="accounts.py?session=%s">Accounts</a><br />' % session_id else: navigation = '' --- 12,21 ---- if navbar: ! navigation = """ <a href="main.py?session=%(session)s">Start Page</a><br /> ! <a href="console.py?session=%(session)s">Console</a><br /> ! <a href="accounts.py?session=%(session)s">Accounts</a><br /> ! <a href="pythonlog.py?session=%(session)s">Python Log</a><br /> ! <br /> ! <a href="logout.py?session=%(session)s">Logout</a>""" % { 'session': session_id } else: navigation = '' |
From: Sebastian H. <dar...@us...> - 2004-07-22 13:39:14
|
Update of /cvsroot/wpdev/xmlscripts/documentation/webroot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12730/webroot Modified Files: ChangeLog.wolfpack Log Message: Anti Speed Hack Index: ChangeLog.wolfpack =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/documentation/webroot/ChangeLog.wolfpack,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** ChangeLog.wolfpack 20 Jul 2004 13:44:25 -0000 1.30 --- ChangeLog.wolfpack 22 Jul 2004 13:39:05 -0000 1.31 *************** *** 21,24 **** --- 21,25 ---- - Fixed a possible bug with the Python interface ( possibly source of crashing bugs ) - Property item.magic is now item.movable + - (Configurable) Speedhack Countermeasure (See Anti Speed Hack settings in the General group) * Definition Changes: - Fixed Sheep definitions |
From: Sebastian H. <dar...@us...> - 2004-07-22 13:38:42
|
Update of /cvsroot/wpdev/wolfpack/network In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12612/network Modified Files: asyncnetio.cpp asyncnetio.h uosocket.cpp uosocket.h Log Message: Implemented an anti-speedhack functionality. Index: uosocket.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uosocket.cpp,v retrieving revision 1.382 retrieving revision 1.383 diff -C2 -d -r1.382 -r1.383 *** uosocket.cpp 21 Jul 2004 12:42:54 -0000 1.382 --- uosocket.cpp 22 Jul 2004 13:38:33 -0000 1.383 *************** *** 261,264 **** --- 261,287 ---- } + // This is always checked before anything else + if (packetId == 0x02 && Config::instance()->antiSpeedHack()) { + if (_player && !_player->isGM()) { + // There are two different delays for mounted and unmounted players + unsigned int delay; + if (!_player->atLayer(cBaseChar::Mount)) { + delay = Config::instance()->antiSpeedHackDelay(); + } else { + delay = Config::instance()->antiSpeedHackDelayMounted(); + } + + // If the last movement of our player was not X ms in the past, + // requeue the walk request until we can fullfil it. + //unsigned int time = getNormalizedTime(); + unsigned int time = Server::instance()->time(); + if (_player->lastMovement() + delay > time) { + //sysMessage(QString("Delayed Walk Request, Last WalkRequest was %1 ms ago.").arg(time - _player->lastMovement())); + Network::instance()->netIo()->pushfrontPacket(_socket, packet); + return; + } + } + } + if ( handlers[packetId] ) { Index: asyncnetio.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/asyncnetio.h,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** asyncnetio.h 2 Jun 2004 15:04:09 -0000 1.17 --- asyncnetio.h 22 Jul 2004 13:38:32 -0000 1.18 *************** *** 61,64 **** --- 61,65 ---- cUOPacket* recvPacket( QSocketDevice* ); + void pushfrontPacket( QSocketDevice*, cUOPacket *packet ); void sendPacket( QSocketDevice*, cUOPacket*, bool ); Index: asyncnetio.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/asyncnetio.cpp,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** asyncnetio.cpp 2 Jun 2004 15:04:09 -0000 1.45 --- asyncnetio.cpp 22 Jul 2004 13:38:32 -0000 1.46 *************** *** 749,752 **** --- 749,764 ---- } + /* + Requeues a packet to the front of the queue for a socket. + */ + void cAsyncNetIO::pushfrontPacket( QSocketDevice *socket, cUOPacket *packet ) { + iterator it = buffers.find(socket); + + if (it != buffers.end()) { + QMutexLocker lock(&(it.data()->packetsMutex)); + it.data()->packets.push_front(packet); + } + } + /*! Queues \a packet for sending to \a socket. UO Huffman compression will Index: uosocket.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uosocket.h,v retrieving revision 1.119 retrieving revision 1.120 diff -C2 -d -r1.119 -r1.120 *** uosocket.h 1 Jul 2004 20:07:08 -0000 1.119 --- uosocket.h 22 Jul 2004 13:38:33 -0000 1.120 *************** *** 75,78 **** --- 75,80 ---- private: + QValueVector<cUORxWalkRequest> packetQueue; + QSocketDevice* _socket; unsigned int _rxBytes, _txBytes, _uniqueId, _lastActivity; |
From: Sebastian H. <dar...@us...> - 2004-07-22 13:38:42
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12612 Modified Files: config.cpp config.h wolfpack.vcproj Log Message: Implemented an anti-speedhack functionality. Index: wolfpack.vcproj =================================================================== RCS file: /cvsroot/wpdev/wolfpack/wolfpack.vcproj,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** wolfpack.vcproj 20 Jul 2004 11:35:37 -0000 1.36 --- wolfpack.vcproj 22 Jul 2004 13:38:32 -0000 1.37 *************** *** 107,111 **** <Tool Name="VCLinkerTool" ! AdditionalDependencies="qt-mt331.lib ws2_32.lib comctl32.lib msvcrt.lib python23.lib wininet.lib imagehlp.lib" OutputFile="../wolfpack.exe" LinkIncremental="1" --- 107,111 ---- <Tool Name="VCLinkerTool" ! AdditionalDependencies="qt-mt331.lib ws2_32.lib comctl32.lib msvcrt.lib python23.lib wininet.lib imagehlp.lib libmysql.lib" OutputFile="../wolfpack.exe" LinkIncremental="1" Index: config.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/config.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** config.h 18 Jul 2004 21:02:58 -0000 1.6 --- config.h 22 Jul 2004 13:38:32 -0000 1.7 *************** *** 75,78 **** --- 75,81 ---- // loaded data bool overwriteDefinitions_; + bool antiSpeedHack_; + unsigned int antiSpeedHackDelay_; + unsigned int antiSpeedHackDelayMounted_; bool hashAccountPasswords_; bool convertUnhashedPasswords_; *************** *** 207,210 **** --- 210,222 ---- float checkFollowTime() const; float checkTamedTime() const; + bool antiSpeedHack() const { + return antiSpeedHack_; + } + unsigned int antiSpeedHackDelay() const { + return antiSpeedHackDelay_; + } + unsigned int antiSpeedHackDelayMounted() const { + return antiSpeedHackDelayMounted_; + } int niceLevel() const; unsigned int itemDecayTime() const; Index: config.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/config.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** config.cpp 18 Jul 2004 21:02:58 -0000 1.7 --- config.cpp 22 Jul 2004 13:38:32 -0000 1.8 *************** *** 165,168 **** --- 165,171 ---- overwriteDefinitions_ = getBool( "General", "Overwrite Definitions", false, true ); dontStackSpawnedObjects_ = getBool("General", "Don't Stack Spawned Objects", true, true); + antiSpeedHack_ = getBool("General", "Anti Speed Hack", true, true); + antiSpeedHackDelay_ = getNumber("General", "Anti Speed Hack Delay", 175, true); + antiSpeedHackDelayMounted_ = getNumber("General", "Anti Speed Hack Delay Mounted", 75, true); saveInterval_ = getNumber( "General", "Save Interval", 900, true ); |
From: Richard M. <dr...@us...> - 2004-07-22 05:49:07
|
Update of /cvsroot/wpdev/xmlscripts/definitions/system In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10577/system Modified Files: players.xml Log Message: Index: players.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/system/players.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** players.xml 12 Jul 2004 00:49:30 -0000 1.3 --- players.xml 22 Jul 2004 05:48:59 -0000 1.4 *************** *** 4,7 **** --- 4,8 ---- --> <definitions> + <npc id="player_male"> <events>system.regionchange,system.hunger</events> *************** *** 11,13 **** --- 12,15 ---- <events>system.regionchange,system.hunger</events> </npc> + </definitions> |
From: Richard M. <dr...@us...> - 2004-07-22 05:47:01
|
Update of /cvsroot/wpdev/xmlscripts/scripts/commands In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10329/commands Modified Files: info.py Log Message: Index: info.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/commands/info.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** info.py 21 Jul 2004 14:20:41 -0000 1.13 --- info.py 22 Jul 2004 05:46:51 -0000 1.14 *************** *** 1090,1094 **** elif key == 12: item.newbie = int( hex2dec( textentries[ key ] ) ) ! elif key == 13 item.movable = int( hex2dec( textentries[ key ] ) ) elif key == 14: --- 1090,1094 ---- elif key == 12: item.newbie = int( hex2dec( textentries[ key ] ) ) ! elif key == 13: item.movable = int( hex2dec( textentries[ key ] ) ) elif key == 14: |
From: Sebastian H. <dar...@us...> - 2004-07-21 17:14:20
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4905 Modified Files: walking.cpp Log Message: Another fix for walking issues on stairs/map interaction. Index: walking.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/walking.cpp,v retrieving revision 1.128 retrieving revision 1.129 diff -C2 -d -r1.128 -r1.129 *** walking.cpp 19 Jun 2004 02:06:51 -0000 1.128 --- walking.cpp 21 Jul 2004 17:14:12 -0000 1.129 *************** *** 185,191 **** staticBlock.walkable = checkWalkable( pChar, staIter->itemid ); ! // If we are a stair only the half height counts if ( tTile.flag2 & 0x04 ) ! staticBlock.height = ( UINT8 ) ( tTile.height / 2 ); else staticBlock.height = tTile.height; --- 185,191 ---- staticBlock.walkable = checkWalkable( pChar, staIter->itemid ); ! // If we are a stair only the half height counts (round up) if ( tTile.flag2 & 0x04 ) ! staticBlock.height = ( UINT8 ) ( tTile.height + 1 / 2 ); else staticBlock.height = tTile.height; |
From: Sebastian H. <dar...@us...> - 2004-07-21 17:05:33
|
Update of /cvsroot/wpdev/wolfpack/muls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3015/muls Modified Files: maps.cpp Log Message: A stadif issue has been resolved. Index: maps.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/muls/maps.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** maps.cpp 21 Jul 2004 12:42:54 -0000 1.3 --- maps.cpp 21 Jul 2004 17:05:22 -0000 1.4 *************** *** 48,51 **** --- 48,59 ---- #include <math.h> + #pragma pack (1) + struct stIndexRecord { + unsigned int offset; + unsigned int blocklength; + unsigned int extra; + }; + #pragma pack() + class MapsPrivate { *************** *** 59,63 **** This maps block ids to offsets in the stadifiX.mul file. */ ! QMap<unsigned int, unsigned int> staticpatches; #pragma pack (1) --- 67,71 ---- This maps block ids to offsets in the stadifiX.mul file. */ ! QMap<unsigned int, stIndexRecord> staticpatches; #pragma pack (1) *************** *** 78,82 **** QFile staticsfile; QFile mapdifdata; - QFile stadifindex; QFile stadifdata; --- 86,89 ---- *************** *** 134,157 **** } - QFile stadiflist( basepath + QString( "stadifl%1.mul" ).arg( id ) ); stadifdata.setName( basepath + QString( "stadif%1.mul" ).arg( id ) ); stadifdata.open( IO_ReadOnly ); - stadifindex.setName( basepath + QString( "stadifi%1.mul" ).arg( id ) ); - stadifindex.open( IO_ReadOnly ); ! if ( stadifdata.isOpen() && stadifindex.isOpen() && stadiflist.open( IO_ReadOnly ) ) ! { ! QDataStream listinput( &stadiflist ); ! listinput.setByteOrder( QDataStream::LittleEndian ); ! unsigned int offset = 0; ! while ( !listinput.atEnd() ) ! { unsigned int id; listinput >> id; ! staticpatches.insert( id, offset ); ! offset += 12; // Size of a static index record ! } stadiflist.close(); } } --- 141,178 ---- } stadifdata.setName( basepath + QString( "stadif%1.mul" ).arg( id ) ); stadifdata.open( IO_ReadOnly ); ! QFile stadiflist( basepath + QString( "stadifl%1.mul" ).arg( id ) ); ! QFile stadifindex( basepath + QString( "stadifi%1.mul" ).arg( id ) ); ! ! if (stadifindex.open(IO_ReadOnly) && stadiflist.open(IO_ReadOnly)) { ! QDataStream listinput(&stadiflist); ! QDataStream indexinput(&stadifindex); ! listinput.setByteOrder(QDataStream::LittleEndian); ! indexinput.setByteOrder(QDataStream::LittleEndian); ! ! stIndexRecord record; ! while (!listinput.atEnd()) { unsigned int id; listinput >> id; ! ! indexinput >> record.offset; ! indexinput >> record.blocklength; ! indexinput >> record.extra; ! ! if (!staticpatches.contains(id)) { ! staticpatches.insert( id, record ); ! } ! } ! } ! ! if (stadiflist.isOpen()) { stadiflist.close(); } + + if (stadifindex.isOpen()) { + stadifindex.close(); + } } *************** *** 608,639 **** #endif { - // Well, unfortunally we will be forced to read the file :( - #pragma pack (1) - struct - { - Q_UINT32 offset; - Q_UINT32 blocklength; - } indexStructure; - #pragma pack() - QDataStream staticStream; staticStream.setByteOrder( QDataStream::LittleEndian ); // See if this particular block is patched. if ( mapRecord->staticpatches.contains( indexPos / 12 ) ) { ! indexPos = mapRecord->staticpatches[indexPos / 12]; ! ! mapRecord->stadifindex.at( indexPos ); ! mapRecord->stadifindex.readBlock( ( char * ) &indexStructure, sizeof( indexStructure ) ); ! if ( indexStructure.offset == 0xFFFFFFFF ) return; // No statics for this block ! mapRecord->stadifdata.at( indexStructure.offset ); staticStream.setDevice( &mapRecord->stadifdata ); } else { mapRecord->idxfile.at( indexPos ); mapRecord->idxfile.readBlock( ( char * ) &indexStructure, sizeof( indexStructure ) ); --- 629,651 ---- #endif { QDataStream staticStream; staticStream.setByteOrder( QDataStream::LittleEndian ); + unsigned int blockLength; // See if this particular block is patched. if ( mapRecord->staticpatches.contains( indexPos / 12 ) ) { ! const stIndexRecord& index = mapRecord->staticpatches[indexPos / 12]; ! if ( index.offset == 0xFFFFFFFF ) return; // No statics for this block ! mapRecord->stadifdata.at( index.offset ); staticStream.setDevice( &mapRecord->stadifdata ); + blockLength = index.blocklength; } else { + stIndexRecord indexStructure; mapRecord->idxfile.at( indexPos ); mapRecord->idxfile.readBlock( ( char * ) &indexStructure, sizeof( indexStructure ) ); *************** *** 644,652 **** mapRecord->staticsfile.at( indexStructure.offset ); staticStream.setDevice( &mapRecord->staticsfile ); } const uint remainX = x % 8; const uint remainY = y % 8; ! for ( Q_UINT32 i = 0; i < indexStructure.blocklength / 7; ++i ) { staticrecord r; --- 656,665 ---- mapRecord->staticsfile.at( indexStructure.offset ); staticStream.setDevice( &mapRecord->staticsfile ); + blockLength = indexStructure.blocklength; } const uint remainX = x % 8; const uint remainY = y % 8; ! for ( Q_UINT32 i = 0; i < blockLength / 7; ++i ) { staticrecord r; |
From: Richard M. <dr...@us...> - 2004-07-21 14:34:55
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1628 Modified Files: verinfo.h Log Message: Someone can reverse if they don't like it.. but I think this might help some. For CVS we should have `cvs` at the end of the version. Example, like now: 12.9.8cvs And on releases whom ever does the compiles/release can remove the cvs. This should let us separate cvs/snapshot users from release users. Gives us a better chance to support the issue. :) Index: verinfo.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/verinfo.h,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** verinfo.h 4 Jul 2004 16:45:43 -0000 1.37 --- verinfo.h 21 Jul 2004 14:34:34 -0000 1.38 *************** *** 36,40 **** inline const char* productVersion() { ! return "12.9.8"; } --- 36,40 ---- inline const char* productVersion() { ! return "12.9.8cvs"; } |
From: Richard M. <dr...@us...> - 2004-07-21 14:20:52
|
Update of /cvsroot/wpdev/xmlscripts/scripts/system In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31896/system Modified Files: craftmenu.py makemenus.py Log Message: Rest of the .magic cleanups Index: makemenus.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/system/makemenus.py,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** makemenus.py 2 Jul 2004 13:40:46 -0000 1.24 --- makemenus.py 21 Jul 2004 14:20:42 -0000 1.25 *************** *** 480,484 **** item = wolfpack.additem(self.definition) item.decay = 1 # Should always decay ! item.magic = 1 # Should always be movable if self.amount > 0: --- 480,484 ---- item = wolfpack.additem(self.definition) item.decay = 1 # Should always decay ! item.movable = 1 # Should always be movable if self.amount > 0: Index: craftmenu.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/system/craftmenu.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** craftmenu.py 16 Jul 2004 19:28:31 -0000 1.2 --- craftmenu.py 21 Jul 2004 14:20:42 -0000 1.3 *************** *** 463,467 **** item = wolfpack.additem(self.definition) item.decay = 1 # Should always decay ! item.magic = 1 # Should always be movable if self.amount > 0: --- 463,467 ---- item = wolfpack.additem(self.definition) item.decay = 1 # Should always decay ! item.movable = 1 # Should always be movable if self.amount > 0: |
From: Richard M. <dr...@us...> - 2004-07-21 14:20:52
|
Update of /cvsroot/wpdev/xmlscripts/scripts/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31896/wolfpack Modified Files: utilities.py Log Message: Rest of the .magic cleanups Index: utilities.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/wolfpack/utilities.py,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** utilities.py 17 Jul 2004 07:24:00 -0000 1.62 --- utilities.py 21 Jul 2004 14:20:42 -0000 1.63 *************** *** 613,617 **** \param pos The target position. \param sendobject ! \param movable To change the item.magic value \param speed \param fixeddir --- 613,617 ---- \param pos The target position. \param sendobject ! \param movable To change the item.movable value \param speed \param fixeddir *************** *** 622,630 **** \description Animates a character's throwing of an object at a given target. """ ! def throwobject(char, object, pos, sendobject=0, movable=-1, speed=10, fixeddir=0, explodes=0, hue=0, rendermode=0): # This will make the object leave the character's pack and land at the target location. if sendobject > 0: ! if not movable == object.magic and movable >= 0: ! object.magic = movable object.container = 0 --- 622,630 ---- \description Animates a character's throwing of an object at a given target. """ ! def throwobject(char, object, pos, sendobject=0, movable=1, speed=10, fixeddir=0, explodes=0, hue=0, rendermode=0): # This will make the object leave the character's pack and land at the target location. if sendobject > 0: ! if not movable == object.movable and movable >= 0: ! object.movable = movable object.container = 0 |
From: Richard M. <dr...@us...> - 2004-07-21 14:20:51
|
Update of /cvsroot/wpdev/xmlscripts/scripts/skills In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31896/skills Modified Files: inscription.py Log Message: Rest of the .magic cleanups Index: inscription.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/skills/inscription.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** inscription.py 16 Jul 2004 19:28:14 -0000 1.7 --- inscription.py 21 Jul 2004 14:20:42 -0000 1.8 *************** *** 30,34 **** # empty recall rune cliloc id : 104447 # reagents required to make a spell scroll (reactive armor first) ! spell_regs = [['f84', 'f8d', 'f8c'],\ ['f7b', 'f88'],\ ['f84', 'f85', 'f86'],\ --- 30,35 ---- # empty recall rune cliloc id : 104447 # reagents required to make a spell scroll (reactive armor first) ! spell_regs = [\ ! ['f84', 'f8d', 'f8c'],\ ['f7b', 'f88'],\ ['f84', 'f85', 'f86'],\ *************** *** 270,274 **** else: item.decay = 1 ! item.magic = 1 if not tobackpack(item, player): item.update() --- 271,275 ---- else: item.decay = 1 ! item.movable = 1 if not tobackpack(item, player): item.update() *************** *** 292,296 **** else: item.decay = 1 ! item.magic = 1 if not tobackpack(item, player): item.update() --- 293,297 ---- else: item.decay = 1 ! item.movable = 1 if not tobackpack(item, player): item.update() |
From: Richard M. <dr...@us...> - 2004-07-21 14:20:50
|
Update of /cvsroot/wpdev/xmlscripts/scripts/deeds In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31896/deeds Modified Files: carpentry_deed.py Log Message: Rest of the .magic cleanups Index: carpentry_deed.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/deeds/carpentry_deed.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** carpentry_deed.py 25 Apr 2004 22:03:01 -0000 1.2 --- carpentry_deed.py 21 Jul 2004 14:20:42 -0000 1.3 *************** *** 208,212 **** item.moveto( pos ) # locked down ! item.magic = 4 item.update() return 1 --- 208,212 ---- item.moveto( pos ) # locked down ! item.movable = 3 item.update() return 1 *************** *** 218,222 **** item.moveto( x, y, map ) # locked down ! item.magic = 4 item.update() return 1 --- 218,222 ---- item.moveto( x, y, map ) # locked down ! item.movable = 3 item.update() return 1 |
From: Richard M. <dr...@us...> - 2004-07-21 14:20:50
|
Update of /cvsroot/wpdev/xmlscripts/scripts/commands In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31896/commands Modified Files: import.py info.py turnitem.py Log Message: Rest of the .magic cleanups Index: info.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/commands/info.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** info.py 17 Jul 2004 12:29:07 -0000 1.12 --- info.py 21 Jul 2004 14:20:41 -0000 1.13 *************** *** 828,832 **** gump.addText( 113, 400, "Movable:", 0x834 ) gump.addResizeGump( 280, 400, 0xBB8, 215, 20 ) ! gump.addInputField( 284, 400, 200, 16, 0x834, 13, unicode( item.magic ) ) # next page --- 828,832 ---- gump.addText( 113, 400, "Movable:", 0x834 ) gump.addResizeGump( 280, 400, 0xBB8, 215, 20 ) ! gump.addInputField( 284, 400, 200, 16, 0x834, 13, unicode( item.movable ) ) # next page *************** *** 1090,1096 **** elif key == 12: item.newbie = int( hex2dec( textentries[ key ] ) ) ! elif key == 13: ! # this should be .movable :P ! item.magic = int( hex2dec( textentries[ key ] ) ) elif key == 14: item.visible = int( hex2dec( textentries[ key ] ) ) --- 1090,1095 ---- elif key == 12: item.newbie = int( hex2dec( textentries[ key ] ) ) ! elif key == 13 ! item.movable = int( hex2dec( textentries[ key ] ) ) elif key == 14: item.visible = int( hex2dec( textentries[ key ] ) ) Index: import.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/commands/import.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** import.py 20 Jun 2004 18:51:42 -0000 1.7 --- import.py 21 Jul 2004 14:20:41 -0000 1.8 *************** *** 210,214 **** item = wolfpack.newitem(1) item.decay = 0 ! item.magic = 2 item.id = itemid item.color = color --- 210,214 ---- item = wolfpack.newitem(1) item.decay = 0 ! item.movable = 2 item.id = itemid item.color = color Index: turnitem.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/commands/turnitem.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** turnitem.py 26 May 2004 13:07:21 -0000 1.2 --- turnitem.py 21 Jul 2004 14:20:41 -0000 1.3 *************** *** 142,146 **** socket.sysmessage("You must target an item!") return 1 ! if finditem.magic != 1: socket.sysmessage("This object is not movable by you!") return 1 --- 142,146 ---- socket.sysmessage("You must target an item!") return 1 ! if ( finditem.movable != 1 ) or ( finditem.movable == 1 and finditem.owner != char.serial ): socket.sysmessage("This object is not movable by you!") return 1 |