New guild storage hall map based of the patch, [ 1854556 ] New Guild Storage Building (for laughing skulls guild), with included feature of using Python scripts for management and ownership

git-svn-id: svn://svn.code.sf.net/p/crossfire/code/maps/trunk@8702 282e977c-c81d-0410-88c4-b93c2d0d6712
master
rjtanner 2008-04-07 01:31:47 +00:00
parent 1c6dc57f8c
commit 5fbcb1027b
4 changed files with 8167 additions and 5 deletions

View File

@ -0,0 +1,87 @@
# Script for entering guild houses
#
#
# 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.
#
# authors: majorwoo josh@woosworld.net, Avion temitchell@sourceforge.net
import Crossfire
import CFGuilds
import sys
import string
activator=Crossfire.WhoIsActivator()
activatorname=activator.Name
mymap = activator.Map
x=32
y=16
whoami=Crossfire.WhoAmI()
guildname=Crossfire.ScriptParameters() # 6 is say event
if (guildname):
guild = CFGuilds.CFGuild(guildname)
text = string.split(Crossfire.WhatIsMessage())
guildrecord = CFGuilds.CFGuildHouses().info(guildname)
found = 0
if text[0] == 'enter' or text[0] == 'Enter':
if guildrecord['Status'] == 'inactive':
message = 'This guild storage hall is currently inactive and available to be bought.'
elif guildrecord['Status'] == 'suspended':
message = 'This guild storage hall is currently under suspension.\nPlease see a DM for more information'
else:
if guildrecord['Status'] == 'probation':
activator.Write('This guild storage hall is currently under probation.\nPlease see a DM for more information')
record = guild.info(activatorname) #see if they are on the board
if record:
#check their status
if record['Status'] == 'suspended':
message = 'You are currently suspended from the guild storage hall'
elif record['Status'] == 'probation':
message = 'Granted, but you are on probation'
x=15
y=22
else:
message = 'Entry granted for %s' %activatorname
y=22
x=15
else:
message = 'You try my patience %s. BEGONE!' %activatorname
activator.Teleport(mymap,int(x),int(y)) #teleport them
elif text[0] == 'buy' or text[0] == 'Buy':
if guildrecord['Status'] == 'inactive':
in_guild = CFGuilds.SearchGuilds(activatorname)
if in_guild == 0:
x = 30
y = 22
message = "Proceed, but know ye that three are required to found a guild and the cost is high"
activator.Teleport(mymap,int(x),int(y)) #teleport them
else:
message = "Sorry you already belong to the %s guild. You must quit that guild before founding your own." %in_guild
else:
message = 'This guild storage hall is already owned.'
else:
message = 'This is the entry to the great %s guild storage hall. Enter or begone!' %guildname
else:
message = 'Guild Guardian Error, please notify a DM'
whoami.Say(message)

View File

