Change name of sent mail scrolls

This prevents sent mail from being sent again, thus working around the
issue in Bug #803.

git-svn-id: svn://svn.code.sf.net/p/crossfire/code/maps/trunk@19852 282e977c-c81d-0410-88c4-b93c2d0d6712
master
partmedia 2015-03-18 21:43:01 +00:00
parent 708982a1a2
commit 22ff65025f
1 changed files with 10 additions and 31 deletions

View File

@ -1,28 +1,12 @@
# receive.py - Script for apply event of mailbox
#
# Copyright (C) 2002 Joris Bontje
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# The author can be reached via e-mail at jbontje@suespammers.org
#
#Updated to use new path functions in CFPython -Todd Mitchell
"""
Created by: Joris Bontje <jbontje@suespammers.org>
This script implements the apply event for mailboxes. When a mailbox is
opened, check the player's mail and create objects if necessary.
"""
import Crossfire
import CFMail
import string
activator=Crossfire.WhoIsActivator()
activatorname=activator.Name
@ -32,14 +16,14 @@ mail = CFMail.CFMail()
total = mail.countmail(activatorname)
if total > 0:
activator.Write("You have %d mail!" % total)
elements = mail.receive(activatorname)
element = []
for element in elements:
type, fromname, message = element
if type==1:
msgob = whoami.CreateObject('scroll')
msgob.Name='mailscroll F: '+fromname+' T: '+activatorname
msgob.NamePl='mailscrolls F: '+fromname+' T: '+activatorname
msgob.Name='mail F: '+fromname+' T: '+activatorname
msgob.NamePl=msgob.Name
msgob.Message=message
msgob.Value=0
elif type==2:
@ -56,10 +40,5 @@ if total > 0:
msgob.Value=0
else:
Crossfire.Log(Crossfire.LogError, 'ERROR: unknown mailtype\n')
if total == 1:
activator.Write('You got 1 mail.')
elif total > 1:
activator.Write('You got %s mails.'%total)
else:
activator.Write('You haven\'t got any mail.')
activator.Write("You haven't got any mail.")