Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
battle.py
Package: MMOPRG_server_dev.rar [view]
Upload User: ghyvgy
Upload Date: 2009-05-26
Package Size: 547k
Code Size: 2k
Category:
Other Games
Development Platform:
Python
- # battle.py
- #
- # A SafeSandbox that represents a combat arena, where
- # fighting is allowed.
- #
- class Battle:
- """A place where you can engage in combat."""
- def Init(self):
- print 'Battle.Init()'
- self.RegisterHandler(gameeventkeys.ByEvent(gameevents.ACTION_ATTACK_SUCCESS), self.OnAttackSuccess)
- self.RegisterHandler(gameeventkeys.ByEvent(gameevents.ACTION_ATTACK_FAILURE), self.OnAttackFailure)
- # create some stuff
- self.CreateItem('Weapon', 'Longsword')
- self.CreateItem('Weapon', 'Shortsword')
- def OnPlayerEnter(self, key):
- print 'OnPlayerEnter( %s )' % (key,)
- self.ClientMessage(key.subj, 'Let the battle begin!')
- def OnPlayerExit(self, key):
- print 'OnPlayerExit( %s )' % (key,)
- player = self.GetGameObject(key.subj)
- if player.GetHealth() > 0:
- self.ClientMessage(key.subj, 'You are lucky to escape alive.')
- else:
- self.ClientMessage(key.subj, 'You suffered a crushing defeat.')
- def OnAttackSuccess(self, key, damage):
- print 'OnAttackSuccess( %s, %s )' % (key, damage)
- source = self.GetGameObject(key.src)
- target = self.GetGameObject(key.subj)
- for playerid in self.playerids:
- if playerid != key.subj and playerid != key.src:
- # don't notify or target - they already know
- self.ClientMessage(playerid, '%s attacked %s for %s damage.' % (source.GetName(), target.GetName(), damage))
- def OnAttackFailure(self, key):
- print 'OnAttackFailure( %s )' % (key,)
- source = self.GetGameObject(key.src)
- target = self.GetGameObject(key.subj)
- for playerid in self.playerids:
- if playerid != key.subj and playerid != key.src:
- # don't notify source or target - they already know
- self.ClientMessage(playerid, '%s attacked %s and missed.' % (source.GetName(), target.GetName()))