@ -14,10 +14,11 @@ Step 1: Copy the map files to ./share/maps/guilds/<guildname>
Modify Map Files:
There are 6 objects that need to be changed. The first three are on the main floor, the next two are in the guild_hq and the final one is in hallofjoining.
There are 6 objects that need to be changed, or 11 objects if you want to use the optional Python based Guild Storage hall. The first three are on the main floor, the next two are in the guild_hq and the final one is in hallofjoining. Withe the Storage Hall, three objects are found on the main floor and the last two are in the basement.
It's not that hard, but you will need a map editor. You find the object that has the script, click edit data, and change the line "script options" (which currently is "GUILD_TEMPALTE") to the guild you wish to use. And make sure you use the same one for all of them or it won't work.
It's not that hard, but you will need a map editor. You'll need to find the object that has the script (more on this, below)
Here's a quick HOWTO for using the map editor to make these changes:
1.) Left click on the object (ex: sign) so it's selected
2.) Click on the Scripts tab
@ -34,9 +35,17 @@ guild hq map:
5:The guild master's sign straight above the oracle at the wall. (x7, y1)
(Notice, GUILD_TEMPLATE_GM_board - leave the _GM_board in place)
hallofjoining:
hallofjoining map:
6:One of the switches, called "Load" and located on the left, in the hallofjoining. (x8, y11)
storage_hall map:
7:The guardian, its a sign out front of the storage hall and *under* the bridge. (x10, y27)
8:"Check Inv" object found under the first entrance gate. (x10, y27)
9:"Check Inv" object found under the middle gate at the top of the map. (x10, y6)
storage_hall.0: (basement)
10:"Check Inv" object found under the stairs. (x3, y1)
11:"Check Inv" object found under the middle gate at the bottom of the map. (x3, y6)
Or, if you prefer a text editor or want to double check your changes..
@ -61,8 +70,8 @@ GuildList:
(This is a text file)
All Map Files:
In all the guild map files, update the Region setting (region Template), it's found at the fourth (4th) line in each file.
See the "regions" file found at ./share/maps/ for more information
In all the guild map files, update the Region setting (region Template), it's found at the fourth (4th) line in each file. In the map editor, click on Map -> Map Properties (or hit control-m) as another way to update the Region seting.
See the "regions" file found at ./share/maps/ for more information.
Step 2:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,586 @@
arch map
name Guild Hall Storage Basement
difficulty 1
region Template
width 7
height 12
enter_x 3
enter_y 1
msg
Creator: Chad Opperman
cromagic@sbcglobal.net
Date: 2007-12-19
Modified: 2008-04-06 Rick Tanner
endmsg
end
arch stonefloor2
end
arch dwall_2_2_2
end
arch stonefloor2
y 1
end
arch dwall_2_1_1
y 1
end
arch stonefloor2
y 2
end
arch dwall_2_1_1
y 2
end
arch stonefloor2
y 3
end
arch dwall_2_1_1
y 3
end
arch stonefloor2
y 4
end
arch dwall_2_1_1
y 4
end
arch stonefloor2
y 5
end
arch dwall_2_1_1
y 5
end
arch stonefloor2
y 6
end
arch dwall_3_2
y 6
end
arch stonefloor2
y 7
end
arch dwall_2_1_1
y 7
end
arch stonefloor2
y 8
end
arch dwall_2_1_1
y 8
end
arch stonefloor2
y 9
end
arch dwall_2_2_1
y 9
end
arch blocked
y 10
end
arch stonefloor2
x 1
end
arch dwall_2_1_2
x 1
end
arch stonefloor2
x 1
y 1
unique 1
end
arch stonefloor2
x 1
y 2
unique 1
end
arch stonefloor2
x 1
y 3
unique 1
end
arch stonefloor2
x 1
y 4
unique 1
end
arch stonefloor2
x 1
y 5
unique 1
end
arch stonefloor2
x 1
y 6
end
arch dwall_2_1_2
x 1
y 6
end
arch dungeon_magic
x 1
y 7
end
arch stonefloor2
x 1
y 7
no_magic 1
unique 1
damned 1
end
arch bed_save
x 1
y 7
end
arch dungeon_magic
x 1
y 8
end
arch stonefloor2
x 1
y 8
no_magic 1
unique 1
damned 1
end
arch bed_save
x 1
y 8
end
arch stonefloor2
x 1
y 9
end
arch dwall_2_1_2
x 1
y 9
end
arch blocked
x 1
y 10
end
arch stonefloor2
x 2
end
arch dwall_3_3
x 2
end
arch stonefloor2
x 2
y 1
end
arch cwall_1_2
x 2
y 1
end
arch stonefloor2
x 2
y 2
unique 1
end
arch stonefloor2
x 2
y 3
unique 1
end
arch stonefloor2
x 2
y 4
unique 1
end
arch stonefloor2
x 2
y 5
unique 1
end
arch stonefloor2
x 2
y 6
end
arch cwall_1_3
x 2
y 6
end
arch dungeon_magic
x 2
y 7
end
arch stonefloor2
x 2
y 7
no_magic 1
unique 1
damned 1
end
arch dungeon_magic
x 2
y 8
end
arch stonefloor2
x 2
y 8
no_magic 1
unique 1
damned 1
end
arch stonefloor2
x 2
y 9
end
arch dwall_2_1_2
x 2
y 9
end
arch blocked
x 2
y 10
end
arch stonefloor2
x 3
end
arch dwall_2_1_2
x 3
end
arch check_floor
slaying GUILD_TEMPLATE
x 3
y 1
move_block all
end
arch stonefloor2
x 3
y 1
unique 1
end
arch stair_up_1
slaying storage_hall
hp 10
sp 3
x 3
y 1
end
arch stonefloor2
x 3
y 2
unique 1
end
arch stonefloor2
x 3
y 3
unique 1
end
arch stonefloor2
x 3
y 4
unique 1
end
arch dungeon_magic
x 3
y 5
end
arch stonefloor2
x 3
y 5
no_magic 1
unique 1
damned 1
end
arch button_small
x 3
y 5
invisible 1
connected 111
end
arch check_floor
slaying GUILD_TEMPLATE
x 3
y 6
move_block all
end
arch stonefloor2
x 3
y 6
unique 1
end
arch grate_closed_1
x 3
y 6
connected 111
end
arch dungeon_magic
x 3
y 7
end
arch stonefloor2
x 3
y 7
no_magic 1
unique 1
damned 1
end
arch button_small
x 3
y 7
invisible 1
connected 111
end
arch dungeon_magic
x 3
y 8
end
arch stonefloor2
x 3
y 8
no_magic 1
damned 1
end
arch stonefloor2
x 3
y 9
end
arch dwall_2_1_2
x 3
y 9
end
arch blocked
x 3
y 10
end
arch stonefloor2
x 4
end
arch dwall_3_3
x 4
end
arch stonefloor2
x 4
y 1
end
arch cwall_1_2
x 4
y 1
end
arch stonefloor2
x 4
y 2
unique 1
end
arch stonefloor2
x 4
y 3
unique 1
end
arch stonefloor2
x 4
y 4
unique 1
end
arch stonefloor2
x 4
y 5
unique 1
end
arch stonefloor2
x 4
y 6
end
arch cwall_1_4
x 4
y 6
end
arch dungeon_magic
x 4
y 7
end
arch stonefloor2
x 4
y 7
no_magic 1
unique 1
damned 1
end
arch dungeon_magic
x 4
y 8
end
arch stonefloor2
x 4
y 8
no_magic 1
unique 1
damned 1
end
arch stonefloor2
x 4
y 9
end
arch dwall_2_1_2
x 4
y 9
end
arch blocked
x 4
y 10
end
arch stonefloor2
x 5
end
arch stonefloor2
x 5
end
arch dwall_2_1_2
x 5
end
arch stonefloor2
x 5
y 1
unique 1
end
arch stonefloor2
x 5
y 2
unique 1
end
arch stonefloor2
x 5
y 3
unique 1
end
arch stonefloor2
x 5
y 4
unique 1
end
arch stonefloor2
x 5
y 5
unique 1
end
arch stonefloor2
x 5
y 6
end
arch dwall_2_1_2
x 5
y 6
end
arch dungeon_magic
x 5
y 7
end
arch stonefloor2
x 5
y 7
no_magic 1
unique 1
damned 1
end
arch bed_save
x 5
y 7
end
arch dungeon_magic
x 5
y 8
end
arch stonefloor2
x 5
y 8
no_magic 1
unique 1
damned 1
end
arch bed_save
x 5
y 8
end
arch stonefloor2
x 5
y 9
end
arch dwall_2_1_2
x 5
y 9
end
arch blocked
x 5
y 10
end
arch stonefloor2
x 6
end
arch dwall_2_2_3
x 6
end
arch stonefloor2
x 6
y 1
end
arch dwall_2_1_1
x 6
y 1
end
arch stonefloor2
x 6
y 2
end
arch dwall_2_1_1
x 6
y 2
end
arch stonefloor2
x 6
y 3
end
arch dwall_2_1_1
x 6
y 3
end
arch stonefloor2
x 6
y 4
end
arch dwall_2_1_1
x 6
y 4
end
arch stonefloor2
x 6
y 5
end
arch dwall_2_1_1
x 6
y 5
end
arch stonefloor2
x 6
y 6
end
arch dwall_3_4
x 6
y 6
end
arch stonefloor2
x 6
y 7
end
arch dwall_2_1_1
x 6
y 7
end
arch stonefloor2
x 6
y 8
end
arch dwall_2_1_1
x 6
y 8
end
arch stonefloor2
x 6
y 9
end
arch dwall_2_2_4
x 6
y 9
end
arch blocked
x 6
y 10
end