From: <aki...@us...> - 2007-11-25 09:40:40
|
Revision: 3470 http://gridarta.svn.sourceforge.net/gridarta/?rev=3470&view=rev Author: akirschbaum Date: 2007-11-25 01:40:39 -0800 (Sun, 25 Nov 2007) Log Message: ----------- Change duplicate object check when adding objects to maps. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/map/MapControl.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-11-25 09:32:32 UTC (rev 3469) +++ trunk/crossfire/ChangeLog 2007-11-25 09:40:39 UTC (rev 3470) @@ -1,3 +1,9 @@ +2007-11-25 Andreas Kirschbaum + + * Change duplicate object check when adding objects to maps: now + an object is dropped if either both objects has the same archetype + or if the "type" fields do match. + 2007-11-24 Andreas Kirschbaum * Do not silently fail when saving a map fails. Modified: trunk/crossfire/src/cfeditor/map/MapControl.java =================================================================== --- trunk/crossfire/src/cfeditor/map/MapControl.java 2007-11-25 09:32:32 UTC (rev 3469) +++ trunk/crossfire/src/cfeditor/map/MapControl.java 2007-11-25 09:40:39 UTC (rev 3470) @@ -262,7 +262,7 @@ if (!allowMany) { // check if there is already an arch of that kind for (final GameObject t : mapModel.getMapSquare(pos)) { - if (t.hasSameArchetype(newarch) && t.getArchTypNr() == newarch.getArchTypNr()) { + if (t.hasSameArchetype(newarch) || t.getArchTypNr() == newarch.getArchTypNr()) { insertAllowed = false; // there's a match - don't insert a second one } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-12-04 20:49:12
|
Revision: 3483 http://gridarta.svn.sourceforge.net/gridarta/?rev=3483&view=rev Author: akirschbaum Date: 2007-12-04 12:42:54 -0800 (Tue, 04 Dec 2007) Log Message: ----------- Remove unused crimson package. Modified Paths: -------------- trunk/crossfire/build.xml Removed Paths: ------------- trunk/crossfire/lib/crimson.jar Modified: trunk/crossfire/build.xml =================================================================== --- trunk/crossfire/build.xml 2007-12-04 20:37:54 UTC (rev 3482) +++ trunk/crossfire/build.xml 2007-12-04 20:42:54 UTC (rev 3483) @@ -133,7 +133,6 @@ <fileset dir="../src/app" excludes="**/*.java,**/package.html,**/overview.html" /> <zipfileset src="../lib/log4j-1.2.13.jar" /> <zipfileset src="${lib.dir}/jdom.jar" excludes="META-INF/**" /> - <zipfileset src="${lib.dir}/crimson.jar" excludes="META-INF/**" /> <zipfileset src="${lib.dir}/bsh-core-2.0b4.jar" excludes="META-INF/**" /> <zipfileset src="${lib.dir}/bsh-commands-2.0b4.jar" excludes="META-INF/**" /> <zipfileset src="${lib.dir}/bsh-classgen-2.0b4.jar" excludes="META-INF/**" /> Deleted: trunk/crossfire/lib/crimson.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-12-15 22:37:21
|
Revision: 3486 http://gridarta.svn.sourceforge.net/gridarta/?rev=3486&view=rev Author: akirschbaum Date: 2007-12-15 14:37:24 -0800 (Sat, 15 Dec 2007) Log Message: ----------- Add support for background music. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/gui/map/MapPropertiesDialog.java trunk/crossfire/src/cfeditor/io/MapArchObjectParser.java trunk/crossfire/src/cfeditor/map/MapArchObject.java trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-12-15 22:36:24 UTC (rev 3485) +++ trunk/crossfire/ChangeLog 2007-12-15 22:37:24 UTC (rev 3486) @@ -1,3 +1,7 @@ +2007-12-15 Andreas Kirschbaum + + * Add support for background music. + 2007-11-25 Andreas Kirschbaum * Change duplicate object check when adding objects to maps: now Modified: trunk/crossfire/src/cfeditor/gui/map/MapPropertiesDialog.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/map/MapPropertiesDialog.java 2007-12-15 22:36:24 UTC (rev 3485) +++ trunk/crossfire/src/cfeditor/gui/map/MapPropertiesDialog.java 2007-12-15 22:37:24 UTC (rev 3486) @@ -87,6 +87,8 @@ private final JFormattedTextField fieldResetTimeout = new JFormattedTextField(); // reset timeout + private final JFormattedTextField fieldBackgroundMusic = new JFormattedTextField(); // background music + private final JFormattedTextField fieldDifficulty = new JFormattedTextField(); // map difficulty private final JFormattedTextField fieldDarkness = new JFormattedTextField(); // darkness @@ -215,6 +217,7 @@ panel.add(createPanelLine(fieldDarkness, 10, String.valueOf(map.getDarkness()), "mapDarkness")); panel.add(createPanelLine(fieldSwapTime, 10, String.valueOf(map.getSwapTime()), "mapSwapTime")); panel.add(createPanelLine(fieldResetTimeout, 10, String.valueOf(map.getResetTimeout()), "mapResetTimeout")); + panel.add(createPanelLine(fieldBackgroundMusic, 10, String.valueOf(map.getBackgroundMusic()), "mapBackgroundMusic")); return panel; } @@ -375,6 +378,7 @@ final int difficulty; final int swapTime; final int resetTimeout; + final String backgroundMusic; final int temperature; final int pressure; final int humidity; @@ -397,6 +401,7 @@ enterY = parseProperty(fieldEnterY.getText(), "Enter Y"); swapTime = parseProperty(fieldSwapTime.getText(), "Swap Time"); resetTimeout = parseProperty(fieldResetTimeout.getText(), "Reset Timeout"); + backgroundMusic = fieldBackgroundMusic.getText(); difficulty = parseProperty(fieldDifficulty.getText(), "Difficulty"); darkness = parseProperty(fieldDarkness.getText(), "Darkness"); region = mapRegion.getText(); @@ -449,6 +454,7 @@ map.setEnterX(enterX); map.setEnterY(enterY); map.setResetTimeout(resetTimeout); + map.setBackgroundMusic(backgroundMusic); map.setSwapTime(swapTime); map.setDifficulty(difficulty); map.setFixedReset(checkboxFixedReset.isSelected()); @@ -551,6 +557,7 @@ fieldEnterY.setText(String.valueOf(map.getEnterY())); fieldSwapTime.setText(String.valueOf(map.getSwapTime())); fieldResetTimeout.setText(String.valueOf(map.getResetTimeout())); + fieldBackgroundMusic.setText(String.valueOf(map.getBackgroundMusic())); fieldDarkness.setText(String.valueOf(map.getDarkness())); fieldDifficulty.setText(String.valueOf(map.getDifficulty())); Modified: trunk/crossfire/src/cfeditor/io/MapArchObjectParser.java =================================================================== --- trunk/crossfire/src/cfeditor/io/MapArchObjectParser.java 2007-12-15 22:36:24 UTC (rev 3485) +++ trunk/crossfire/src/cfeditor/io/MapArchObjectParser.java 2007-12-15 22:37:24 UTC (rev 3486) @@ -146,6 +146,9 @@ if (mapArchObject.isNosmooth()) { appendable.append("nosmooth 1\n"); } + if (mapArchObject.getBackgroundMusic().length() > 0) { + format.format("background_music %s\n", mapArchObject.getBackgroundMusic()); + } appendable.append("end\n"); } @@ -244,6 +247,11 @@ return true; } + if (line.startsWith("background_music ")) { + mapArchObject.setBackgroundMusic(line.substring(17)); + return true; + } + return false; } Modified: trunk/crossfire/src/cfeditor/map/MapArchObject.java =================================================================== --- trunk/crossfire/src/cfeditor/map/MapArchObject.java 2007-12-15 22:36:24 UTC (rev 3485) +++ trunk/crossfire/src/cfeditor/map/MapArchObject.java 2007-12-15 22:37:24 UTC (rev 3486) @@ -87,6 +87,9 @@ /** The region the map is in. */ @NotNull private String region = ""; + /** The background music to play. */ + @NotNull private String backgroundMusic = ""; + /** * Create a new MapArchObject. * All fields will be set to reasonable default values. @@ -117,6 +120,7 @@ shopMin = mapArchObject.shopMin; shopMax = mapArchObject.shopMax; region = mapArchObject.region; + backgroundMusic = mapArchObject.backgroundMusic; } /** {@inheritDoc} */ @@ -138,6 +142,7 @@ setShopMin(mapArchObject.shopMin); setShopMax(mapArchObject.shopMax); setRegion(mapArchObject.region); + setBackgroundMusic(mapArchObject.backgroundMusic); } /** @@ -209,6 +214,20 @@ setModified(); } + @NotNull public String getBackgroundMusic() { + return backgroundMusic; + } + + public void setBackgroundMusic(@NotNull final String backgroundMusic) { + final String trimmedBackgroundMusic = backgroundMusic.trim(); + if (this.backgroundMusic.equals(trimmedBackgroundMusic)) { + return; + } + + this.backgroundMusic = trimmedBackgroundMusic; + setModified(); + } + @NotNull public String getShopItems() { return shopItems; } @@ -423,7 +442,8 @@ && mapArchObject.shopGreed == shopGreed && mapArchObject.shopMin == shopMin && mapArchObject.shopMax == shopMax - && mapArchObject.region.equals(region); + && mapArchObject.region.equals(region) + && mapArchObject.backgroundMusic.equals(backgroundMusic); } /** {@inheritDoc} */ @@ -444,7 +464,8 @@ + (int) shopGreed + shopMin + shopMax - + region.hashCode(); + + region.hashCode() + + backgroundMusic.hashCode(); } /** {@inheritDoc} */ Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2007-12-15 22:36:24 UTC (rev 3485) +++ trunk/crossfire/src/cfeditor/messages.properties 2007-12-15 22:37:24 UTC (rev 3486) @@ -71,6 +71,7 @@ mapUnique=Unique map mapOutdoor=Outdoor map mapNosmooth=Nosmooth map +mapBackgroundMusic=Background music mapShopType=Shop type mapShopGreed=Greed mapUpperPriceLimit=Upper price limit Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2007-12-15 22:36:24 UTC (rev 3485) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2007-12-15 22:37:24 UTC (rev 3486) @@ -69,6 +69,7 @@ mapUnique=Permanente Karte mapOutdoor=Im Freien mapNosmooth=Ohne Bild\xFCberg\xE4ng +mapBackgroundMusic=Hintergrundmusik mapShopType=Typ mapShopGreed=Geldgier mapLowerPriceLimit=Mindestpreis Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2007-12-15 22:36:24 UTC (rev 3485) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2007-12-15 22:37:24 UTC (rev 3486) @@ -70,6 +70,7 @@ #mapUnique= #mapOutdoor= #mapNosmooth= +#mapBackgroundMusic= #mapShopType= #mapShopGreed= #mapUpperPriceLimit= Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2007-12-15 22:36:24 UTC (rev 3485) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2007-12-15 22:37:24 UTC (rev 3486) @@ -68,6 +68,7 @@ #mapUnique= mapOutdoor=Utomhus #mapNosmooth= +#mapBackgroundMusic= #mapShopType= #mapShopGreed= #mapUpperPriceLimit= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-12-22 01:49:06
|
Revision: 3487 http://gridarta.svn.sourceforge.net/gridarta/?rev=3487&view=rev Author: akirschbaum Date: 2007-12-21 17:49:05 -0800 (Fri, 21 Dec 2007) Log Message: ----------- Do not fail if home directory does not exist. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CResourceLoader.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-12-15 22:37:24 UTC (rev 3486) +++ trunk/crossfire/ChangeLog 2007-12-22 01:49:05 UTC (rev 3487) @@ -1,3 +1,7 @@ +2007-12-22 Andreas Kirschbaum + + * Do not fail if home directory does not exist. + 2007-12-15 Andreas Kirschbaum * Add support for background music. Modified: trunk/crossfire/src/cfeditor/CResourceLoader.java =================================================================== --- trunk/crossfire/src/cfeditor/CResourceLoader.java 2007-12-15 22:37:24 UTC (rev 3486) +++ trunk/crossfire/src/cfeditor/CResourceLoader.java 2007-12-22 01:49:05 UTC (rev 3487) @@ -184,7 +184,7 @@ buf.append(File.separator).append(APP_SETTINGS_DIR); final File rc = new File(buf.toString()); if (!rc.isDirectory()) { - rc.mkdir(); + rc.mkdirs(); } buf.append(File.separator); buf.append(filename); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2007-12-23 16:02:24
|
Revision: 3488 http://gridarta.svn.sourceforge.net/gridarta/?rev=3488&view=rev Author: akirschbaum Date: 2007-12-23 08:02:10 -0800 (Sun, 23 Dec 2007) Log Message: ----------- Ignore .xxx and xxx~ files in scripts directory. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/script/ScriptController.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-12-22 01:49:05 UTC (rev 3487) +++ trunk/crossfire/ChangeLog 2007-12-23 16:02:10 UTC (rev 3488) @@ -1,3 +1,7 @@ +2007-12-23 Andreas Kirschbaum + + * Ignore .xxx and xxx~ files in scripts directory. + 2007-12-22 Andreas Kirschbaum * Do not fail if home directory does not exist. Modified: trunk/crossfire/src/cfeditor/script/ScriptController.java =================================================================== --- trunk/crossfire/src/cfeditor/script/ScriptController.java 2007-12-22 01:49:05 UTC (rev 3487) +++ trunk/crossfire/src/cfeditor/script/ScriptController.java 2007-12-23 16:02:10 UTC (rev 3488) @@ -99,7 +99,8 @@ final int scriptCount = scripts.size(); for (final File scriptFile : files) { - if (scriptFile.isFile()) { + final String name = scriptFile.getName(); + if (!name.startsWith(".") && !name.endsWith("~") && scriptFile.isFile()) { importXML(scriptFile, false); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kbu...@us...> - 2008-01-31 00:33:09
|
Revision: 3489 http://gridarta.svn.sourceforge.net/gridarta/?rev=3489&view=rev Author: kbulgrien Date: 2008-01-30 16:33:06 -0800 (Wed, 30 Jan 2008) Log Message: ----------- [ 1882982 ] generator_limit patch applied to types.xml. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/types.xml Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2007-12-23 16:02:10 UTC (rev 3488) +++ trunk/crossfire/ChangeLog 2008-01-31 00:33:06 UTC (rev 3489) @@ -1,3 +1,7 @@ +2008-01-29 Kevin Bulgrien + + * [ 1882982 ] generator_limit patch applied to types.xml. + 2007-12-23 Andreas Kirschbaum * Ignore .xxx and xxx~ files in scripts directory. Modified: trunk/crossfire/resource/conf/types.xml =================================================================== --- trunk/crossfire/resource/conf/types.xml 2007-12-23 16:02:10 UTC (rev 3488) +++ trunk/crossfire/resource/conf/types.xml 2008-01-31 00:33:06 UTC (rev 3489) @@ -2930,6 +2930,10 @@ If enabled, you must also set <breed monster> or check <template generation> and put other monsters in the inventory. </attribute> + <attribute arch="generator_limit" editor="multiply limit" type="int"> + If <multiply> is enabled, this limits how many <breed monster> + are created. When the maximum is reached, the generator is destroyed. + </attribute> <attribute arch="use_content_on_gen" editor="template generation" type="bool"> This only takes effect if <multiply> is enabled. The monster will create a new monster every once in a while by duplicating it's inventory. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kbu...@us...> - 2008-01-31 01:08:59
|
Revision: 3490 http://gridarta.svn.sourceforge.net/gridarta/?rev=3490&view=rev Author: kbulgrien Date: 2008-01-30 17:08:53 -0800 (Wed, 30 Jan 2008) Log Message: ----------- [ 1842315 ] Custom container face requested change made to types.xml. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/types.xml Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-01-31 00:33:06 UTC (rev 3489) +++ trunk/crossfire/ChangeLog 2008-01-31 01:08:53 UTC (rev 3490) @@ -1,5 +1,6 @@ 2008-01-29 Kevin Bulgrien + * [ 1842315 ] Custom container face change applied to types.xml. * [ 1882982 ] generator_limit patch applied to types.xml. 2007-12-23 Andreas Kirschbaum Modified: trunk/crossfire/resource/conf/types.xml =================================================================== --- trunk/crossfire/resource/conf/types.xml 2008-01-31 00:33:06 UTC (rev 3489) +++ trunk/crossfire/resource/conf/types.xml 2008-01-31 01:08:53 UTC (rev 3490) @@ -1238,6 +1238,9 @@ opening the container. Stick to the default arches here and you won't get into trouble. </attribute> + <attribute arch="face_opened" editor="open image" type="string"> + If specified, the image-name is displayed when the container is open. + </attribute> <attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text"> This text may contain a description of the container. </attribute> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <kbu...@us...> - 2008-01-31 01:24:34
|
Revision: 3491 http://gridarta.svn.sourceforge.net/gridarta/?rev=3491&view=rev Author: kbulgrien Date: 2008-01-30 17:24:34 -0800 (Wed, 30 Jan 2008) Log Message: ----------- [ 1879236 ] random_movement support change applied to types.xml. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/types.xml Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-01-31 01:08:53 UTC (rev 3490) +++ trunk/crossfire/ChangeLog 2008-01-31 01:24:34 UTC (rev 3491) @@ -1,5 +1,6 @@ 2008-01-29 Kevin Bulgrien + * [ 1879236 ] random_movement support change applied to types.xml. * [ 1842315 ] Custom container face change applied to types.xml. * [ 1882982 ] generator_limit patch applied to types.xml. Modified: trunk/crossfire/resource/conf/types.xml =================================================================== --- trunk/crossfire/resource/conf/types.xml 2008-01-31 01:08:53 UTC (rev 3490) +++ trunk/crossfire/resource/conf/types.xml 2008-01-31 01:24:34 UTC (rev 3491) @@ -2949,6 +2949,10 @@ Determines which movement types this monster can use. Flying monsters won't get slowed down in rough terrain and they won't be affected by movers. </attribute> + <attribute arch="random_movement" editor="random movement" type="bool"> + Living things with the <random_movement> flag set automatically move + about in a random fashion. + </attribute> <attribute arch="undead" editor="undead" type="bool"> Several spells only affect undead monsters: turn undead, banish undead, holy word, etc. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-02-03 19:42:08
|
Revision: 3497 http://gridarta.svn.sourceforge.net/gridarta/?rev=3497&view=rev Author: akirschbaum Date: 2008-02-03 11:42:11 -0800 (Sun, 03 Feb 2008) Log Message: ----------- Add archetype loader error dialog: reports duplicate archetypes. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-02-03 19:35:17 UTC (rev 3496) +++ trunk/crossfire/ChangeLog 2008-02-03 19:42:11 UTC (rev 3497) @@ -1,3 +1,7 @@ +2008-02-03 Andreas Kirschbaum + + * Add archetype loader error dialog: reports duplicate archetypes. + 2008-01-29 Kevin Bulgrien * [ 1879236 ] random_movement support change applied to types.xml. Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java 2008-02-03 19:35:17 UTC (rev 3496) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java 2008-02-03 19:42:11 UTC (rev 3497) @@ -23,6 +23,7 @@ import cfeditor.IGUIConstants; import cfeditor.gameobject.face.FaceObject; import cfeditor.map.MapArchObject; +import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; @@ -37,8 +38,15 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.IdentityHashMap; import java.util.List; +import java.util.Map; import javax.swing.ImageIcon; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; import net.sf.gridarta.AbstractMainControl; import net.sf.gridarta.gameobject.AbstractArchetypeParser; import net.sf.gridarta.gameobject.AbstractArchetypeSet; @@ -67,6 +75,16 @@ private final CMainControl mainControl; /** + * The duplicate arches. + * Stored for the error message. + * An IdentityHashMap is used because in future, GameObjects or Archetypes might use equals() / hashCode(). + */ + private final Map<Archetype, File> duplicateArches = new IdentityHashMap<Archetype, File>(); + + /** Name of the currently loaded .arc file. */ + private File currentFile = null; + + /** * Create the ArchetypeSet. * @param mainControl reference to CMainControl */ @@ -118,6 +136,7 @@ /** {@inheritDoc} */ @Override protected void handleDuplicate(final Archetype archetype) { log.warn("addArchToList: duplicate archetype '" + archetype.getArchetypeName() + "'"); + duplicateArches.put(archetype, currentFile); } /** {@inheritDoc} */ @@ -134,6 +153,33 @@ fname = mainControl.getArchDefaultFolder(); loadArchetypesFromFiles(archetypeParser, new File(fname), 0, "default", "default", invObjects); // collect arches & images from individual files } + if (!duplicateArches.isEmpty()) { + final StringBuilder duplicateArchesText = new StringBuilder(); + for (final Map.Entry<Archetype, File> duplicateEntry : duplicateArches.entrySet()) { + duplicateArchesText + .append(duplicateEntry.getKey().getArchetypeName()) + .append('(') + .append(duplicateEntry.getValue()) + .append(")\n"); + } + final JPanel message = new JPanel(new BorderLayout()); + final Object[][] data = new Object[duplicateArches.size()][2]; + int i = 0; + for (final Map.Entry<Archetype, File> entry : duplicateArches.entrySet()) { + data[i][0] = entry.getKey().getArchetypeName(); + data[i][1] = entry.getValue(); + i++; + } + final JTable table = new JTable(data, + new Object[] { ACTION_FACTORY.getString("loadDuplicateArch.message.2.title.1"), ACTION_FACTORY.getString("loadDuplicateArch.message.2.title.2") } + ); + message.add(new JLabel(ACTION_FACTORY.getString("loadDuplicateArch.message.1")), BorderLayout.NORTH); + message.add(new JScrollPane(table)); + //message.add(new JScrollPane(new JTextArea(duplicateArchesText.toString(), 10, 40))); + message.add(new JLabel(ACTION_FACTORY.getString("loadDuplicateArch.message.3")), BorderLayout.SOUTH); + JOptionPane.showMessageDialog(mainControl.getMainView(), message, ACTION_FACTORY.getString("loadDuplicateArch.title"), JOptionPane.WARNING_MESSAGE); + duplicateArches.clear(); + } mainControl.getGridartaObjectsFactory().newGameObjectParser().collectTempList(mainControl, invObjects, fname, true); @@ -208,6 +254,7 @@ if ((len = name.length()) >= 4) { if (name.regionMatches(len - 4, ".arc", 0, 4)) { //mainControl.setStatusText("Loading Arch: "+name); + currentFile = f; archetypeParser.parseArchetype(f.getAbsolutePath(), panelName, folderName, invObjects); } else if (name.regionMatches(len - 4, ".png", 0, 4)) { //mainControl.setStatusText("Loading PNG: "+name); Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2008-02-03 19:35:17 UTC (rev 3496) +++ trunk/crossfire/src/cfeditor/messages.properties 2008-02-03 19:42:11 UTC (rev 3497) @@ -58,6 +58,12 @@ openScriptNotFound.title=Script file not found openScriptNotFound.message=The file ''{0}'' does not exist.\nPlease correct the path. +loadDuplicateArch.title=Error: Duplicate arch +loadDuplicateArch.message.1=<html><h1>Warning!</h1>Duplicate arches: +loadDuplicateArch.message.2.title.1=Archetype +loadDuplicateArch.message.2.title.2=File +loadDuplicateArch.message.3=I will ignore these duplicates. + # Map Properties mapParametersTabTitle=Parameters mapShopTabTitle=Shop Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2008-02-03 19:35:17 UTC (rev 3496) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2008-02-03 19:42:11 UTC (rev 3497) @@ -55,6 +55,11 @@ openScriptNotFound.title=Script-Datei nicht gefunden openScriptNotFound.message=Die Datei ''{0}'' existiert nicht.\nBitte geben sie einen g\xFCltigen Dateinamen an. +loadDuplicateArch.title=Fehler: Mehrfach definierte Archetypen +loadDuplicateArch.message.1=<html><h1>Warnung</h1>Mehrfach definierte Archetypen: +loadDuplicateArch.message.2.title.1=Archetyp +loadDuplicateArch.message.2.title.2=Datei +loadDuplicateArch.message.3=Diese Archetypen werden ignoriert. # Map Properties mapParametersTabTitle=Parameter Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2008-02-03 19:35:17 UTC (rev 3496) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2008-02-03 19:42:11 UTC (rev 3497) @@ -56,6 +56,11 @@ #openScriptNotFound.title= #openScriptNotFound.message= +#loadDuplicateArch.title= +#loadDuplicateArch.message.1= +#loadDuplicateArch.message.2.title.1= +#loadDuplicateArch.message.2.title.2= +#loadDuplicateArch.message.3= # Map Properties #mapParametersTabTitle= Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2008-02-03 19:35:17 UTC (rev 3496) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2008-02-03 19:42:11 UTC (rev 3497) @@ -54,6 +54,11 @@ openScriptNotFound.title=Kunde inte hitta scriptfil openScriptNotFound.message=Filen ''{0}'' finns inte.\nV\xE4r v\xE4nlig korrigera s\xF6kv\xE4gen. +loadDuplicateArch.title=Fel: duplicerad arketyp +loadDuplicateArch.message.1=<html><h1>Varning!</h1>Duplicerad arketyp: +#loadDuplicateArch.message.2.title.1= +loadDuplicateArch.message.2.title.2=Fil +loadDuplicateArch.message.3=Jag kommer att ignorera detta duplikat. # Map Properties #mapParametersTabTitle= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-02-11 20:48:28
|
Revision: 3548 http://gridarta.svn.sourceforge.net/gridarta/?rev=3548&view=rev Author: akirschbaum Date: 2008-02-11 12:48:19 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Add DIRECTOR objects as connection sinks to connection validator. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/gameobject/Archetype.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-02-11 20:06:26 UTC (rev 3547) +++ trunk/crossfire/ChangeLog 2008-02-11 20:48:19 UTC (rev 3548) @@ -1,3 +1,8 @@ +2008-02-11 Andreas Kirschbaum + + * Add DIRECTOR objects as connection sinks to connection + validator. + 2008-02-05 Andreas Kirschbaum * Fix [ 1842539 ] File Options... does not open sometimes. Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-02-11 20:06:26 UTC (rev 3547) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-02-11 20:48:19 UTC (rev 3548) @@ -398,6 +398,7 @@ Archetype.TYPE_TRIGGER_BUTTON, }, new int[] { Archetype.TYPE_CREATOR, + Archetype.TYPE_DIRECTOR, Archetype.TYPE_DUPLICATOR, Archetype.TYPE_GATE, Archetype.TYPE_MAGIC_MOUTH, Modified: trunk/crossfire/src/cfeditor/gameobject/Archetype.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/Archetype.java 2008-02-11 20:06:26 UTC (rev 3547) +++ trunk/crossfire/src/cfeditor/gameobject/Archetype.java 2008-02-11 20:48:19 UTC (rev 3548) @@ -103,6 +103,8 @@ int TYPE_BRACERS = 104; + int TYPE_DIRECTOR = 112; + int TYPE_GIRDLE = 113; int TYPE_EVENT_CONNECTOR = 116; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-02-11 20:55:38
|
Revision: 3549 http://gridarta.svn.sourceforge.net/gridarta/?rev=3549&view=rev Author: akirschbaum Date: 2008-02-11 12:55:42 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Add direction control to game object attributes panel. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/gameobject/Archetype.java trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java trunk/crossfire/src/cfeditor/gameobject/GameObject.java trunk/crossfire/src/cfeditor/gui/GameObjectAttributesDialog.java trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java trunk/crossfire/src/cfeditor/io/GameObjectParser.java trunk/crossfire/src/cfeditor/map/DefaultMapModel.java trunk/crossfire/src/cfeditor/messages.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/ChangeLog 2008-02-11 20:55:42 UTC (rev 3549) @@ -1,5 +1,9 @@ 2008-02-11 Andreas Kirschbaum + * Add direction control to game object attributes panel; always + disabled for now since the Crossfire server seems to ignore the + direction attribute. + * Add DIRECTOR objects as connection sinks to connection validator. Modified: trunk/crossfire/src/cfeditor/gameobject/Archetype.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/Archetype.java 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/src/cfeditor/gameobject/Archetype.java 2008-02-11 20:55:42 UTC (rev 3549) @@ -113,4 +113,10 @@ int TYPE_TRAP = 155; + /** + * Returns the direction of this Archetype or GameObject. + * @return The direction of this Archetype or GameObject. + */ + int getDirection(); + } // class Archetype Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java 2008-02-11 20:55:42 UTC (rev 3549) @@ -272,6 +272,13 @@ log.warn(ACTION_FACTORY.format("logDefArchWithInvalidTypeNr", archetype.getArchetypeName(), thisLine.substring(5))); archetype.addObjectText(thisLine); } + } else if (thisLine.startsWith("direction ")) { + try { + archetype.setDirection(Integer.parseInt(thisLine.substring(10))); + } catch (final NumberFormatException e) { + log.warn(ACTION_FACTORY.format("logDefArchWithInvalidDirection", archetype.getArchetypeName(), thisLine.substring(10))); + } + archetype.addObjectText(thisLine); } else if (thisLine.startsWith("face ")) { final String faceName = thisLine.substring(5).trim(); archetype.setFaceName(faceName.length() == 0 ? null : faceName); @@ -306,6 +313,9 @@ } } + if (gameObject.getDirection() == -1) { // still the invalid direction! + gameObject.setDirection(archetype.getDirection()); + } // if the type is still unset, then we take the default one if (gameObject.getArchTypNr() == net.sf.gridarta.gameobject.GameObject.TYPE_UNSET) { gameObject.setArchTypNr(archetype.getArchTypNr()); Modified: trunk/crossfire/src/cfeditor/gameobject/GameObject.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/GameObject.java 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/src/cfeditor/gameobject/GameObject.java 2008-02-11 20:55:42 UTC (rev 3549) @@ -54,6 +54,12 @@ */ @NotNull private ScriptArchData scriptArchData = new ScriptArchData(this); + /** + * The direction determines to which direction the GameObject's face is facing. + * E.g. some walls have two faces, some mobs 4 and very good animated objects might even have 8 or 9 (8 + still) facings. + */ + private int direction; + /** {@inheritDoc} */ @Override public void propagateElevation(@NotNull final GameObject gameObject) { final String elevation = gameObject.getAttributeString("elevation", false); @@ -67,6 +73,24 @@ return animText; } + /** {@inheritDoc} */ + public int getDirection() { + return direction; + } + + public void setDirection(final int direction) { + if (this.direction == direction) { + return; + } + this.direction = direction; + squareChanged(); + } + + /** {@inheritDoc} */ + public boolean usesDirection() { + return false;//getAttributeInt("is_turnable") != 0; + } + public void setAnimText(@NotNull final String animText) { if (this.animText != null && this.animText.equals(animText)) { return; @@ -76,11 +100,6 @@ squareChanged(); } - /** {@inheritDoc} */ - public boolean usesDirection() { - return false; - } - // lore text @NotNull public String getLoreText() { return loreText; @@ -276,6 +295,7 @@ arch.setArchetype(getArchetype()); arch.setMultiX(multiX); arch.setMultiY(multiY); + arch.setDirection(getDirection()); return arch; } @@ -297,6 +317,7 @@ && (gameObject.animText == null ? animText == null : gameObject.animText.equals(animText)) && gameObject.loreText.equals(loreText) // ignore "scriptArchData" + && gameObject.direction == direction && gameObject.archType == archType; } Modified: trunk/crossfire/src/cfeditor/gui/GameObjectAttributesDialog.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/GameObjectAttributesDialog.java 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/src/cfeditor/gui/GameObjectAttributesDialog.java 2008-02-11 20:55:42 UTC (rev 3549) @@ -517,6 +517,13 @@ } } + /* we have excluded direction hard coded from the attribut panel + * because we have a better interface in the gameObject panel. + * But we need to add when needed the gameObject text - we do it here. + */ + if (gameObject.getDirection() != ((GameObject) archetype).getDirection()) { + newArchText.append("direction ").append(gameObject.getDirection()).append("\n"); + } // before we modify the archtext, we look for errors and save them. // later the user must confirm whether to keep or dump those errors final String errors = gameObject.getSyntaxErrors(typeStruct); Modified: trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java 2008-02-11 20:55:42 UTC (rev 3549) @@ -36,12 +36,18 @@ import java.awt.Toolkit; import java.util.prefs.Preferences; import javax.swing.Action; +import javax.swing.BoxLayout; +import javax.swing.ButtonGroup; +import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTextField; +import javax.swing.JTextPane; +import javax.swing.JToggleButton; +import javax.swing.JViewport; import javax.swing.ScrollPaneConstants; import javax.swing.border.EtchedBorder; import net.sf.gridarta.CFArchType; @@ -82,6 +88,17 @@ private final CMainView mainView; + /** The buttons for the direction panel. + * @see #directionButtonGroup + */ + private final JToggleButton[] directionButtons = new JToggleButton[9]; + + /** + * The ButtonGroup for the direction buttons. + * @see #directionButtons + */ + private final ButtonGroup directionButtonGroup = new ButtonGroup(); + private final GSplitPane splitPane; /** Panel with name/face etc. */ @@ -205,6 +222,7 @@ invnew = arch.createClone(0, 0); } + invnew.setDirection(invnew.getArchetype().getDirection()); mainControl.getArchetypeParser().postParseGameObject(invnew, 0); final MapSquare<GameObject, MapArchObject, Archetype> mapSquare = inv.getMapSquare(); assert mapSquare != null; @@ -275,6 +293,15 @@ gameObjectTextEditor.applyChanges(gameObject); + if (gameObject.getAttributeString("direction", false).length() > 0) { + final int dir = gameObject.getAttributeInt("direction", false); + if (archetype.getDirection() != dir) { + gameObject.setDirection(dir); + } + } else { + gameObject.setDirection(archetype.getDirection()); + } + // we look for 'type' in the ArchText. In future maybe type should get // a seperate textfield if (gameObject.getAttributeString("type", false).length() > 0) { @@ -342,9 +369,114 @@ gridbag.setConstraints(archMapPos, gbc); panel.add(archMapPos); + gbc.gridx = 1; + gbc.gridy = 0; + gbc.gridwidth = 1; + gbc.gridheight = 5; + gbc.weightx = 0.0; + panel.add(createDirPanel(), gbc); + return panel; } + private JPanel createDirPanel() { + final JPanel dirPanel = new JPanel(new GridBagLayout()); + final GridBagConstraints gbc = new GridBagConstraints(); + gbc.fill = GridBagConstraints.BOTH; + gbc.anchor = GridBagConstraints.CENTER; + gbc.insets = new Insets(2, 2, 2, 2); + + createButton(7, dirPanel, gbc, 0, 0); + createButton(8, dirPanel, gbc, 1, 0); + createButton(1, dirPanel, gbc, 2, 0); + createButton(6, dirPanel, gbc, 0, 1); + createButton(0, dirPanel, gbc, 1, 1); + createButton(2, dirPanel, gbc, 2, 1); + createButton(5, dirPanel, gbc, 0, 2); + createButton(4, dirPanel, gbc, 1, 2); + createButton(3, dirPanel, gbc, 2, 2); + + return dirPanel; + } + + private void applyDirectionChanges(final GameObject gameObject, final int dir) { + gameObjectTextEditor.applyDirectionChanges(gameObject, dir, gameObject.getArchetype().getDirection()); + applyArchPanelChanges(gameObject); + setSelectedGameObject(gameObject); + } + + /** + * Action proxy for direction. + * @param direction Direction number + */ + private void direction(final int direction) { + applyDirectionChanges(mainView.getSelectedSquareControl().getSelectedSquareView().getMapTileSelection(), direction); + } + + /** Action method for direction. */ + public void direction0() { + direction(0); + } + + /** Action method for direction. */ + public void direction1() { + direction(1); + } + + /** Action method for direction. */ + public void direction2() { + direction(2); + } + + /** Action method for direction. */ + public void direction3() { + direction(3); + } + + /** Action method for direction. */ + public void direction4() { + direction(4); + } + + /** Action method for direction. */ + public void direction5() { + direction(5); + } + + /** Action method for direction. */ + public void direction6() { + direction(6); + } + + /** Action method for direction. */ + public void direction7() { + direction(7); + } + + /** Action method for direction. */ + public void direction8() { + direction(8); + } + + /** + * Create a direction button. + * @param direction Direction for button + * @param panel Panel to add button to + * @param gbc GridBagConstraints to modify + * @param x x position of button + * @param y y position of button + */ + private void createButton(final int direction, final JPanel panel, final GridBagConstraints gbc, final int x, final int y) { + final JToggleButton button = new JToggleButton(ACTION_FACTORY.createAction(true, "direction" + direction, this)); + directionButtonGroup.add(button); + button.setFocusable(false); + button.setEnabled(false); + gbc.gridx = x; + gbc.gridy = y; + panel.add(button, gbc); + directionButtons[direction] = button; + } + private JPanel createButtonPanel() { final JPanel buttonPanel = new JPanel(); buttonPanel.add(new JButton(aMapArchApply)); @@ -470,6 +602,17 @@ } archMapPos.setText(specialText.toString()); } + + // directions + for (final JToggleButton button : directionButtons) { + button.setBackground(null); + } + final boolean enableDirButtons = gameObject != null && gameObject.usesDirection(); + for (final JToggleButton button : directionButtons) { + button.setEnabled(enableDirButtons); + } + final int direction = enableDirButtons ? gameObject.getDirection() : 0; + directionButtons[direction < directionButtons.length ? direction : 0].setSelected(true); } // calculate default value in case there is no settings file Modified: trunk/crossfire/src/cfeditor/io/GameObjectParser.java =================================================================== --- trunk/crossfire/src/cfeditor/io/GameObjectParser.java 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/src/cfeditor/io/GameObjectParser.java 2008-02-11 20:55:42 UTC (rev 3549) @@ -437,4 +437,15 @@ appendable.append("end\n"); } + /** {@inheritDoc} */ + @Override protected boolean parseLine(@NotNull final String line, @NotNull final GameObject gameObject) { + if (line.startsWith("direction ")) { + gameObject.setDirection(Integer.parseInt(line.substring(10))); + gameObject.addObjectText(line); + return true; + } + + return false; + } + } // class GameObjectParser Modified: trunk/crossfire/src/cfeditor/map/DefaultMapModel.java =================================================================== --- trunk/crossfire/src/cfeditor/map/DefaultMapModel.java 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/src/cfeditor/map/DefaultMapModel.java 2008-02-11 20:55:42 UTC (rev 3549) @@ -105,6 +105,11 @@ mapGrid[mapx][mapy].addLast(part); } + final Integer direction = mainControl.getMainView().getObjectChooser().getArchetypeChooserControl().getCurrentDirection(); + if (direction != null) { + part.setDirection(direction); + part.setAttributeString("direction", Integer.toString(direction)); + } mainControl.getArchetypeParser().postParseGameObject(part, getMapControl().getActiveEditType()); } Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2008-02-11 20:48:19 UTC (rev 3548) +++ trunk/crossfire/src/cfeditor/messages.properties 2008-02-11 20:55:42 UTC (rev 3549) @@ -432,3 +432,4 @@ logFoundCoordInDefArchSingleTileOrHead=Found {0} cmd in single tile or head (add it to arch text): {0} logDefArchWithZeroType=Arch {0} type number is zero. logDefArchWithInvalidTypeNr=Arch {0} has an invalid type nr: {1} +logDefArchWithInvalidDirection=Arch {0} has an invalid direction: {1} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-02-13 18:19:27
|
Revision: 3565 http://gridarta.svn.sourceforge.net/gridarta/?rev=3565&view=rev Author: akirschbaum Date: 2008-02-13 10:19:22 -0800 (Wed, 13 Feb 2008) Log Message: ----------- Remove face input field from game object attributes panel. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-02-13 18:04:29 UTC (rev 3564) +++ trunk/crossfire/ChangeLog 2008-02-13 18:19:22 UTC (rev 3565) @@ -1,3 +1,7 @@ +2008-02-13 Andreas Kirschbaum + + * Remove face input field from game object attributes panel. + 2008-02-11 Andreas Kirschbaum * Add direction control to game object attributes panel; always Modified: trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java 2008-02-13 18:04:29 UTC (rev 3564) +++ trunk/crossfire/src/cfeditor/gui/GameObjectAttributesPanel.java 2008-02-13 18:19:22 UTC (rev 3565) @@ -113,9 +113,6 @@ /** Arch name field. */ private final JTextField archNameField = new JTextField(14); - /** Arch face field. */ - private final JTextField archFaceField = new JTextField(14); - private final JLabel archMapPos = new JLabel(); private final JLabel archFaceText = new JLabel(); @@ -272,22 +269,6 @@ // like <name > ore <name "">..?? } - // set face - if (isNonwhitespaceText(archFaceField.getText())) { // there is something in - if (archetype.getFaceName() != null) { - if (archFaceField.getText().compareTo(archetype.getFaceName()) == 0) { - gameObject.setFaceName(null); // yes, we don't need it in map - } else { - gameObject.setFaceName(archFaceField.getText()); // overrule in map arch - } - } else { - gameObject.setFaceName(archFaceField.getText()); // overrule in map arch - } - } else { - gameObject.setFaceName(null); // nothing in, nothing in map arch - // also, no overrule... - } - applyArchTextArea(gameObject); gameObjectTextEditor.applyChanges(gameObject); @@ -335,26 +316,17 @@ gridbag.setConstraints(archNameField, gbc); panel.add(archNameField); - archFaceField.setText(""); - archFaceField.setForeground(Color.blue); + archFaceText.setText(""); gbc.gridx = 0; gbc.gridy = 1; gbc.gridwidth = 1; gbc.gridheight = 1; - gridbag.setConstraints(archFaceField, gbc); - panel.add(archFaceField); - - archFaceText.setText(""); - gbc.gridx = 0; - gbc.gridy = 2; - gbc.gridwidth = 1; - gbc.gridheight = 1; gridbag.setConstraints(archFaceText, gbc); panel.add(archFaceText); archTypeText.setText(""); gbc.gridx = 0; - gbc.gridy = 3; + gbc.gridy = 2; gbc.gridwidth = 1; gbc.gridheight = 1; gridbag.setConstraints(archTypeText, gbc); @@ -362,7 +334,7 @@ archMapPos.setText(""); gbc.gridx = 0; - gbc.gridy = 4; + gbc.gridy = 3; gbc.gridwidth = 1; gbc.gridheight = 1; gridbag.setConstraints(archMapPos, gbc); @@ -530,21 +502,6 @@ } } - // archFaceField - if (gameObject == null) { - archFaceField.setForeground(Color.black); - archFaceField.setText(""); - } else { - final String faceName = gameObject.getFaceName(); - if (faceName != null) { - archFaceField.setForeground(Color.blue); - archFaceField.setText(faceName); - } else { - archFaceField.setForeground(Color.black); - archFaceField.setText(gameObject.getArchetype().getFaceName()); - } - } - // archFaceText if (gameObject == null) { archFaceText.setText("Image:"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-03-05 06:40:06
|
Revision: 3643 http://gridarta.svn.sourceforge.net/gridarta/?rev=3643&view=rev Author: akirschbaum Date: 2008-03-04 22:39:25 -0800 (Tue, 04 Mar 2008) Log Message: ----------- Add support for "multiply speed" (maxsp) field in geneators. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/types.xml Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-03-02 17:13:08 UTC (rev 3642) +++ trunk/crossfire/ChangeLog 2008-03-05 06:39:25 UTC (rev 3643) @@ -1,3 +1,7 @@ +2008-03-05 Andreas Kirschbaum + + * Add support for "multiply speed" (maxsp) field in geneators. + 2008-03-02 Andreas Kirschbaum * Correctly update selected square view for multi-part objects. Modified: trunk/crossfire/resource/conf/types.xml =================================================================== --- trunk/crossfire/resource/conf/types.xml 2008-03-02 17:13:08 UTC (rev 3642) +++ trunk/crossfire/resource/conf/types.xml 2008-03-05 06:39:25 UTC (rev 3643) @@ -3009,6 +3009,16 @@ If <multiply> is enabled, this limits how many <breed monster> are created. When the maximum is reached, the generator is destroyed. </attribute> + <attribute arch="maxsp" editor="multiply speed" type="int"> + If <multiply> is enabled and <friendly> is not enabled, this + limits how often <breed monster> are created. It is basically a + random limiter: if set to 100, each time the monster moves, there is a 1% + chance to breed. If set to 20, each time the monster moves there is a 5% + chance. + + Warning: Do not create spellcasting and breeding monsters since this + field is also used as <max spellpoints>. + </attribute> <attribute arch="use_content_on_gen" editor="template generation" type="bool"> This only takes effect if <multiply> is enabled. The monster will create a new monster every once in a while by duplicating it's inventory. @@ -3123,6 +3133,9 @@ can hold. Setting this to high values has little effect unless the monster has a decent <spellpoint regen.>, or the spell "regenerate mana" at it's disposal. + + Warning: Do not create spellcasting and breeding monsters since this + field is also used as <multiply speed>. </attribute> <attribute arch="Pow" editor="spellpoint regen." type="int"> Monsters regenerate this many spellpoints each 16 ticks. Hence, the This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-03-09 01:19:24
|
Revision: 3683 http://gridarta.svn.sourceforge.net/gridarta/?rev=3683&view=rev Author: akirschbaum Date: 2008-03-08 17:19:29 -0800 (Sat, 08 Mar 2008) Log Message: ----------- Update archetypes. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/resource/conf/archetypes trunk/crossfire/resource/conf/crossfire.0 trunk/crossfire/resource/conf/treasures Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-03-09 00:50:50 UTC (rev 3682) +++ trunk/crossfire/ChangeLog 2008-03-09 01:19:29 UTC (rev 3683) @@ -1,5 +1,7 @@ 2008-03-09 Andreas Kirschbaum + * Update archetypes. + * Add syntax highlighting for message texts allowing @match. 2008-03-08 Andreas Kirschbaum Modified: trunk/crossfire/resource/conf/archetypes =================================================================== --- trunk/crossfire/resource/conf/archetypes 2008-03-09 00:50:50 UTC (rev 3682) +++ trunk/crossfire/resource/conf/archetypes 2008-03-09 01:19:29 UTC (rev 3683) @@ -3750,6 +3750,21 @@ x 1 no_pick 1 end +Object s_lighthouse +editor_folder construct/Snow +name Lighthouse +face s_lighthouse.x11 +type 66 +no_pick 1 +glow_radius 4 +client_type 25012 +end +More +Object s_lighthouse_2 +editor_folder construct/Snow +face s_lighthouse.x11 +y 1 +end Object treefort editor_folder construct/Treehouse name treefort @@ -5971,6 +5986,51 @@ no_pick 1 y 1 end +Object lighthouse +editor_folder construct/tower +name Lighthouse +face lighthouse.x11 +type 66 +no_pick 1 +glow_radius 4 +client_type 25012 +end +More +Object lighthouse_2 +editor_folder construct/tower +face lighthouse.x11 +y 1 +end +Object lighthouse_northwest +editor_folder construct/tower +name Lighthouse +face lighthouse_northwest.x11 +type 66 +no_pick 1 +glow_radius 4 +client_type 25012 +end +More +Object lighthouse_northwest_2 +editor_folder construct/tower +face lighthouse_northwest.x11 +y 1 +end +Object lighthouse_west +editor_folder construct/tower +name Lighthouse +face lighthouse_west.x11 +type 66 +no_pick 1 +glow_radius 4 +client_type 25012 +end +More +Object lighthouse_west_2 +editor_folder construct/tower +face lighthouse_west.x11 +y 1 +end Object outpost_tower editor_folder construct/tower name outpost tower @@ -9944,7 +10004,8 @@ type 66 face volcano_hi.x11 no_pick 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 blocksview 1 client_type 25012 end @@ -9955,7 +10016,8 @@ face volcano_hi.x11 no_pick 1 x 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 blocksview 1 type 66 end @@ -9966,7 +10028,8 @@ face volcano_hi.x11 no_pick 1 y 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 blocksview 1 type 66 end @@ -9978,7 +10041,8 @@ no_pick 1 x 1 y 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 blocksview 1 type 66 end @@ -9988,7 +10052,8 @@ type 66 face volcano_lo.x11 no_pick 1 -slow_move 15 +move_slow walk +move_slow_penalty 15 blocksview 1 client_type 25012 end @@ -10000,7 +10065,8 @@ type 66 no_pick 1 x 1 -slow_move 15 +move_slow walk +move_slow_penalty 15 blocksview 1 end Object well @@ -10754,6 +10820,7 @@ end Object dirtfloor editor_folder floor +name dirt floor face dirtfloor.111 no_pick 1 is_floor 1 @@ -11754,6 +11821,7 @@ end Object woodfloor editor_folder floor +name wood floor face woodfloor.111 no_pick 1 is_floor 1 @@ -11761,6 +11829,7 @@ end Object woodfloor2 editor_folder floor +name wood floor face woodfloor2.111 no_pick 1 is_floor 1 @@ -11768,6 +11837,7 @@ end Object woodlarge editor_folder floor +name wood floor face woodlarge.111 no_pick 1 is_floor 1 @@ -12599,6 +12669,9 @@ level 100 face altarrugg.111 no_pick 1 +client_anim_random 1 +anim_speed 2 +animation altar_ruggilli end Object altar_sorig editor_folder gods/altars @@ -12608,6 +12681,9 @@ level 100 face altarsori.111 no_pick 1 +client_anim_random 1 +anim_speed 2 +animation altar_sorig end Object altar_valkyrie editor_folder gods/altars @@ -12704,10 +12780,10 @@ resist_physical 40 hp 500 maxhp 500 -ac -5 -wc -3 +ac 5 +wc 3 dam 30 -level 15 +level 19 speed 0.25 can_use_shield 1 can_use_weapon 1 @@ -12807,12 +12883,12 @@ path_attuned 65536 path_repelled 131088 resist_physical 50 -ac -7 -wc -1 +ac 3 +wc 4 dam 40 hp 350 maxhp 350 -level 15 +level 19 speed 0.25 luck 2 stealth 1 @@ -12911,12 +12987,12 @@ path_repelled 64 resist_fire 60 resist_physical 75 -ac -10 -wc -6 +ac 1 +wc 9 dam 50 hp 350 maxhp 350 -level 15 +level 19 speed 0.20 can_cast_spell 1 can_use_weapon 1 @@ -13066,14 +13142,14 @@ resist_death 100 resist_fear -100 resist_physical 50 -ac -5 -wc -1 +ac 5 +wc 5 dam 40 hp 500 last_heal 2 last_grace 3 maxhp 500 -level 15 +level 19 speed 0.18 can_cast_spell 1 can_use_armour 1 @@ -13172,12 +13248,12 @@ resist_cold 100 resist_magic 30 resist_physical 40 -ac -5 -wc -3 -dam 60 +ac 5 +wc 11 +dam 40 hp 400 maxhp 400 -level 15 +level 19 speed 0.50 can_use_weapon 1 can_cast_spell 1 @@ -13278,12 +13354,12 @@ resist_cold -100 resist_magic 30 resist_physical 40 -ac -5 -wc -3 -dam 60 +ac 5 +wc 11 +dam 40 hp 400 maxhp 400 -level 15 +level 19 speed 0.50 can_use_weapon 1 can_cast_spell 1 @@ -13377,12 +13453,12 @@ path_attuned 131096 path_repelled 256 path_denied 66561 -ac -5 -wc -1 +ac 5 +wc 5 dam 40 hp 300 maxhp 300 -level 15 +level 19 speed 0.40 can_cast_spell 1 can_use_weapon 1 @@ -13740,11 +13816,12 @@ anim_speed 4 client_anim_random 1 type 5 -sp 35 weight 10 name_pl Gaea's tears client_type 650 +arch spell_heal end +end Object god_cure_blindness editor_folder gods/randomitems type 8 @@ -14016,14 +14093,14 @@ resist_fire -50 resist_cold 50 resist_physical 20 -ac -12 -wc -1 +ac 1 +wc 10 hp 350 maxhp 350 -dam 50 +dam 40 last_eat -3 last_heal -1 -level 15 +level 19 speed 0.35 can_cast_spell 1 can_use_weapon 1 @@ -14125,12 +14202,12 @@ resist_physical 50 resist_fear 100 resist_magic 20 -ac -5 -wc -3 +ac 5 +wc 3 dam 40 hp 350 maxhp 350 -level 15 +level 19 speed 0.25 can_cast_spell 1 can_use_armour 1 @@ -14166,10 +14243,10 @@ Object Valriel editor_folder gods/supernatural title Gorokh -face archangel.115 +face highangel.115 slaying demon race angel -animation archangel +animation highangel Str 30 Con 30 Dex 30 @@ -14207,10 +14284,10 @@ end Object valriel_avatar editor_folder gods/supernatural -face archangel.115 +face highangel.115 slaying demon race angel -animation archangel +animation highangel Str 30 Con 30 Dex 30 @@ -14228,12 +14305,12 @@ resist_blind 100 resist_fear 100 resist_physical 50 -ac -7 -wc -1 +ac 3 +wc 7 hp 350 maxhp 350 dam 40 -level 15 +level 19 speed 0.25 can_cast_spell 1 can_use_armour 1 @@ -14269,7 +14346,7 @@ Object valriel_player_glow editor_folder gods/supernatural name Valriel's light -face archangel.115 +face highangel.115 glow_radius 9 type 98 startequip 1 @@ -14563,7 +14640,8 @@ no_pick 1 blocksview 1 is_hilly 1 -slow_move 5 +move_slow walk +move_slow_penalty 5 smoothlevel 100 is_floor 1 end @@ -14576,7 +14654,8 @@ move_on walk no_pick 1 is_hilly 1 -slow_move 10 +move_slow walk +move_slow_penalty 10 blocksview 1 smoothlevel 100 is_floor 1 @@ -14591,7 +14670,8 @@ no_pick 1 blocksview 1 is_hilly 1 -slow_move 5 +move_slow walk +move_slow_penalty 5 end Object mountain4 editor_folder ground/Mountain @@ -14622,7 +14702,8 @@ name high mountain face mountain_2.x11 no_pick 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 is_hilly 1 blocksview 1 is_floor 1 @@ -14634,7 +14715,8 @@ face mountain_2.x11 no_pick 1 x 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 is_hilly 1 blocksview 1 is_floor 1 @@ -14646,7 +14728,8 @@ face mountain_2.x11 no_pick 1 y 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 is_hilly 1 blocksview 1 is_floor 1 @@ -14659,7 +14742,8 @@ no_pick 1 x 1 y 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 is_hilly 1 blocksview 1 is_floor 1 @@ -14683,7 +14767,8 @@ no_pick 1 blocksview 1 is_hilly 1 -slow_move 8 +move_slow walk +move_slow_penalty 8 is_floor 1 end Object gstone_4 @@ -14692,7 +14777,8 @@ face gstone_4.111 no_pick 1 is_floor 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_hilly 1 end Object phole_1 @@ -14750,7 +14836,8 @@ face pstone_4.111 no_pick 1 is_floor 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_hilly 1 end Object pstone_5 @@ -14759,14 +14846,16 @@ face pstone_5.111 no_pick 1 is_floor 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_hilly 1 end Object crater editor_folder ground/Stone face crater.111 no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_hilly 1 is_floor 1 smoothlevel 12 @@ -14776,7 +14865,8 @@ name stones face largestone.111 no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_hilly 1 is_floor 1 smoothlevel 15 @@ -14786,7 +14876,8 @@ name stones face mediumston.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_hilly 1 is_floor 1 smoothlevel 14 @@ -14876,7 +14967,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 is_floor 1 end @@ -14887,7 +14979,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 is_floor 1 end @@ -14898,7 +14991,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 is_floor 1 end @@ -14909,7 +15003,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 end Object cforest5 @@ -14919,7 +15014,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 end Object cforest6 @@ -14929,7 +15025,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 end Object christmas_tree5 @@ -14937,7 +15034,8 @@ name christmas tree face tree_5_christmas.x11 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 glow_radius 2 end @@ -14948,7 +15046,8 @@ name snow covered christmas tree face s_tree_5_christmas.x11 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 glow_radius 2 end @@ -14960,7 +15059,8 @@ move_on walk is_hilly 1 no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_floor 1 smoothlevel 24 end @@ -14991,7 +15091,8 @@ move_on walk is_hilly 1 no_pick 1 -slow_move 15 +move_slow walk +move_slow_penalty 15 is_floor 1 dam 2 attacktype 16 @@ -15001,7 +15102,8 @@ editor_folder ground/Winter name ice face ice.111 -slow_move 8 +move_slow walk +move_slow_penalty 8 no_pick 1 smoothlevel 22 end @@ -15046,7 +15148,8 @@ name snow covered tree face s_tree_5.x11 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object snow @@ -15085,7 +15188,7 @@ name light snow face snow5.111 no_pick 1 -smoothlevel 32 +smoothlevel 100 end Object snowroad editor_folder ground/Winter @@ -15108,7 +15211,8 @@ name snow covered palm face spalm.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object spalms1 @@ -15119,7 +15223,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_wooded 1 end @@ -15131,7 +15236,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_wooded 1 end Object brush @@ -15141,7 +15247,8 @@ move_on walk race /terrain/plains no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_wooded 1 is_floor 1 smoothlevel 40 @@ -15154,7 +15261,8 @@ move_on walk race /terrain/plains no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_wooded 1 is_floor 1 smoothlevel 45 @@ -15167,7 +15275,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 5 +move_slow walk +move_slow_penalty 5 is_wooded 1 blocksview 1 is_floor 1 @@ -15181,7 +15290,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 is_floor 1 smoothlevel 135 @@ -15195,7 +15305,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 smoothlevel 125 move_block boat swim @@ -15209,7 +15320,8 @@ move_on walk no_pick 1 blocksview 1 -slow_move 5 +move_slow walk +move_slow_penalty 5 smoothlevel 129 is_wooded 1 is_floor 1 @@ -15223,7 +15335,8 @@ race /terrain/jungle move_on walk no_pick 1 -slow_move 5 +move_slow walk +move_slow_penalty 5 is_wooded 1 blocksview 1 smoothlevel 128 @@ -15233,7 +15346,8 @@ Object tree editor_folder ground/Wood face tree_1.111 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 no_pick 1 is_floor 1 @@ -15243,7 +15357,8 @@ editor_folder ground/Wood face tree_2.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 is_floor 1 smoothlevel 125 @@ -15253,7 +15368,8 @@ name tree face tree_3.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object tree4 @@ -15261,7 +15377,8 @@ name tree face tree_4.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object tree5 @@ -15269,7 +15386,8 @@ name tree face tree_5.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object tree6 @@ -15277,7 +15395,8 @@ name tree face tree_6.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object treed_hills @@ -15289,7 +15408,8 @@ is_hilly 1 no_pick 1 is_wooded 1 -slow_move 5 +move_slow walk +move_slow_penalty 5 is_floor 1 smoothlevel 130 move_block boat swim @@ -15301,7 +15421,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 is_floor 1 smoothlevel 127 @@ -15315,7 +15436,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 is_floor 1 smoothlevel 127 @@ -15329,7 +15451,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 is_floor 1 smoothlevel 127 @@ -15339,11 +15462,11 @@ editor_folder ground/Wood name woods4 face woods_4.111 -type 67 race /terrain/forest move_on walk no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 12 move_block boat swim @@ -15356,7 +15479,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 move_block boat swim end @@ -15365,7 +15489,8 @@ name tree face ytree_1.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object ytree_2 @@ -15373,7 +15498,8 @@ name tree face ytree_2.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object battleground @@ -15391,7 +15517,8 @@ race /terrain/desert move_on walk no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 0 is_floor 1 smoothlevel 10 @@ -15489,7 +15616,8 @@ move_on walk no_pick 1 is_water 1 -slow_move 20 +move_slow walk +move_slow_penalty 20 is_wooded 0 is_floor 1 smoothlevel 8 @@ -15502,7 +15630,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 45 end @@ -15514,7 +15643,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 45 end @@ -15553,7 +15683,8 @@ no_pick 1 is_water 1 move_on walk -slow_move 5 +move_slow walk +move_slow_penalty 5 is_wooded 1 smoothlevel 8 is_floor 1 @@ -15565,7 +15696,8 @@ race /terrain/desert move_on walk no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 is_floor 1 smoothlevel 37 @@ -15603,13 +15735,15 @@ is_floor 1 no_pick 1 is_wooded 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 smoothlevel 35 move_block boat swim end Object flowers_permanent editor_folder ground name flower +name_pl flowers material 32 face flowers.111 weight 20 @@ -15682,7 +15816,8 @@ client_anim_random 1 animation glue no_pick 1 -slow_move 4 +move_slow walk +move_slow_penalty 4 material 32 end Object goldgrass @@ -15711,7 +15846,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 40 move_block boat swim @@ -15724,7 +15860,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 40 move_block boat swim @@ -15750,7 +15887,8 @@ move_on walk is_hilly 1 no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_floor 1 smoothlevel 59 move_block boat swim @@ -15764,7 +15902,8 @@ move_on walk is_hilly 1 no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_floor 1 smoothlevel 60 move_block boat swim @@ -15816,7 +15955,8 @@ move_on walk no_pick 1 is_water 1 -slow_move 15 +move_slow walk +move_slow_penalty 15 is_wooded 1 smoothlevel 9 is_floor 1 @@ -15829,7 +15969,8 @@ race /terrain/desert move_on walk no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 36 is_floor 1 @@ -15842,7 +15983,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 11 end @@ -15853,7 +15995,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 end Object fernssparse @@ -15863,7 +16006,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_wooded 1 end Object forestsparse @@ -15873,7 +16017,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_wooded 1 end Object grass_br_gr @@ -15884,7 +16029,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 38 end @@ -15896,7 +16042,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 37 end @@ -15908,7 +16055,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 39 end @@ -15920,7 +16068,8 @@ move_on walk is_floor 1 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 smoothlevel 41 end @@ -15929,7 +16078,8 @@ name palm face palm.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 end Object palms @@ -15939,7 +16089,8 @@ race /terrain/forest move_on walk no_pick 1 -slow_move 2 +move_slow walk +move_slow_penalty 2 is_wooded 1 end Object oil_sea @@ -16119,14 +16270,16 @@ client_anim_sync 1 animation spider_web no_pick 1 -slow_move 7 +move_slow walk +move_slow_penalty 7 material 128 end Object steppe editor_folder ground face steppe.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 is_floor 1 smoothlevel 27 @@ -16137,7 +16290,8 @@ name steppe face steppelight.111 no_pick 1 -slow_move 1 +move_slow walk +move_slow_penalty 1 is_wooded 1 is_floor 1 move_block boat swim @@ -16150,7 +16304,8 @@ move_on walk no_pick 1 is_water 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 is_wooded 1 smoothlevel 9 is_floor 1 @@ -16198,7 +16353,8 @@ no_pick 1 move_on walk is_wooded 1 -slow_move 3 +move_slow walk +move_slow_penalty 3 attacktype 1 speed 0.2 dam 3 @@ -16214,7 +16370,8 @@ activate_on_release 1 level 1 no_pick 1 -slow_move 15 +move_slow walk +move_slow_penalty 15 is_hilly 1 speed -0.02 move_block boat swim @@ -16231,7 +16388,8 @@ level 1 x 1 no_pick 1 -slow_move 15 +move_slow walk +move_slow_penalty 15 is_hilly 1 speed -0.02 move_block boat swim @@ -21111,7 +21269,8 @@ Object icecube editor_folder misc -slow_move 1 +move_slow walk +move_slow_penalty 1 face icecube.111 material 68 weight 15000 @@ -21135,6 +21294,116 @@ no_pick 1 glow_radius 4 end +Object Machine.1 +editor_folder misc +name Machine +title of the Empire +face machine.x11 +move_block 0 +blocksview 0 +identified 1 +no_pick 1 +x 0 +y 0 +end +More +Object Machine.2 +editor_folder misc +face machine.x11 +move_block all +x 1 +y 0 +end +More +Object Machine.3 +editor_folder misc +face machine.x11 +move_block 0 +blocksview 0 +x 2 +y 0 +end +More +Object Machine.4 +editor_folder misc +face machine.x11 +move_block all +blocksview 0 +x 0 +y 1 +end +More +Object Machine.5 +editor_folder misc +face machine.x11 +move_block all +blocksview 1 +x 1 +y 1 +end +More +Object Machine.6 +editor_folder misc +face machine.x11 +move_block all +blocksview 1 +x 2 +y 1 +end +More +Object Machine.7 +editor_folder misc +face machine.x11 +move_block all +blocksview 1 +x 0 +y 2 +end +More +Object Machine.8 +editor_folder misc +face machine.x11 +move_block all +blocksview 0 +x 1 +y 2 +end +More +Object Machine.9 +editor_folder misc +face machine.x11 +move_block all +blocksview 1 +x 2 +y 2 +end +More +Object Machine.A +editor_folder misc +face machine.x11 +move_block 0 +blocksview 0 +x 0 +y 3 +end +More +Object Machine.B +editor_folder misc +face machine.x11 +move_block all +blocksview 0 +x 1 +y 3 +end +More +Object Machine.C +editor_folder misc +face machine.x11 +move_block 0 +blocksview 0 +x 2 +y 3 +end Object magnifier editor_folder misc name magnifying glass @@ -21310,7 +21579,8 @@ name rubble face rubble1.111 no_pick 1 -slow_move 8 +move_slow walk +move_slow_penalty 8 material 64 end Object b_slicingknife @@ -21356,7 +21626,8 @@ Object smallicecube editor_folder misc name small icecube -slow_move 1 +move_slow walk +move_slow_penalty 1 face smallicecube.111 material 68 weight 1500 @@ -21649,6 +21920,7 @@ speed 0.01 anim_speed 10 weight 750000 +generator_limit 5 end Object acid_sphere editor_folder monster/acid @@ -21663,9 +21935,9 @@ alive 1 ac 1 wc 1 -dam 100 +dam 50 weight 1 -level 5 +level 4 resist_fire 100 resist_electricity 100 resist_cold 100 @@ -21702,17 +21974,17 @@ sleep 1 Wis 15 alive 1 -ac 8 -wc 2 +ac 5 +wc 8 dam 15 -hp 250 -maxhp 250 +hp 100 +maxhp 100 Con 1 can_see_in_dark 1 -speed -0.1 -exp 800 +speed -0.2 +exp 1200 weight 20000 -level 5 +level 7 attacktype 64 resist_fire -100 resist_blind 100 @@ -21729,19 +22001,18 @@ monster 1 move_type walk alive 1 -ac 8 -wc 2 +ac 5 +wc 8 dam 10 -hp 250 -maxhp 250 +hp 100 +maxhp 100 Con 1 -speed 0.1 -exp 400 +speed 0.2 +exp 600 weight 20000 -level 5 +level 7 attacktype 64 resist_fire -100 - hitback 1 end Object black_pudding_split @@ -21755,19 +22026,18 @@ monster 1 move_type walk alive 1 -ac 8 -wc 2 +ac 5 +wc 8 dam 10 -hp 250 -maxhp 250 +hp 100 +maxhp 100 Con 1 -speed 0.1 -exp 400 +speed 0.2 +exp 600 weight 20000 -level 5 +level 7 attacktype 64 resist_fire -100 - hitback 1 end Object green_slime @@ -21781,19 +22051,19 @@ sleep 1 Wis 5 alive 1 -ac 9 -wc 5 -dam 40 +ac 7 +wc 11 +dam 20 can_see_in_dark 1 resist_blind 100 -speed -0.1 -exp 200 +speed -0.2 +exp 175 weight 5000 level 5 attacktype 64 hitback 1 -hp 20 -maxhp 20 +hp 40 +maxhp 40 end Object pet_necro editor_folder monster/acid @@ -21831,19 +22101,18 @@ sleep 1 Wis 15 alive 1 -ac -10 -wc -5 -dam 0 -hp 100 -maxhp 100 +ac 5 +wc 10 +dam 1 +hp 65 +maxhp 65 Con 1 speed -0.5 -exp 300 +exp 100 weight 30000 -level 4 +level 5 attacktype 64 resist_fire -100 - hitback 1 end Object slime @@ -21862,13 +22131,13 @@ generator 1 maxsp 10 alive 1 -exp 7 +exp 2 ac 10 wc 18 dam 4 hp 5 maxhp 5 -level 2 +level 1 speed 0.06 weight 20000 end @@ -21886,17 +22155,17 @@ alive 1 see_invisible 1 can_see_in_dark 1 -exp 400 -level 8 -ac 4 -wc 3 -dam 12 +exp 500 +level 6 +ac 6 +wc 9 +dam 16 attacktype 81 hp 70 maxhp 70 Con 1 Wis 5 -speed -0.08 +speed -0.1 attack_movement 5 hitback 1 weight 150000 @@ -21913,6 +22182,7 @@ name angel face angel.111 animation angel +is_animated 1 monster 1 move_type walk fly_low sleep 1 @@ -21920,10 +22190,10 @@ see_invisible 1 no_pick 1 alive 1 -exp 800 -ac 0 -wc 1 -dam 12 +exp 8000 +ac 2 +wc 4 +dam 20 Pow 16 maxsp 40 hp 150 @@ -21961,6 +22231,10 @@ body_arm 2 body_range 1 end +Object angel_sword +editor_folder monster/angel +animation angel_sword +end Object angel_knight editor_folder monster/angel name Angel Knight @@ -21971,8 +22245,8 @@ level 8 hp 100 maxhp 100 -ac 0 -wc 6 +ac 4 +wc 13 dam 20 speed 0.3 attacktype 1048577 @@ -21980,7 +22254,7 @@ see_invisible 1 no_pick 1 alive 1 -exp 600 +exp 2200 resist_magic 50 resist_holyword 40 resist_blind 90 @@ -22023,81 +22297,12 @@ y 1 weight 75000 end -Object HighAngel -editor_folder monster/angel -randomitems high_angel -name High Angel -race angel -face archangel.118 -animation archangel -monster 1 -move_type walk fly_low -sleep 1 -Wis 15 -see_invisible 1 -no_pick 1 -alive 1 -reflect_spell 1 -Str 29 -Int 25 -Pow 60 -exp 200000 -ac -5 -wc -20 -dam 20 -sp 100 -maxsp 200 -hp 2500 -maxhp 2500 -Con 40 -level 25 -resist_magic 100 -resist_electricity 100 -resist_confusion 100 -resist_drain 100 -resist_poison 100 -resist_slow 100 -resist_paralyze 100 -resist_fear 100 -resist_physical 50 -resist_fire 50 -resist_cold 50 -resist_holyword 80 -resist_blind 80 -attacktype 20745 -speed 0.400000 -weight 150000 -run_away 18 -will_apply 2 -pick_up 24 -can_use_scroll 1 -can_use_skill 1 -can_use_rod 1 -can_cast_spell 1 -can_use_bow 1 -can_use_shield 1 -can_use_armour 1 -can_use_weapon 1 -can_use_ring 1 -attack_movement 4 -body_skill 1 -body_torso 1 -body_head 1 -body_shoulder 1 -body_foot 2 -body_wrist 2 -body_hand 2 -body_waist 1 -body_finger 2 -body_arm 2 -body_range 1 -end Object ArchAngel editor_folder monster/angel randomitems archangel name Arch Angel race angel -face highangel.x11 +face archangel.x11 animation ArchAngel monster 1 move_type walk fly_low @@ -22164,7 +22369,7 @@ Object ArchAngel_2 editor_folder monster/angel name Arch Angel -face highangel.x11 +face archangel.x11 animation ArchAngel_2 monster 1 move_type walk fly_low @@ -22177,7 +22382,7 @@ Object ArchAngel_3 editor_folder monster/angel name Arch Angel -face highangel.x11 +face archangel.x11 animation ArchAngel_3 monster 1 move_type walk fly_low @@ -22190,7 +22395,7 @@ Object ArchAngel_4 editor_folder monster/angel name Arch Angel -face highangel.x11 +face archangel.x11 animation ArchAngel_4 monster 1 move_type walk fly_low @@ -22204,7 +22409,7 @@ Object ArchAngel_5 editor_folder monster/angel name Arch Angel -face highangel.x11 +face archangel.x11 animation ArchAngel_5 monster 1 move_type walk fly_low @@ -22218,7 +22423,7 @@ Object ArchAngel_6 editor_folder monster/angel name Arch Angel -face highangel.x11 +face archangel.x11 animation ArchAngel_6 monster 1 move_type walk fly_low @@ -22232,19 +22437,19 @@ editor_folder monster/angel race angel name cherub -face cupid.111 +face cherub.111 monster 1 move_type walk fly_low see_invisible 1 can_see_in_dark 1 no_pick 1 alive 1 -exp 50 +exp 35 ac 6 wc 16 dam 5 -hp 15 -maxhp 15 +hp 25 +maxhp 25 Wis 8 level 3 resist_magic 50 @@ -22253,6 +22458,75 @@ run_away 18 attacktype 1 end +Object HighAngel +editor_folder monster/angel +randomitems high_angel +name High Angel +race angel +face highangel.118 +animation highangel +monster 1 +move_type walk fly_low +sleep 1 +Wis 15 +see_invisible 1 +no_pick 1 +alive 1 +reflect_spell 1 +Str 29 +Int 25 +Pow 60 +exp 200000 +ac -5 +wc -20 +dam 20 +sp 100 +maxsp 200 +hp 2500 +maxhp 2500 +Con 40 +level 25 +resist_magic 100 +resist_electricity 100 +resist_confusion 100 +resist_drain 100 +resist_poison 100 +resist_slow 100 +resist_paralyze 100 +resist_fear 100 +resist_physical 50 +resist_fire 50 +resist_cold 50 +resist_holyword 80 +resist_blind 80 +attacktype 20745 +speed 0.400000 +weight 150000 +run_away 18 +will_apply 2 +pick_up 24 +can_use_scroll 1 +can_use_skill 1 +can_use_rod 1 +can_cast_spell 1 +can_use_bow 1 +can_use_shield 1 +can_use_armour 1 +can_use_weapon 1 +can_use_ring 1 +attack_movement 4 +body_skill 1 +body_torso 1 +body_head 1 +body_shoulder 1 +body_foot 2 +body_wrist 2 +body_hand 2 +body_waist 1 +body_finger 2 +body_arm 2 +body_range 1 +end Object holyghost editor_folder monster/angel race angel @@ -22265,12 +22539,12 @@ can_see_in_dark 1 no_pick 1 alive 1 -exp 150 -ac 0 +exp 225 +ac 6 wc 12 -dam 30 -hp 30 -maxhp 30 +dam 15 +hp 60 +maxhp 60 Wis 10 level 5 resist_magic 50 @@ -22305,7 +22579,7 @@ hp 500 maxhp 500 Con 16 -level 13 +level 20 resist_physical 30 resist_fire 30 resist_cold 30 @@ -22364,7 +22638,7 @@ hp 500 maxhp 500 Con 12 -level 18 +level 21 resist_physical 30 resist_fire 30 resist_cold 30 @@ -22516,19 +22790,21 @@ editor_folder monster/angel race angel name whim -face wingedhalo.111 +face whim.111 +animation whim +is_animated 1 monster 1 move_type walk fly_low see_invisible 1 can_see_in_dark 1 no_pick 1 alive 1 -exp 10 +exp 7 ac 10 -wc 20 +wc 15 dam 2 -hp 3 -maxhp 3 +hp 10 +maxhp 10 Wis 8 level 1 resist_magic 100 @@ -22548,18 +22824,18 @@ Wis 10 face bear.x31 animation bear -exp 700 -ac 1 -wc 2 +exp 1500 +ac 6 +wc 9 dam 20 -hp 200 +hp 150 +maxhp 150 attacktype 1 attack_movement 4 Con 2 Str 30 Int 5 -maxhp 200 -level 6 +level 8 alive 1 no_pick 1 speed -0.085 @@ -22590,17 +22866,17 @@ face polarbear.x31 animation polarbear resist_cold 50 -exp 1300 +exp 3000 attacktype 1 attack_movement 4 -ac 1 -wc 2 +ac 4 +wc 8 dam 20 -hp 250 +hp 175 Con 4 Str 30 Int 13 -maxhp 250 +maxhp 175 level 9 alive 1 no_pick 1 @@ -22641,7 +22917,7 @@ hp 800 maxhp 800 Con 2 -level 12 +level 20 alive 1 speed -0.5 weight 1800000 @@ -22681,15 +22957,15 @@ sleep 1 Wis 20 alive 1 -hp 10 -maxhp 10 +hp 25 +maxhp 25 Con 2 speed -0.2 -exp 30 -ac 4 +exp 35 +ac 6 dam 5 -wc 1 -level 4 +wc 15 +level 3 weight 30000 run_away 15 attack_movement 3 @@ -22709,10 +22985,10 @@ maxhp 120 Con 2 speed -0.2 -exp 200 -ac 1 +exp 1800 +ac 3 dam 9 -wc 1 +wc 9 level 8 can_see_in_dark 1 weight 60000 @@ -22729,14 +23005,14 @@ sleep 1 Wis 10 alive 1 -hp 4 -maxhp 4 +hp 10 +maxhp 10 Con 1 speed -0.2 -exp 5 -ac 4 +exp 10 +ac 7 dam 2 -wc 1 +wc 15 level 1 weight 5000 run_away 60 @@ -22809,9 +23085,9 @@ Wis 8 no_pick 1 alive 1 -exp 1000 -ac 18 -wc 27 +exp 2 +ac 12 +wc 15 dam 2 hp 2 maxhp 2 @@ -22832,20 +23108,21 @@ sleep 1 Wis 20 alive 1 -hp 450 -maxhp 460 -Con 2 +hp 250 +maxhp 250 +Con 4 speed 0.2 -exp 6000 +exp 8000 no_pick 1 can_see_in_dark 1 -ac -4 -dam 45 +ac 6 +wc 8 +dam 30 attacktype 17 resist_cold 50 resist_fire -25 -wc 1 -level 9 +resist_physical 40 +level 11 can_cast_spell 1 sp 30 maxsp 30 @@ -22866,19 +23143,19 @@ sleep 1 Wis 20 alive 1 -hp 1450 -maxhp 1460 +hp 400 +maxhp 400 Con 4 speed 0.2 -exp 16000 +exp 18000 no_pick 1 can_see_in_dark 1 -ac -6 +ac 4 dam 45 attacktype 17 resist_cold 60 resist_fire -5 -wc 1 +wc 5 level 18 can_cast_spell 1 sp 45 @@ -22899,17 +23176,17 @@ sleep 1 Wis 20 alive 1 -hp 150 +hp 100 +maxhp 100 can_see_in_dark 1 attacktype 1 -maxhp 160 Con 2 speed -0.2 -exp 500 -ac 1 -dam 25 -wc 1 -level 5 +exp 1400 +ac 4 +dam 15 +wc 12 +level 7 weight 55000 run_away 15 attack_movement 3 @@ -22926,12 +23203,12 @@ sleep 1 no_pick 1 alive 1 -exp 600 +exp 1400 level 7 -ac 0 -wc 5 -hp 160 -maxhp 160 +ac 4 +wc 11 +hp 100 +maxhp 100 Con 2 Wis 6 Str 24 @@ -22957,20 +23234,20 @@ alive 1 see_invisible 1 speed 0.2 -hp 2 -maxhp 2 +hp 5 +maxhp 5 run_away 80 -exp 8 -wc 12 +exp 6 +wc 16 dam 3 -ac 4 -level 2 +ac 7 +level 1 weight 20 resist_physical 30 end Object generate_bat editor_folder monster/animal -name generator +name bat generator other_arch bat race animal face bat_gen.111 @@ -22982,7 +23259,7 @@ speed 0.015 hp 100 resist_physical 30 - +generator_limit 5 end Object bird editor_folder monster/animal @@ -22995,15 +23272,15 @@ Wis 8 no_pick 1 alive 1 -ac 2 +ac 5 level 1 -hp 3 -maxhp 3 +hp 10 +maxhp 10 run_away 80 wc 15 dam 1 speed -0.3 -exp 20 +exp 8 weight 1500 attack_movement 3 end @@ -23023,6 +23300,7 @@ level 1 maxsp 1 weight 1000 +generator_limit 5 end Object cobra editor_folder monster/animal @@ -23030,7 +23308,7 @@ face cobra.x12 race reptile animation cobra -speed -0.1 +speed -0.2 anim_speed 3 monster 1 move_type walk @@ -23038,13 +23316,13 @@ Wis 10 alive 1 no_pick 1 -exp 150 -ac -2 -wc -10 -dam 40 +exp 225 +ac 4 +wc 12 +dam 15 attacktype 1025 -hp 30 -maxhp 30 +hp 40 +maxhp 40 level 5 weight 20000 end @@ -23069,13 +23347,13 @@ alive 1 level 1 ac 9 -hp 3 -maxhp 3 +hp 10 +maxhp 10 run_away 80 wc 15 dam 0 speed -0.2 -exp 1 +exp 7 weight 1500 attack_movement 2 end @@ -23094,9 +23372,9 @@ maxhp 12 run_away 80 wc 15 -dam 15 +dam 3 speed -0.2 -exp 1 +exp 20 weight 8500 attack_movement 2 end @@ -23111,15 +23389,15 @@ alive 1 level 1 ac 9 -hp 5 -maxhp 5 +hp 15 +maxhp 15 randomitems sheep run_away 80 wc 15 dam 1 attacktype 18 speed 0.2 -exp 1 +exp 6 weight 60000 resist_cold 10 attack_movement 2 @@ -23130,7 +23408,7 @@ name violent fungi race slime face fungus.111 -speed -0.03 +speed -0.08 generator 1 sp 129 maxsp 20 @@ -23141,14 +23419,14 @@ sleep 1 Wis 5 alive 1 -exp 25 +exp 15 ac 8 -wc 2 -dam 2 +wc 14 +dam 3 attacktype 1024 -hp 5 -maxhp 5 -level 3 +hp 20 +maxhp 20 +level 2 weight 10000 end Object giant_bat @@ -23164,15 +23442,15 @@ Wis 15 no_pick 1 alive 1 -ac 2 -level 4 -hp 30 -maxhp 30 +ac 4 +level 5 +hp 40 +maxhp 40 see_invisible 1 -wc 10 -dam 13 +wc 13 +dam 10 speed 0.3 -exp 100 +exp 225 weight 5000 attack_movement 3 end @@ -23259,7 +23537,7 @@ Wis 15 face gryphon.x31 animation gryphon -level 18 +level 29 attacktype 128 Dex 30 Str 80 @@ -23449,14 +23727,14 @@ move_type walk no_pick 1 generator 1 -maxsp 15 +maxsp 100 alive 1 -exp 5 +exp 1 ac 7 -wc 25 +wc 20 dam 2 -hp 1 -maxhp 1 +hp 4 +maxhp 4 level 1 speed -0.11 weight 80 @@ -23466,7 +23744,7 @@ editor_folder monster/animal race animal other_arch mouse -name generator +name mouse hole generator 1 face mouse_gen.111 alive 1 @@ -23477,6 +23755,7 @@ ac 3 exp 50 maxsp 1 +generator_limit 5 end Object panther editor_folder monster/animal @@ -23493,11 +23772,11 @@ Con 3 can_see_in_dark 1 speed -0.3 -exp 70 +exp 200 ac 4 dam 10 -wc 1 -level 4 +wc 13 +level 5 weight 60000 run_away 15 attack_movement 3 @@ -23505,7 +23784,7 @@ Object generate_panther editor_folder monster/animal race animal -name generator +name panther cave other_arch panther face panthergen.111 generator 1 @@ -23515,12 +23794,13 @@ speed 0.004 exp 50 weight 900000 +generator_limit 5 end Object generate_scorpion editor_folder monster/animal race animal other_arch scorpion -name generator +name scorpion generator generator 1 face scorpi_gen.111 alive 1 @@ -23532,6 +23812,7 @@ exp 50 maxsp 1 weight 10000 +generator_limit 5 end Object scorpion editor_folder monster/animal @@ -23545,12 +23826,12 @@ Wis 8 no_pick 1 alive 1 -ac 10 +ac 6 hp 30 maxhp 30 Con 2 -wc 0 -level 5 +wc 14 +level 3 dam 10 attacktype 1025 resist_fire 100 @@ -23558,7 +23839,7 @@ resist_cold -100 resist_confusion -100 speed 0.1 -exp 70 +exp 40 weight 500 end Object shadowpup @@ -23572,15 +23853,15 @@ sleep 1 Wis 20 alive 1 -hp 100 -maxhp 100 +hp 75 +maxhp 75 Con 2 speed -0.3 -exp 60 -ac 4 +exp 700 +ac 8 dam 10 -wc 1 -level 4 +wc 11 +level 6 weight 200000 run_away 15 attack_movement 3 @@ -23664,20 +23945,20 @@ sleep 1 Wis 8 alive 1 -exp 35 -ac 4 -wc 10 +exp 25 +ac 7 +wc 18 dam 8 -hp 5 -maxhp 5 -level 4 +hp 15 +maxhp 15 +level 2 weight 1000 end Object generate_beholder editor_folder monster/beholder race unnatural other_arch beholder -name generator +name beholder hive generator 1 face behold_gen.111 hp 100 @@ -23686,11 +23967,11 @@ ac 13 speed -0.001 resist_magic 100 - alive 1 level 1 maxsp 1 weight 90000 +generator_limit 5 end Object beholder editor_folder monster/beholder @@ -23715,13 +23996,13 @@ maxsp 15 hp 80 maxhp 80 -level 9 +level 8 resist_magic 100 resist_poison 100 resist_paralyze 100 resist_fear 100 resist_blind -75 -speed -0.07 +speed -0.15 weight 1000 run_away 15 attack_movement 1 @@ -23740,25 +24021,25 @@ see_invisible 1 no_pick 1 alive 1 -exp 2500 +exp 5000 ac 2 -wc 2 +wc 10 dam 20 Con 1 Pow 2 can_cast_spell 1 sp 15 maxsp 15 -hp 95 -maxhp 95 -level 11 +hp 120 +maxhp 120 +level 10 resist_magic 100 resist_poison 100 resist_paralyze 100 resist_fear 100 resist_physical 40 resist_blind -60 -speed -0.07 +speed -0.20 weight 1000 run_away 15 attack_movement 1 @@ -23787,7 +24068,7 @@ ac -10 wc -20 dam 25 -level 15 +level 60 resist_magic 90 resist_fire 100 resist_poison 100 @@ -23883,7 +24164,7 @@ animation living_chaos is_animated 1 move_type walk fly_low -level 13 +level 40 hp 250 maxhp 250 Int 3 @@ -24261,7 +24542,7 @@ sp 30 maxsp 50 maxhp 1000 -level 12 +level 20 alive 1 speed 0.3 weight 300000 @@ -24281,7 +24562,7 @@ Object big_demon_2 editor_folder monster/demon/Big_Demon name big demon -face big_demon.x71 +face big_demon.x31 animation big_demon_2 monster 1 move_type walk @@ -24293,7 +24574,7 @@ Object big_demon_3 editor_folder monster/demon/Big_Demon name big demon -face big_demon.x71 +face big_demon.x31 animation big_demon_3 monster 1 move_type walk @@ -24305,7 +24586,7 @@ Object big_demon_4 editor_folder monster/demon/Big_Demon name big demon -face big_demon.x71 +face big_demon.x31 animation big_demon_4 monster 1 move_type walk @@ -24317,7 +24598,7 @@ Object big_demon_5 editor_folder monster/demon/Big_Demon name big demon -face big_demon.x71 +face big_demon.x31 animation big_demon_5 monster 1 move_type walk @@ -24330,7 +24611,7 @@ Object big_demon_6 editor_folder monster/demon/Big_Demon name big demon -face big_demon.x71 +face big_demon.x31 animation big_demon_6 monster 1 move_type walk @@ -24343,7 +24624,7 @@ Object big_demon_7 editor_folder monster/demon/Big_Demon name big demon -face big_demon.x71 +face big_demon.x31 animation big_demon_7 monster 1 move_type walk @@ -24444,7 +24725,7 @@ resist_godpower 90 resist_magic 80 resist_blind 100 -level 19 +level 69 speed -0.2 alive 1 monster 1 @@ -25201,7 +25482,7 @@ sleep 1 undead 1 exp 3500 -level 15 +level 100 attacktype 17 resist_magic 100 resist_cold 100 @@ -25237,10 +25518,10 @@ see_invisible 1 no_pick 1 alive 1 -exp 800 -ac 1 +exp 2500 +ac 4 resist_physical 30 -wc 3 +wc 8 dam 12 Pow 4 Int 15 @@ -25284,7 +25565,7 @@ editor_folder monster/demon race demon other_arch devil -name generator +name demon gate generator 1 face devil_gen.111 hp 400 @@ -25299,6 +25580,7 @@ level 1 maxsp 1 weight 300000 +generator_limit 5 end Object evil_master1 editor_folder monster/demon @@ -25513,10 +25795,10 @@ see_invisible 1 no_pick 1 alive 1 -exp 3600 -ac -3 +exp 15000 +ac 3 resist_physical 30 -wc 0 +wc 6 dam 22 Pow 8 Int 15 @@ -25650,24 +25932,22 @@ Wis 3 no_pick 1 alive 1 -exp 150 +exp 10 ac 4 resist_physical 20 -wc 4 +wc 18 dam 2 Int 0 sp 0 maxsp 5 -hp 5 +hp 10 +maxhp 10 Con 1 Str 24 Pow 1 -maxhp 5 level 1 resist_magic 30 - resist_fire 100 - speed 0.25 weight 200000 run_away 15 @@ -25704,7 +25984,7 @@ maxsp 50 hp 2000 maxhp 2000 -level 12 +level 20 alive 1 speed 0.3 weight 300000 @@ -25773,10 +26053,10 @@ Wis 10 no_pick 1 alive 1 -exp 700 -ac 0 +exp 4000 +ac 4 resist_physical 20 -wc 1 +wc 10 dam 25 Int 0 maxsp 5 @@ -25903,7 +26183,7 @@ move_type walk sleep 1 Wis 20 -level 14 +level 25 Con 4 Pow 32 can_cast_spell 1 @@ -25954,6 +26234,11 @@ x 1 y 1 end + +Object chinese_dragon_spellcasting +editor_folder monster/dragon/Chinese_Dra +animation chinese_dragon_spellcasting +end Object Cwyvern editor_folder monster/dragon name wyvern of chaos @@ -26014,7 +26299,7 @@ Wis 20 face dragon.x71 animation big_dragon -level 18 +level 29 Con 11 Pow 26 can_cast_spell 1 @@ -26101,6 +26386,11 @@ y 1 weight 4000000 end + +Object big_dragon_spellcasting +editor_folder monster/dragon/Dragon +animation big_dragon_spellcasting +end Object big_dragon_ancient editor_folder monster/dragon/Dragon name ancient red dragon @@ -26215,7 +26505,7 @@ Wis 20 face dragonman.x31 animation dragonman -level 18 +level 39 Con 11 Pow 13 can_cast_spell 1 @@ -26269,7 +26559,7 @@ Wis 20 face elec_dr.x11 animation big_elec -level 18 +level 27 Con 11 Pow 32 can_cast_spell 1 @@ -26356,6 +26646,11 @@ y 2 weight 4000000 end + +Object big_elec_spellcasting +editor_folder monster/dragon/Electric +animation big_elec_spellcasting +end Object cold_dragon editor_folder monster/dragon/Hatchlings race dragon @@ -26363,7 +26658,7 @@ randomitems cold_dragon face cold_drag.171 animation cold_dragon -level 8 +level 7 monster 1 move_type walk fly_low sleep 1 @@ -26371,7 +26666,7 @@ see_invisible 1 no_pick 1 alive 1 -exp 1500 +exp 1000 ac 5 wc 7 dam 15 @@ -26407,7 +26702,7 @@ alive 1 exp 1800 ac 5 -wc 7 +wc 10 dam 15 Con 3 Pow 2 @@ -26419,7 +26714,7 @@ resist_electricity 100 resist_blind 50 resist_magic 30 -speed -0.07 +speed -0.15 weight 70000 run_away 20 attack_movement 1 @@ -26441,7 +26736,7 @@ alive 1 exp 2000 ac 5 -wc 7 +wc 10 dam 15 Con 3 Pow 3 @@ -26453,7 +26748,7 @@ resist_fire 100 resist_blind 50 resist_magic 30 -speed -0.07 +speed -0.15 weight 70000 run_away 20 attack_movement 1 @@ -26469,7 +26764,7 @@ Wis 20 face worthless_dragon.x71 animation big_dragon_worthless -level 18 +level 29 Con 11 Pow 26 can_cast_spell 1 @@ -26479,12 +26774,9 @@ maxhp 3500 resist_fire 100 resist_fear 100 - resist_magic 30 - resist_cold -100 resist_confusion -100 - ac -12 wc -20 dam 25 @@ -26569,7 +26861,7 @@ Wis 20 face baby_drag.111 animation baby_dragon -level 10 +level 25 Con 8 Pow 8 can_cast_spell 1 @@ -26602,7 +26894,7 @@ monster 1 move_type walk sleep 1 -level 14 +level 50 Con 6 maxsp 40 hp 8000 @@ -26654,7 +26946,7 @@ editor_folder monster/dragon race dragon other_arch dragon -name dragoncave +name dragon cave generator 1 face dragoncave.111 speed 0.0008 @@ -26664,11 +26956,11 @@ ac 3 exp 1000 resist_fire 100 - no_pick 1 alive 1 maxsp 1 weight 1000000 +generator_limit 5 end Object drake editor_folder monster/dragon/drake @@ -26677,7 +26969,7 @@ randomitems drake face drake.111 animation drake -level 9 +level 10 monster 1 move_type walk fly_low sleep 1 @@ -26685,15 +26977,15 @@ see_invisible 1 no_pick 1 alive 1 -exp 5000 -ac -3 -wc 5 +exp 6000 +ac 5 +wc 14 dam 20 Str 15 Con 5 can_cast_spell 0 -hp 220 -maxhp 220 +hp 200 +maxhp 200 resist_magic 85 resist_blind 30 attacktype 1025 @@ -26748,27 +27040,27 @@ Wis 20 face wyvern.x71 animation dragon -level 8 +level 10 Con 2 Pow 2 can_cast_spell 1 maxsp 10 -hp 300 -maxhp 300 +hp 200 +maxhp 200 resist_fire 100 resist_fear 100 resist_blind 50 resist_cold -100 resist_confusion -100 attacktype 1 -ac 2 -wc 2 +ac 5 +wc 8 dam 25 -exp 4000 +exp 5000 see_invisible 1 alive 1 no_pick 1 -speed -0.07 +speed -0.15 weight 150000 run_away 6 end @@ -26796,17 +27088,16 @@ move_type walk fly_low alive 1 resist_electricity 100 - attacktype 8 -ac 3 +ac 6 wc 10 dam 10 -hp 100 -maxhp 100 -speed -0.3 -exp 200 +hp 50 +maxhp 50 +speed -0.5 +exp 1100 weight 200 -level 6 +level 7 end Object para_earth editor_folder monster/elemental/Para @@ -26821,14 +27112,13 @@ ac 5 wc 9 dam 20 -hp 200 -maxhp 200 -speed -0.08 -exp 210 +hp 100 +maxhp 100 +speed -0.15 +exp 1500 weight 100000 -level 6 +level 7 resist_cold 100 - attacktype 16 end Object para_fire @@ -26842,18 +27132,16 @@ move_type walk fly_low alive 1 resist_fire 100 - attacktype 4 resist_confusion -100 - ac 5 wc 16 dam 20 -hp 150 -maxhp 150 -level 6 -speed -0.25 -exp 200 +hp 75 +maxhp 75 +level 7 +speed -0.35 +exp 1200 weight 200 end Object para_ice @@ -26869,18 +27157,16 @@ ac 8 wc 9 dam 30 -hp 120 -maxhp 120 -speed -0.1 -exp 200 +hp 60 +maxhp 60 +speed -0.2 +exp 1100 weight 50000 -level 6 +level 7 resist_cold 100 resist_confusion 100 - attacktype 16 resist_fire -100 - end Object para_lava editor_folder monster/elemental/Para @@ -26893,18 +27179,16 @@ move_type walk fly_low alive 1 resist_fire 100 - attacktype 4 resist_cold -100 - ac 5 wc 16 dam 20 -hp 150 -maxhp 150 -level 6 -speed -0.25 -exp 200 +hp 75 +maxhp 75 +level 7 +speed -0.35 +exp 1200 weight 50000 end Object para_lightning @@ -26917,18 +27201,17 @@ monster 1 move_type walk fly_low alive 1 -ac 3 +ac 5 wc 9 dam 10 -hp 120 -maxhp 120 -speed -0.3 -exp 200 +hp 60 +maxhp 60 +speed -0.4 +exp 1100 weight 200 -level 6 +level 7 resist_fire 100 resist_electricity 100 - attacktype 8 end Object para_mud @@ -26941,20 +27224,18 @@ monster 1 move_type walk alive 1 -ac 8 +ac 7 wc 9 dam 30 -hp 150 -maxhp 150 -speed -0.08 -exp 200 +hp 75 +maxhp 75 +speed -0.15 +exp 1200 weight 100000 -level 6 +level 7 resist_cold 100 - attacktype 1 resist_fire -100 - end Object para_water editor_folder monster/elemental/Para @@ -26967,19 +27248,17 @@ move_type walk alive 1 ac 6 -wc 9 +wc 10 dam 30 -hp 120 -maxhp 120 -speed -0.1 -exp 200 +hp 60 +maxhp 60 +speed -0.2 +exp 1400 weight 50000 -level 6 +level 7 resist_confusion 100 - attacktype 1 resist_cold -100 - end Object s_mastif editor_folder monster/elemental/Shadow @@ -27130,15 +27409,15 @@ resist_blind 100 attacktype 8 resist_physical -100 -ac 0 -wc 8 +ac 4 +wc 10 dam 10 -hp 160 -maxhp 160 +hp 140 +maxhp 140 speed -0.3 -exp 250 +exp 3500 weight 200 -level 8 +level 9 end Object earth_elemental editor_folder monster/elemental @@ -27149,15 +27428,15 @@ monster 1 move_type walk alive 1 -ac 5 -wc 8 +ac 6 +wc 10 dam 50 hp 280 maxhp 280 speed -0.08 -exp 250 +exp 4000 weight 100000 -level 8 +level 9 resist_physical 70 resist_cold 50 resist_blind 100 @@ -27178,14 +27457,14 @@ resist_confusion -100 resist_blind 100 glow_radius 1 -ac 2 -wc 10 +ac 4 +wc 13 dam 20 -hp 200 -maxhp 200 -level 8 +hp 175 +maxhp 175 +level 9 speed -0.25 -exp 250 +exp 3000 weight 200 end Object water_elemental @@ -27203,9 +27482,9 @@ hp 140 maxhp 140 speed -0.1 -exp 250 +exp 3000 weight 50000 -level 8 +level 9 resist_confusion 100 resist_blind 100 attacktype 17 @@ -27266,14 +27545,14 @@ resist_cold -75 attacktype 9 attack_movement 1 -ac -11 +ac 1 wc 10 dam 15 hp 200 maxhp 200 level 15 speed -0.6 -exp 6000 +exp 15000 weight 50 can_cast_spell 1 can_use_skill 1 @@ -27300,14 +27579,14 @@ resist_fire -20 attacktype 1 attack_movement 3 -ac -2 +ac 2 wc 10 dam 40 -hp 1120 -maxhp 1120 +hp 350 +maxhp 350 level 15 -speed -0.1 -exp 4000 +speed -0.17 +exp 15000 weight 5200 can_cast_spell 1 can_use_skill 1 @@ -27335,14 +27614,14 @@ attack_movement 4 resist_cold -100 glow_radius 2 -ac -2 -wc 1 -dam 30 -hp 600 -maxhp 600 +ac 4 +wc 12 +dam 25 +hp 300 +maxhp 300 level 14 speed -0.4 -exp 5000 +exp 14000 weight 20 can_cast_spell 1 can_use_skill 1 @@ -27369,14 +27648,14 @@ resist_fire -100 attacktype 17 attack_movement 3 -ac -6 -wc -1 +ac 3 +wc 8 dam 30 -hp 520 -maxhp 520 +hp 250 +maxhp 250 level 14 speed -0.2 -exp 5000 +exp 12000 weight 1200 can_cast_spell 1 can_use_skill 1 @@ -27511,7 +27790,7 @@ Wis 15 face big_wiz.x11 animation big_wiz -level 18 +level 49 attacktype 128 Con 28 Pow 48 @@ -28188,7 +28467,7 @@ maxsp 30 hp 4000 maxhp 4000 -level 15 +level 80 alive 1 no_pick 1 speed -0.33 @@ -28951,7 +29230,7 @@ sleep 1 Wis 15 animation djinn -level 15 +level 40 Con 10 Int 10 Pow 10 @@ -29027,21 +29306,22 @@ Wis 10 face giant.x11 animation giant +resist_physical 30 resist_electricity 50 resist_blind -30 -exp 1500 -ac 1 -wc 2 +exp 4000 +ac 6 +wc 8 dam 20 -hp 250 +hp 200 +maxhp 200 Con 4 Str 30 Int 13 -maxhp 250 level 10 alive 1 no_pick 1 -speed -0.085 +speed -0.15 weight 300000 run_away 6 pick_up 1 @@ -29080,6 +29360,7 @@ no_pick 1 maxsp 1 weight 30000 +generator_limit 5 end Object mabu editor_folder monster/giant @@ -29093,19 +29374,19 @@ face mabu.x11 animation mabu resist_electricity 50 -exp 1500 -ac 1 -wc 2 +exp 4000 +ac 6 +wc 8 dam 20 -hp 250 +hp 200 Con 4 Str 30 Int 13 -maxhp 250 +maxhp 200 level 10 alive 1 no_pick 1 -speed -0.085 +speed -0.15 weight 300000 run_away 6 pick_up 1 @@ -29140,14 +29421,12 @@ level 9 Con 4 resist_cold -100 - resist_fire 30 - attacktype 5 -exp 400 -ac -1 -wc 4 -dam 7 +exp 2500 +ac 5 +wc 8 +dam 15 hp 120 maxhp 120 Pow 2 @@ -29155,7 +29434,7 @@ maxsp 5 alive 1 no_pick 1 -speed -0.10 +speed -0.20 can_cast_spell 1 weight 90000 end @@ -29182,21 +29461,19 @@ move_type walk Wis 15 animation serpent -level 7 -Con 3.2 +level 6 +Con 4 resist_cold -100 - resist_poison 100 - -exp 150 -ac -2 -wc 5 +exp 500 +ac 4 +wc 14 dam 9 hp 100 maxhp 100 alive 1 no_pick 1 -speed -0.08 +speed -0.15 weight 90000 end More @@ -29222,7 +29499,7 @@ sleep 1 Wis 15 animation slug -level 8 +level 12 Con 10 resist_acid 100 resist_fear 100 @@ -29230,15 +29507,15 @@ resist_fire -100 resist_electricity 50 attacktype 65 -exp 500 -ac -1 -wc -1 -dam 10 +exp 8000 +ac 6 +wc 8 +dam 40 hp 250 maxhp 250 alive 1 no_pick 1 -speed -0.08 +speed -0.12 weight 300000 run_away 5 end @@ -29327,13 +29604,13 @@ Str 15 no_pick 1 alive 1 -exp 30 -ac 13 -wc 12 +exp 15 +ac 7 +wc 15 dam 4 -hp 8 -maxhp 8 -level 3 +hp 20 +maxhp 20 +level 2 speed -0.1 weight 45000 run_away 30 @@ -29356,13 +29633,13 @@ Str 15 no_pick 1 alive 1 -exp 120 -ac 11 -wc 10 -dam 20 +exp 60 +ac 5 +wc 13 +dam 8 hp 40 maxhp 40 -level 5 +level 4 resist_physical 30 speed -0.1 weight 45000 @@ -29380,12 +29657,13 @@ hp 40 maxhp 40 exp 80 -ac 10 +ac 9 speed 0.004 alive 1 level 1 maxsp 1 weight 1000000 +generator_limit 5 end Object gnoll_leader_arc editor_folder monster/goblin @@ -29403,13 +29681,13 @@ Str 15 no_pick 1 alive 1 -exp 50 -ac 12 -wc 11 -dam 17 -hp 21 -maxhp 21 -level 4 +exp 25 +ac 6 +wc 14 +dam 5 +hp 30 +maxhp 30 +level 3 speed 0.1 weight 45000 run_away 30 @@ -29428,12 +29706,12 @@ Wis 10 no_pick 1 alive 1 -exp 20 -ac 14 +exp 10 +ac 8 wc 17 dam 3 -hp 6 -maxhp 6 +hp 20 +maxhp 20 level 2 speed -0.1 weight 50000 @@ -29469,12 +29747,12 @@ Wis 10 no_pick 1 alive 1 -exp 120 -ac 12 +exp 50 +ac 6 wc 15 -dam 16 -hp 30 -maxhp 30 +dam 10 +hp 40 +maxhp 40 level 4 resist_physical 30 speed 0.1 @@ -29515,6 +29793,7 @@ speed 0.02 maxsp 1 weight 1000000 +generator_limit 5 end Object goblin_leader_arc editor_folder monster/goblin @@ -29529,12 +29808,12 @@ Wis 10 no_pick 1 alive 1 -exp 40 -ac 13 +exp 25 +ac 7 wc 16 -dam 16 -hp 16 -maxhp 16 +dam 8 +hp 25 +maxhp 25 level 3 speed 0.1 weight 50000 @@ -29568,12 +29847,12 @@ Wis 8 no_pick 1 alive 1 -exp 5 -ac 18 -wc 27 +exp 2 +ac 9 +wc 21 dam 2 -hp 2 -maxhp 2 +hp 10 +maxhp 10 level 1 speed 0.2 weight 30000 @@ -29589,12 +29868,13 @@ hp 20 maxhp 20 exp 30 -ac 15 +ac 10 speed 0.02 alive 1 level 1 maxsp 1 weight 1000000 +generator_limit 5 end Object ogre editor_folder monster/goblin @@ -29608,19 +29888,19 @@ sleep 1 no_pick 1 alive 1 -exp 100 -level 5 -ac 10 +exp 60 +level 4 +ac 8 can_see_in_dark 1 hp 50 +maxhp 50 Con 2 Wis 10 Str 22 Dex 20 Int 8 -maxhp 50 -wc 7 -dam 8 +wc 12 +dam 12 speed -0.08 resist_electricity 30 weight 140000 @@ -29657,13 +29937,13 @@ sleep 1 no_pick 1 alive 1 -exp 200 +exp 1500 level 8 -ac 6 -wc 5 +ac 5 +wc 8 can_see_in_dark 1 -hp 160 -maxhp 160 +hp 150 +maxhp 150 Con 2 Wis 10 Str 22 @@ -29711,6 +29991,7 @@ level 1 maxsp 1 weight 1000000 +generator_limit 5 end Object ogre_leader_arc editor_folder monster/goblin @@ -29724,10 +30005,10 @@ sleep 1 no_pick 1 alive 1 -exp 150 -level 7 -ac 8 -wc 5 +exp 500 +level 6 +ac 6 +wc 8 can_see_in_dark 1 hp 75 maxhp 75 @@ -29807,12 +30088,12 @@ Wis 8 no_pick 1 alive 1 -exp 15 -ac 16 -wc 19 +exp 5 +ac 8 +wc 17 dam 1 -hp 4 -maxhp 4 +hp 20 +maxhp 20 level 1 speed -0.15 weight 23000 @@ -29848,12 +30129,12 @@ Wis 8 no_pick 1 alive 1 -exp 75 -ac 14 -wc 17 -dam 15 -hp 24 -maxhp 24 +exp 30 +ac 6 +wc 15 +dam 4 +hp 40 +maxhp 40 level 3 resist_physical 30 speed -0.15 @@ -29893,6 +30174,7 @@ level 1 maxsp 1 weight 1000000 +generator_limit 5 end Object orc_leader_arc editor_folder monster/goblin @@ -29907,12 +30189,12 @@ Wis 8 no_pick 1 alive 1 -exp 35 -ac 15 -wc 18 -dam 14 -hp 16 -maxhp 16 +exp 10 +ac 7 +wc 16 +dam 2 +hp 25 +maxhp 25 level 2 speed -0.15 weight 23000 @@ -30691,15 +30973,15 @@ monster 1 move_type walk alive 1 -ac 1 +ac 9 wc 15 dam 4 hp 40 maxhp 40 -exp 100 -speed -0.1 +exp 25 +speed -0.15 weight 50000 -level 15 +level 3 can_cast_spell 1 can_use_skill 1 can_use_scroll 1 @@ -30739,15 +31021,15 @@ monster 1 move_type walk alive 1 -ac 1 +ac 9 wc 15 dam 4 hp 40 maxhp 40 -exp 100 -speed -0.1 +exp 25 +speed -0.15 weight 50000 -level 15 +level 3 can_cast_spell 1 can_use_scroll 1 can_use_skill 1 @@ -30931,15 +31213,15 @@ monster 1 move_type walk alive 1 -ac 1 -wc 9 +ac 9 +wc 12 dam 8 hp 50 maxhp 50 -exp 40 +exp 65 speed -0.15 weight 50000 -level 3 +level 4 will_apply 2 pick_up 24 can_use_scroll 1 @@ -30977,11 +31259,11 @@ Wis 10 no_pick 1 alive 1 -exp 45 -level 4 +exp 30 +level 3 ac 7 -hp 20 -maxhp 20 +hp 25 +maxhp 25 Con 2 wc 10 dam 6 @@ -31020,14 +31302,15 @@ Str 10 Dex 25 Int 13 -ac 0 -wc 10 +dam 4 +ac 5 +wc 14 hp 25 maxhp 25 -exp 50 +exp 35 speed 0.28 weight 52000 -level 1 +level 3 will_apply 8 pick_up 26 can_use_ring 1 @@ -31473,12 +31756,12 @@ move_type walk attack_movement 4 alive 1 -ac -5 -wc 15 -dam 10 +ac 1 +wc 5 +dam 20 hp 300 maxhp 300 -exp 7000 +exp 15000 speed 0.20 weight 50000 level 15 @@ -31517,9 +31800,9 @@ Wis 20 no_pick 1 alive 1 -exp 20 -ac 1 -wc 1 +exp 75 +ac 6 +wc 15 dam 4 Pow 1 Int 15 @@ -31527,9 +31810,9 @@ Dex 25 maxsp 20 can_cast_spell 1 -hp 20 -maxhp 20 -level 9 +hp 40 +maxhp 40 +level 4 speed 0.5 weight 50000 pick_up 24 @@ -31569,10 +31852,10 @@ Wis 25 no_pick 1 alive 1 -exp 40 -ac 1 -wc 1 -dam 8 +exp 75 +ac 8 +wc 16 +dam 6 Pow 2 Int 15 Str 13 @@ -31581,7 +31864,7 @@ can_cast_spell 1 hp 40 maxhp 40 -level 18 +level 4 speed 0.5 weight 50000 pick_up 24 @@ -31904,11 +32187,11 @@ type 120 face gnome.111 animation gnome -ac 1 +ac 5 reflect_spell 1 -wc 5 +wc 10 dam 4 -level 4 +level 6 Str 10 Int 15 Dex 13 @@ -31919,8 +32202,8 @@ Wis 20 attacktype 4098 will_apply 15 -hp 100 -maxhp 100 +hp 75 +maxhp 75 sp 300 maxsp 300 resist_fire 100 @@ -31965,11 +32248,11 @@ type 120 face gnome2.111 animation gnome2 -ac 1 +ac 5 reflect_spell 1 -wc 5 +wc 10 dam 4 -level 4 +level 6 Str 10 Int 15 Dex 13 @@ -31980,8 +32263,8 @@ Wis 20 attacktype 4098 will_apply 15 -hp 100 -maxhp 100 +hp 75 +maxhp 75 sp 300 maxsp 300 resist_fire 100 @@ -32644,7 +32927,7 @@ move_type walk alive 1 ac 7 -wc 18 +wc 20 dam 2 hp 15 maxhp 15 @@ -32652,7 +32935,7 @@ Int 12 Dex 16 Con 2 -exp 15 +exp 8 speed 0.4 weight 50000 level 1 @@ -33357,12 +33640,12 @@ monster 1 move_type walk alive 1 -ac 1 -wc 3 -dam 12 +ac 6 +wc 10 +dam 8 hp 50 maxhp 50 -exp 60 +exp 90 speed 0.15 weight 50000 level 4 @@ -33400,9 +33683,9 @@ ac 6 wc 12 dam 5 -hp 15 -maxhp 15 -exp 40 +hp 25 +maxhp 25 +exp 35 speed -0.20 resist_slow -100 weight 50000 @@ -33431,7 +33714,7 @@ editor_folder monster/humanoid/Human/postman race human other_arch postman -name generator +name mail box generator 1 face postman_gen.111 hp 80 @@ -33444,6 +33727,7 @@ sp 1 maxsp 1 weight 90000 +generator_limit 5 end Object priest editor_folder monster/humanoid/Human @@ -34037,11 +34321,11 @@ Con 2 no_pick 1 alive 1 -exp 45 -level 4 +exp 30 +level 3 ac 7 -hp 20 -maxhp 20 +hp 25 +maxhp 25 wc 10 dam 6 speed 0.12 @@ -34070,7 +34354,7 @@ Object generate_madman editor_folder monster/humanoid race human -name generator +name madman hut other_arch madman face madman_gen.111 generator 1 @@ -34084,6 +34368,7 @@ speed 0.01 maxsp 1 weight 1000000 +generator_limit 5 end Object necromancer editor_folder monster/humanoid @@ -34137,6 +34422,7 @@ level 1 sp 130 maxsp 1 +generator_limit 5 end Object pyromaniac editor_folder monster/humanoid @@ -34151,9 +34437,9 @@ face pyromaniac.111 animation pyromaniac ac 6 -wc 5 -dam 3 -level 4 +wc 10 +dam 8 +level 6 Con 2 Pow 3 Int 5 @@ -34162,12 +34448,11 @@ Wis 20 can_cast_spell 1 can_use_skill 1 -hp 100 -maxhp 100 +hp 75 +maxhp 75 sp 300 maxsp 1 resist_magic 100 - weight 50000 speed 0.2 random_movement 1 @@ -34196,7 +34481,7 @@ wc 9 ac 1 speed 0.150000 -level 3 +level 30 weight 50000 randomitems warrior_1 pick_up 24 @@ -34238,12 +34523,11 @@ level 1 ac 20 hp 1 +wc 15 maxhp 1 resist_acid 30 resist_poison 30 - resist_cold -100 - speed 0.001 generator 1 is_used_up 1 @@ -34259,20 +34543,18 @@ move_type walk no_pick 1 alive 1 -exp 5 +exp 1 level 1 -ac 18 -hp 3 -maxhp 3 -wc 20 +ac 12 +hp 10 +maxhp 10 +wc 15 dam 1 resist_physical 10 resist_cold -100 - resist_acid 30 resist_poison 30 - -speed 0.005 +speed 0.05 generator 1 is_used_up 1 weight 5000 @@ -34289,20 +34571,17 @@ no_pick 1 alive 1 Con 20 -exp 5000 +exp 4000 level 10 -ac 2 -hp 1000 -maxhp 1000 -wc -12 +ac 6 +hp 200 +maxhp 200 +wc 9 dam 30 resist_physical 30 resist_cold -100 - resist_poison 100 - resist_acid 30 - attacktype 1025 attack_movement 7 generator 1 @@ -34334,14 +34613,14 @@ Wis 6 alive 1 no_pick 1 -ac 10 -hp 1 -maxhp 1 -wc 1 +ac 15 +hp 25 +maxhp 25 +wc 10 level 3 -dam 5 +dam 4 speed -0.3 -exp 20 +exp 30 weight 7 end Object guard_ant @@ -34390,24 +34669,22 @@ Wis 5 no_pick 1 alive 1 -exp 800 -level 12 +exp 4000 +level 10 Con 15 Wis 10 -ac -5 -hp 100 -maxhp 100 +ac 5 +wc 5 +hp 150 +maxhp 150 resist_physical 45 attacktype 1025 attack_movement 7 run_away 50 resist_acid 100 resist_poison 100 - resist_cold -100 - can_use_bow 1 -wc -5 dam 15 speed -0.18 weight 15000 @@ -34425,22 +34702,19 @@ Wis 5 no_pick 1 alive 1 -exp 500 -level 10 +exp 1500 +level 8 Con 10 Wis 10 -ac -5 hp 100 maxhp 100 resist_physical 45 attacktype 1025 resist_poison 100 - resist_acid 30 - resist_cold -100 - -wc -5 +ac 5 +wc 10 dam 15 speed -0.2 weight 15000 @@ -34456,19 +34730,17 @@ no_pick 1 Con 10 alive 1 -exp 50 +exp 30 level 3 -ac 10 -hp 15 -maxhp 15 +ac 8 +hp 35 +maxhp 35 resist_physical 20 resist_acid 30 resist_poison 30 - resist_cold -100 - -wc 12 -dam 3 +wc 9 +dam 5 speed 0.1 weight 5000 end @@ -34482,21 +34754,21 @@ no_pick 1 alive 1 can_see_in_dark 1 -exp 2 +exp 5 level 1 -ac 15 -hp 5 -maxhp 5 +ac 10 +hp 15 +maxhp 15 wc 18 dam 1 -speed 0.01 +speed 0.1 weight 1000 end Object generate_ant editor_folder monster/insect race insect other_arch ant -name generator +name ant hill face ant_gen.111 generator 1 hp 120 @@ -34509,6 +34781,7 @@ speed 0.03 maxsp 1 weight 100000 +generator_limit 5 end Object bee editor_folder monster/insect @@ -34534,7 +34807,7 @@ end Object generate_bee editor_folder monster/insect -name generator +name bee tree race insect other_arch bee generator 1 @@ -34549,6 +34822,7 @@ speed 0.02 maxsp 1 weight 10000 +generator_limit 5 end Object beehive editor_folder monster/insect @@ -34568,6 +34842,7 @@ ac 12 hp 30 maxhp 30 +generator_limit 5 end Object centipede editor_folder monster/insect @@ -34588,14 +34863,14 @@ Wis 5 can_see_in_dark 1 alive 1 -exp 32 +exp 35 ac 10 wc 8 -dam 10 -hp 10 +dam 6 +hp 25 +maxhp 25 Con 1 -maxhp 10 -level 4 +level 3 weight 5000 end Object centipede_r @@ -34617,9 +34892,9 @@ Wis 5 can_see_in_dark 1 alive 1 -exp 32 +exp 65 ac 10 -wc 8 +wc 11 dam 10 hp 50 maxhp 50 @@ -34642,13 +34917,13 @@ can_see_in_dark 1 Wis 10 alive 1 -exp 50 +exp 90 ac 10 -wc 8 -dam 13 -hp 15 +wc 13 +dam 10 +hp 35 +maxhp 35 Con 1 -maxhp 15 run_away 75 level 4 end @@ -34664,12 +34939,12 @@ Wis 8 no_pick 1 alive 1 -exp 60 +exp 40 ac 8 -wc 15 -dam 30 -hp 5 -maxhp 5 +wc 17 +dam 5 +hp 25 +maxhp 25 level 3 speed 0.4 end @@ -34690,6 +34965,7 @@ level 1 sp 130 maxsp 1 +generator_limit 5 end Object xan editor_folder monster/insect @@ -34706,15 +34982,15 @@ alive 1 is_turnable 1 no_pick 1 -ac 10 -hp 1 -maxhp 1 +ac 15 +hp 25 +maxhp 25 wc 1 -level 5 +level 3 dam 1 attacktype 1025 speed 0.5 -exp 20 +exp 35 weight 7 end Object generate_xan @@ -34733,6 +35009,7 @@ exp 40 speed 0.1 weight 750000 +generator_limit 5 end Object baslic editor_folder monster/misc/Baslic @@ -34745,7 +35022,7 @@ move_type walk sleep 1 Wis 20 -level 19 +level 29 Str 10 Con 5 Pow 5 @@ -34829,12 +35106,12 @@ monster 1 move_type walk alive 1 -ac 8 +ac 7 wc 12 dam 6 -hp 25 -maxhp 25 -exp 55 +hp 35 +maxhp 35 +exp ... [truncated message content] |
From: <aki...@us...> - 2008-03-20 21:50:27
|
Revision: 3701 http://gridarta.svn.sourceforge.net/gridarta/?rev=3701&view=rev Author: akirschbaum Date: 2008-03-20 14:50:03 -0700 (Thu, 20 Mar 2008) Log Message: ----------- Open the pickmap chooser when the editor starts. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-03-20 21:44:58 UTC (rev 3700) +++ trunk/crossfire/ChangeLog 2008-03-20 21:50:03 UTC (rev 3701) @@ -1,3 +1,7 @@ +2008-03-20 Andreas Kirschbaum + + * Open the pickmap chooser when the editor starts. + 2008-03-19 Andreas Kirschbaum * Make saving settings work on Windows. Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-03-20 21:44:58 UTC (rev 3700) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-03-20 21:50:03 UTC (rev 3701) @@ -357,7 +357,7 @@ } if (archetypeSet.getLoadStatus() != ArchetypeSet.LoadStatus.EMPTY) { - mainView.getObjectChooser().getPickmapChooserControl().loadPickmaps(false); + mainView.getObjectChooser().getPickmapChooserControl().loadPickmaps(true); } final Document specialTreasureListsDocument; try { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-03-20 23:31:40
|
Revision: 3703 http://gridarta.svn.sourceforge.net/gridarta/?rev=3703&view=rev Author: akirschbaum Date: 2008-03-20 16:31:43 -0700 (Thu, 20 Mar 2008) Log Message: ----------- Fix #1879228 (More details in warning). Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/messages.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-03-20 22:22:08 UTC (rev 3702) +++ trunk/crossfire/ChangeLog 2008-03-20 23:31:43 UTC (rev 3703) @@ -1,3 +1,7 @@ +2008-03-21 Andreas Kirschbaum + + * Fix #1879228 (More details in warning). + 2008-03-20 Andreas Kirschbaum * Open the pickmap chooser when the editor starts. Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2008-03-20 22:22:08 UTC (rev 3702) +++ trunk/crossfire/src/cfeditor/messages.properties 2008-03-20 23:31:43 UTC (rev 3703) @@ -429,7 +429,7 @@ logExitWithoutExit=Trying to exit without System.exit(). logDuplicateAnimation=Duplicate Animation: {0} logInventoryInDefArch=Found inventory Object in def arch: {0} -logFoundCoordInDefArchSingleTileOrHead=Found {0} cmd in single tile or head (add it to arch text): {0} +logFoundCoordInDefArchSingleTileOrHead=Found {0} cmd in single tile or head (add it to arch text): {1} logDefArchWithZeroType=Arch {0} type number is zero. logDefArchWithInvalidTypeNr=Arch {0} has an invalid type nr: {1} logDefArchWithInvalidDirection=Arch {0} has an invalid direction: {1} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-03-29 15:55:27
|
Revision: 3771 http://gridarta.svn.sourceforge.net/gridarta/?rev=3771&view=rev Author: akirschbaum Date: 2008-03-29 08:55:31 -0700 (Sat, 29 Mar 2008) Log Message: ----------- Add updater module. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/action.properties trunk/crossfire/src/cfeditor/tod.properties trunk/crossfire/src/cfeditor/tod_de.properties Added Paths: ----------- trunk/crossfire/resource/icons/general/Search16.gif Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-03-29 11:39:13 UTC (rev 3770) +++ trunk/crossfire/ChangeLog 2008-03-29 15:55:31 UTC (rev 3771) @@ -1,3 +1,7 @@ +2008-03-29 Andreas Kirschbaum + + * Add updater module. + 2008-03-23 Andreas Kirschbaum * Make flood fill work again. Copied: trunk/crossfire/resource/icons/general/Search16.gif (from rev 3769, trunk/daimonin/resource/icons/general/Search16.gif) =================================================================== (Binary files differ) Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-03-29 11:39:13 UTC (rev 3770) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-03-29 15:55:31 UTC (rev 3771) @@ -73,6 +73,7 @@ import net.sf.gridarta.gui.map.MapView; import net.sf.gridarta.gui.prefs.MapValidatorPrefs; import net.sf.gridarta.gui.prefs.MiscPrefs; +import net.sf.gridarta.gui.prefs.UpdatePrefs; import net.sf.gridarta.gui.undo.UndoControl; import net.sf.gridarta.io.IOUtils; import net.sf.gridarta.map.AutoValidator; @@ -95,6 +96,7 @@ import net.sf.gridarta.textedit.scripteditor.ScriptEditControl; import net.sf.gridarta.treasurelist.CFTreasureListTree; import net.sf.gridarta.treasurelist.TreasureLocation; +import net.sf.gridarta.updater.UpdaterManager; import net.sf.japi.swing.ActionFactory; import net.sf.japi.swing.ActionMethod; import net.sf.japi.swing.misc.Progress; @@ -265,6 +267,8 @@ mainView = new CMainView(this, getMapManager(), mapManagerActions.getCloseAllAction()); new About("cfeditor", mainView); undoControl = new UndoControl<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic>(getMapManager()); + updaterManager = new UpdaterManager("cfeditor", this, mainView, "CrossfireEditor.jar"); + updaterManager.startup(); readGlobalSettings(); @@ -858,6 +862,7 @@ new ResPrefs(this), new GUIPrefs(), new MiscPrefs(), + new UpdatePrefs(), new MapValidatorPrefs<GameObject, MapArchObject, Archetype>("cfeditor", validators, PREFS_VALIDATOR_AUTO_DEFAULT) ); // prefsGroup } Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2008-03-29 11:39:13 UTC (rev 3770) +++ trunk/crossfire/src/cfeditor/action.properties 2008-03-29 15:55:31 UTC (rev 3771) @@ -39,7 +39,7 @@ view.menu=showMonster showExit showBackground showDoor showWall showEquipment showTreasure showConnected resetView - prevWindow nextWindow plugins.menu=- editPlugins - savePlugins importPlugin window.menu=closeAll -help.menu=onlineHelp tod about +help.menu=onlineHelp tod about update mapwindow.menubar=mapwindowFile mapwindowEdit mapwindowMap mapwindowCursor mapwindowView @@ -128,6 +128,8 @@ about.logo=icons/crossfireLogoSmall.png +update.url=http://www.eracc.com/files/crossfire/update.properties + moveTileTop.icon=navigation/Top16 moveTileUp.icon=navigation/Up16 moveTileDown.icon=navigation/Down16 Modified: trunk/crossfire/src/cfeditor/tod.properties =================================================================== --- trunk/crossfire/src/cfeditor/tod.properties 2008-03-29 11:39:13 UTC (rev 3770) +++ trunk/crossfire/src/cfeditor/tod.properties 2008-03-29 15:55:31 UTC (rev 3771) @@ -24,13 +24,14 @@ tod.text.1=<html>You can as well cycle through the tips using the arrow keys<br>(Arrow left / Arrow right) tod.text.2=<html>This Tip Of The Day window is non-modal.<p>That means the window may stay open while using the editor. -tod.text.3=<html>You can quickly cycle through open windows.<p>Menu: <code>View->Previous / Next Window</code>.<br>Keyboard: <kbd>Shift-Page Up</kbd> / <kbd>Shift-Page Down</kbd>. -tod.text.4=<html>How to use the mouse?<ul><li>To <em>select</em> tiles, use the left mouse button.<li>To <em>paint</em> (insert arches), use the right mouse button.<li>To <em>delete</em>, use the middle mouse button or hold Ctrl and use the right mouse button.</ul> -tod.text.5=<html>You can select all tiles of a map at once.<p>Menu: <code>Edit -> Select All</code><br>Keyboard: <kbd>Ctrl-A</kbd>. -tod.text.6=<html>The 10 most recently opened maps are quickly accessible.<p>Menu: <code>File -> Recent -> ...</code><br>Keyboard: <kbd>Alt-n</kbd> with n being a digit (1..9, 0) -tod.text.7=<html>How can you speed up the editor?<ul><li>Load arches from the collection<li>Use Linux<li>Use the latest Java version available</ul> -tod.text.8=<html>The editor does not load all images at startup.<p>Instead, it loads images as needed.<p>This is called "lazy image loading". -tod.text.9=<html>Many features have tooltips to help you.<p>Just hover the mouse over the thing you want to know about for a while. -tod.text.10=<html>To attach a map to other maps, you must save it first. -tod.text.11=<html>Beware when editing large maps. You might run out of memory.<br>Be sure to increase the heap size (-Xmx parameter) of Gridarta's Virtual Machine when editing large maps (e.g. 240\xD7240). -tod.text.12=<html>It's amazing how much archetypes you could find using "Search archetype".<p>Menu: <code>Archetypes -> Find archetype</code>. +tod.text.3=<html>You can online update the editor to get the latest version.<p>Menu: <code>Help -> Update</code>.<br>Keyboard: <kbd>Ctrl-U</kbd>. +tod.text.4=<html>You can quickly cycle through open windows.<p>Menu: <code>View->Previous / Next Window</code>.<br>Keyboard: <kbd>Shift-Page Up</kbd> / <kbd>Shift-Page Down</kbd>. +tod.text.5=<html>How to use the mouse?<ul><li>To <em>select</em> tiles, use the left mouse button.<li>To <em>paint</em> (insert arches), use the right mouse button.<li>To <em>delete</em>, use the middle mouse button or hold Ctrl and use the right mouse button.</ul> +tod.text.6=<html>You can select all tiles of a map at once.<p>Menu: <code>Edit -> Select All</code><br>Keyboard: <kbd>Ctrl-A</kbd>. +tod.text.7=<html>The 10 most recently opened maps are quickly accessible.<p>Menu: <code>File -> Recent -> ...</code><br>Keyboard: <kbd>Alt-n</kbd> with n being a digit (1..9, 0) +tod.text.8=<html>How can you speed up the editor?<ul><li>Load arches from the collection<li>Use Linux<li>Use the latest Java version available</ul> +tod.text.9=<html>The editor does not load all images at startup.<p>Instead, it loads images as needed.<p>This is called "lazy image loading". +tod.text.10=<html>Many features have tooltips to help you.<p>Just hover the mouse over the thing you want to know about for a while. +tod.text.11=<html>To attach a map to other maps, you must save it first. +tod.text.12=<html>Beware when editing large maps. You might run out of memory.<br>Be sure to increase the heap size (-Xmx parameter) of Gridarta's Virtual Machine when editing large maps (e.g. 240\xD7240). +tod.text.13=<html>It's amazing how much archetypes you could find using "Search archetype".<p>Menu: <code>Archetypes -> Find archetype</code>. Modified: trunk/crossfire/src/cfeditor/tod_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/tod_de.properties 2008-03-29 11:39:13 UTC (rev 3770) +++ trunk/crossfire/src/cfeditor/tod_de.properties 2008-03-29 15:55:31 UTC (rev 3771) @@ -24,13 +24,14 @@ tod.text.1=<html>Sie k\xF6nnen mit Hilfe der Pfeiltasten durch die Tipps navigieren.<br>(Pfeil links / Pfeil rechts) tod.text.2=<html>Dieses Tipps-Fenster ist nicht modal.<p>Das bedeutet, Sie k\xF6nnen es offen lassen, w\xE4hrend Sie den Editor verwenden. -tod.text.3=<html>Sie k\xF6nnen schnell zwischen ge\xF6ffneten Fenstern wechseln.<p>Men\xFC: <code>Ansicht->Vorheriges / N\xE4chstes Fenster.</code>.<br>Tastatur: <kbd>Umschalt-Bild Auf</kbd> / <kbd>Umschalt-Bild Ab</kbd>. -tod.text.4=<html>Wie man die Maus benutzt?<ul><li>Zum <em>Selektieren</em>, linke Maustaste.<li>Zum <em>Einf\xFCgen</em>, rechte Maustaste.<li>Zum <em>L\xF6schen</em>: mittlere Maustaste oder Strg+rechte Maustaste.</ul> -tod.text.5=<html>Sie k\xF6nnen alle Felder einer Karte gleichzeitig selektieren.<p>Men\xFC: <code>Bearbeiten -> Alles ausw\xE4hlen</code><br>Tastatur: <kbd>Strg-A</kbd>. -tod.text.6=<html>Sie k\xF6nnen die letzten 10 ge\xF6ffneten Karten einfach erreichen.<p>Men\xFC: <code>Datei -> Zuletzt ge\xF6ffnet -> ...</code><br>Tastatur: <kbd>Alt-n</kbd> wobei n eine Ziffer ist (1..9, 0) -tod.text.7=<html>Wie kann man den Editor beschleunigen?<ul><li>Vorbereitete Archetypen laden<li>Linux verwenden<li>Die aktuelle Java-Version verwenden</ul> -tod.text.8=<html>Der Editor l\xE4dt beim Start nicht alle Bilder.<p>Diese werden erst dann geladen, wenn sie tats\xE4chlich ben\xF6tigt werden.<p>Dieses Verfahren nennt man "lazy image loading". -tod.text.9=<html>Viele Features haben Tooltips.<p>Bleiben Sie mit der Maus \xFCber dem Element, f\xFCr das Sie Hilfe ben\xF6tigen, f\xFCr eine Weile stehen. -tod.text.10=<html>Um eine Karte mit anderen Karten zu verbinden m\xFCssen Sie diese zuerst sichern. -tod.text.11=<html>Vorsicht beim Bearbeiten von gro\xDFen Karten: der Platz im Hauptspeicher k\xF6nnte nicht ausreichen.<br>Vergr\xF6\xDFern Sie die "heap size" (Parameter -Xmx beim Aufruf von java) von Gridarta, wenn Sie gro\xDFe Karten (bspw. 240\xD7240) bearbeiten m\xF6chten. -tod.text.12=<html>Es ist verbl\xFCffend, wie viele Archetypen man mit "Archetypen finden" entdecken kann.<p>Men\xFC: <code>Archetypen -> Archetypen finden</code>. +tod.text.3=<html>Sie k\xF6nnen den Editor auf die aktuelle Version aktualisieren.<p>Men\xFC: <code>Hilfe -> Update</code>.<br>Tastatur: <kbd>Ctrl-U</kbd>. +tod.text.4=<html>Sie k\xF6nnen schnell zwischen ge\xF6ffneten Fenstern wechseln.<p>Men\xFC: <code>Ansicht->Vorheriges / N\xE4chstes Fenster.</code>.<br>Tastatur: <kbd>Umschalt-Bild Auf</kbd> / <kbd>Umschalt-Bild Ab</kbd>. +tod.text.5=<html>Wie man die Maus benutzt?<ul><li>Zum <em>Selektieren</em>, linke Maustaste.<li>Zum <em>Einf\xFCgen</em>, rechte Maustaste.<li>Zum <em>L\xF6schen</em>: mittlere Maustaste oder Strg+rechte Maustaste.</ul> +tod.text.6=<html>Sie k\xF6nnen alle Felder einer Karte gleichzeitig selektieren.<p>Men\xFC: <code>Bearbeiten -> Alles ausw\xE4hlen</code><br>Tastatur: <kbd>Strg-A</kbd>. +tod.text.7=<html>Sie k\xF6nnen die letzten 10 ge\xF6ffneten Karten einfach erreichen.<p>Men\xFC: <code>Datei -> Zuletzt ge\xF6ffnet -> ...</code><br>Tastatur: <kbd>Alt-n</kbd> wobei n eine Ziffer ist (1..9, 0) +tod.text.8=<html>Wie kann man den Editor beschleunigen?<ul><li>Vorbereitete Archetypen laden<li>Linux verwenden<li>Die aktuelle Java-Version verwenden</ul> +tod.text.9=<html>Der Editor l\xE4dt beim Start nicht alle Bilder.<p>Diese werden erst dann geladen, wenn sie tats\xE4chlich ben\xF6tigt werden.<p>Dieses Verfahren nennt man "lazy image loading". +tod.text.10=<html>Viele Features haben Tooltips.<p>Bleiben Sie mit der Maus \xFCber dem Element, f\xFCr das Sie Hilfe ben\xF6tigen, f\xFCr eine Weile stehen. +tod.text.11=<html>Um eine Karte mit anderen Karten zu verbinden m\xFCssen Sie diese zuerst sichern. +tod.text.12=<html>Vorsicht beim Bearbeiten von gro\xDFen Karten: der Platz im Hauptspeicher k\xF6nnte nicht ausreichen.<br>Vergr\xF6\xDFern Sie die "heap size" (Parameter -Xmx beim Aufruf von java) von Gridarta, wenn Sie gro\xDFe Karten (bspw. 240\xD7240) bearbeiten m\xF6chten. +tod.text.13=<html>Es ist verbl\xFCffend, wie viele Archetypen man mit "Archetypen finden" entdecken kann.<p>Men\xFC: <code>Archetypen -> Archetypen finden</code>. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-05-03 08:28:13
|
Revision: 3937 http://gridarta.svn.sourceforge.net/gridarta/?rev=3937&view=rev Author: akirschbaum Date: 2008-05-03 01:28:14 -0700 (Sat, 03 May 2008) Log Message: ----------- Create correct path names for new script files. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchData.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-05-03 08:12:27 UTC (rev 3936) +++ trunk/crossfire/ChangeLog 2008-05-03 08:28:14 UTC (rev 3937) @@ -1,5 +1,7 @@ 2008-05-03 Andreas Kirschbaum + * Create correct path names for new script files. + * Wait until archetype collection has finished before exiting the application. Modified: trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchData.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchData.java 2008-05-03 08:12:27 UTC (rev 3936) +++ trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchData.java 2008-05-03 08:28:14 UTC (rev 3937) @@ -49,6 +49,7 @@ import net.sf.gridarta.AbstractMainControl; import net.sf.gridarta.gameobject.scripts.PathButtonListener; import net.sf.gridarta.gameobject.scripts.UndefinedEventArchetypeException; +import net.sf.gridarta.io.PathManager; import net.sf.gridarta.textedit.scripteditor.ScriptEditControl; import net.sf.japi.swing.ActionFactory; import net.sf.japi.util.Arrays2; @@ -251,7 +252,7 @@ } defScriptName += "Script" + SCRIPT_ENDING; - return defScriptName; + return PathManager.getMapPath(new File(getLocalMapDir(), defScriptName).getPath()); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-05-04 18:18:45
|
Revision: 3973 http://gridarta.svn.sourceforge.net/gridarta/?rev=3973&view=rev Author: akirschbaum Date: 2008-05-04 11:18:49 -0700 (Sun, 04 May 2008) Log Message: ----------- Add "New Script" and "Edit Script" to Tools menu. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/action.properties trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-05-04 18:07:17 UTC (rev 3972) +++ trunk/crossfire/ChangeLog 2008-05-04 18:18:49 UTC (rev 3973) @@ -1,3 +1,7 @@ +2008-05-04 Andreas Kirschbaum + + * Add "New Script" and "Edit Script" to Tools menu. + 2008-05-03 Andreas Kirschbaum * Create correct path names for new script files. Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-05-04 18:07:17 UTC (rev 3972) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-05-04 18:18:49 UTC (rev 3973) @@ -254,7 +254,7 @@ archetypeSet = new ArchetypeSet(this, animationObjects); scriptControl = new ScriptController(this); mapCursorControl = new MapCursorControl<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic>("cfeditor", this, getMapManager()); - ACTION_FACTORY.createActions(true, this, "createNew", "open", "options", "exit", "gc", "onlineHelp", "tod", "about"); + ACTION_FACTORY.createActions(true, this, "createNew", "open", "options", "exit", "newScript", "editScript", "gc", "onlineHelp", "tod", "about"); mapManagerActions = new MapManagerActions<GameObject, MapArchObject, Archetype, MapControl, CMapViewBasic>(getMapManager()); readGlobalSettings(); objectChooser = new ObjectChooser(newMapDialogFactory, this, new File(mapDir, IGUIConstants.PICKMAP_DIR)); @@ -493,6 +493,16 @@ treasureListTree.showDialog(); } + /** Create and open a new script. */ + @ActionMethod public void newScript() { + ScriptEditControl.getInstance().openScriptNew(); + } + + /** Edit an existing script. */ + @ActionMethod public void editScript() { + openFileWanted(false); + } + public void onlineHelp() { mainView.openHelpWindow(); } Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2008-05-04 18:07:17 UTC (rev 3972) +++ trunk/crossfire/src/cfeditor/action.properties 2008-05-04 18:18:49 UTC (rev 3973) @@ -33,7 +33,7 @@ archetypes.menu=displayObjectNames findArchetypes #pickmaps.menu: See gridarta resources.menu=collectArches - viewTreasurelists -tools.menu=validateMap - gc +tools.menu=newScript editScript - validateMap - gc analyze.menu= view.menu=resetView - gridVisible - prevWindow nextWindow plugins.menu=- editPlugins - savePlugins importPlugin @@ -102,6 +102,10 @@ collectArches.icon=development/Jar16 +newScript.icon=general/New16 + +editScript.icon=general/Edit16 + gc.icon=general/Delete16 runPlugin.icon=RunPluginSmallIcon Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2008-05-04 18:07:17 UTC (rev 3972) +++ trunk/crossfire/src/cfeditor/messages.properties 2008-05-04 18:18:49 UTC (rev 3973) @@ -245,6 +245,12 @@ tools.text=Tools tools.mnemonic=T +newScript.text=New Script +newScript.mnemonic=N + +editScript.text=Edit Script +editScript.mnemonic=E + validateMap.text=Check map validateMap.mnemonic=M validateMap.shortdescription=Run map checker Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2008-05-04 18:07:17 UTC (rev 3972) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2008-05-04 18:18:49 UTC (rev 3973) @@ -222,6 +222,12 @@ tools.text=Werkzeuge tools.mnemonic=W +newScript.text=Neues Script +newScript.mnemonic=P + +editScript.text=Script \xE4ndern +#editScript.mnemonic= + validateMap.text=Karte pr\xFCfen validateMap.mnemonic=K validateMap.shortdescription=Karte auf Fehler pr\xFCfen Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2008-05-04 18:07:17 UTC (rev 3972) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2008-05-04 18:18:49 UTC (rev 3973) @@ -223,6 +223,12 @@ tools.text=Outils tools.mnemonic=O +newScript.text=Nouveau script +newScript.mnemonic=N + +editScript.text=Editer script +editScript.mnemonic=E + #validateMap.text= #validateMap.mnemonic= #validateMap.shortdescription= Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2008-05-04 18:07:17 UTC (rev 3972) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2008-05-04 18:18:49 UTC (rev 3973) @@ -221,6 +221,12 @@ tools.text=Verktyg tools.mnemonic=T +newScript.text=Nytt script +newScript.mnemonic=P + +editScript.text=Redigera Script +editScript.mnemonic=E + validateMap.text=Validera karta validateMap.mnemonic=V validateMap.shortdescription=K\xF6r kartvalideraren This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-05-07 22:23:22
|
Revision: 3974 http://gridarta.svn.sourceforge.net/gridarta/?rev=3974&view=rev Author: akirschbaum Date: 2008-05-07 15:23:13 -0700 (Wed, 07 May 2008) Log Message: ----------- Fix script related menu entries. Modified Paths: -------------- trunk/crossfire/src/cfeditor/messages_de.properties Added Paths: ----------- trunk/crossfire/resource/icons/general/Edit16.gif Copied: trunk/crossfire/resource/icons/general/Edit16.gif (from rev 3973, trunk/daimonin/resource/icons/general/Edit16.gif) =================================================================== (Binary files differ) Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2008-05-04 18:18:49 UTC (rev 3973) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2008-05-07 22:23:13 UTC (rev 3974) @@ -223,10 +223,10 @@ tools.mnemonic=W newScript.text=Neues Script -newScript.mnemonic=P +newScript.mnemonic=N editScript.text=Script \xE4ndern -#editScript.mnemonic= +editScript.mnemonic=S validateMap.text=Karte pr\xFCfen validateMap.mnemonic=K This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-05-17 09:11:22
|
Revision: 4009 http://gridarta.svn.sourceforge.net/gridarta/?rev=4009&view=rev Author: akirschbaum Date: 2008-05-17 02:11:21 -0700 (Sat, 17 May 2008) Log Message: ----------- Do not show archetypes from "intern" folders in archetype chooser. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-05-17 09:03:53 UTC (rev 4008) +++ trunk/crossfire/ChangeLog 2008-05-17 09:11:21 UTC (rev 4009) @@ -1,3 +1,8 @@ +2008-05-17 Andreas Kirschbaum + + * Do not show archetypes from "intern" folders in archetype + chooser. + 2008-05-04 Andreas Kirschbaum * Add "New Script" and "Edit Script" to Tools menu. Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java 2008-05-17 09:03:53 UTC (rev 4008) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java 2008-05-17 09:11:21 UTC (rev 4009) @@ -91,6 +91,7 @@ } else { archetype = prototype.createClone(0, 0); } + final boolean isInternPath; // path is needed when we don't read from collection because there is no editor_folder in arc files final String path; if (!mainControl.getArchetypeSet().isLoadedFromArchive() && archName == null) { @@ -100,8 +101,10 @@ } else { tmpPath = tmpPath.replace('\\', '/') + "/"; } + isInternPath = tmpPath.contains("/intern/"); path = tmpPath; } else { + isInternPath = false; path = null; } archetype.resetObjectText(); @@ -205,8 +208,8 @@ // add to head our x/y position so he can setup refmax firstArch.addTailPart(archetype); } else { - // add arch to the archpanel - only if it is not the map arch - if (!archetype.getArchetypeName().equals(STARTARCH_NAME)) { + // add arch to the archpanel - only if it is not the map arch and not in the intern folder + if (!isInternPath && !(editorFolder != null && editorFolder.contains("intern")) && !archetype.getArchetypeName().equals(STARTARCH_NAME)) { final String panel; final String folder; if (!mainControl.getArchetypeSet().isLoadedFromArchive() || archName != null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-05-22 08:49:07
|
Revision: 4046 http://gridarta.svn.sourceforge.net/gridarta/?rev=4046&view=rev Author: akirschbaum Date: 2008-05-22 01:48:59 -0700 (Thu, 22 May 2008) Log Message: ----------- Fix crash while collecting archetypes. From now on the collected files are slighly smaller than the files produced by Crossfire's collect script. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java trunk/crossfire/src/cfeditor/gameobject/face/FaceObject.java trunk/crossfire/src/cfeditor/gameobject/face/FaceObjects.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-05-22 07:50:25 UTC (rev 4045) +++ trunk/crossfire/ChangeLog 2008-05-22 08:48:59 UTC (rev 4046) @@ -1,3 +1,9 @@ +2008-05-22 Andreas Kirschbaum + + * Fix crash while collecting archetypes. From now on the collected + files are slighly smaller than the files produced by Crossfire's + collect script. + 2008-05-17 Andreas Kirschbaum * Do not show archetypes from "intern" folders in archetype Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java 2008-05-22 07:50:25 UTC (rev 4045) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java 2008-05-22 08:48:59 UTC (rev 4046) @@ -130,7 +130,7 @@ } else { setLoadedFromArchive(false); // don't load from the collected files fname = mainControl.getGlobalSettings().getArchDefaultFolder(); - loadArchetypesFromFiles(archetypeParser, new File(fname), 0, "default", "default", false, invObjects); // load arches & images from individual files + loadArchetypesFromFiles(archetypeParser, new File(fname), "/", 0, "default", "default", false, invObjects); // load arches & images from individual files } reportErrors(mainControl.getMainView()); @@ -177,13 +177,14 @@ * Loads all archetypes and faces by recursing through the <code>arch/</code> directory tree. * @param archetypeParser the archetype parser to use * @param f file path where we currently are + * @param relativeName the relative folder name * @param folderLevel level of the folder * @param panelName the panel to add archetypes to * @param folderName the folder to add archetypes to * @param noPanel set this to true if the file should be omitted from the panel. * @param invObjects collects all inventory objects */ - private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, final boolean noPanel, @NotNull final List<GameObject> invObjects) { + private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final String relativeName, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, final boolean noPanel, @NotNull final List<GameObject> invObjects) { final String name = f.getName(); if (f.isDirectory()) { // now, setup the arch panels @@ -194,7 +195,7 @@ if (entries != null) { Arrays.sort(entries); for (final String entry : entries) { - loadArchetypesFromFiles(archetypeParser, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, false, invObjects); + loadArchetypesFromFiles(archetypeParser, new File(f, entry), relativeName + entry + "/", folderLevel + 1, thisPanelName, thisFolderName, false, invObjects); } } } @@ -215,7 +216,7 @@ } else if (name.regionMatches(len - 4, ".png", 0, 4)) { //mainControl.setStatusText("Loading PNG: "+name); if (mainControl.getImageSet() == null || name.contains("." + mainControl.getImageSet() + ".")) { - addPNGFace(f.getAbsolutePath(), name); + addPNGFace(f.getAbsolutePath(), name, relativeName); } } } @@ -281,12 +282,15 @@ * facelist. * @param filename filename, absolute path * @param name name of the png (e.g. blocked.111.png) + * @param originalPathname the original path name */ - private void addPNGFace(final String filename, final String name) { + private void addPNGFace(final String filename, final String name, final String originalPathname) { + final int slashPos = originalPathname.lastIndexOf('/', originalPathname.length() - 2); + assert slashPos != -1; final String facename = generateFaceName(name); final int stripPath = new File(mainControl.getGlobalSettings().getArchDefaultFolder()).getAbsolutePath().length(); try { - mainControl.getFaceObjects().addFaceObject(facename, filename.substring(stripPath, filename.length() - 4).replace('\\', '/'), null, filename, 0, (int) new File(filename).length()); + mainControl.getFaceObjects().addFaceObject(facename, originalPathname.substring(0, slashPos + 1) + facename, null, filename, 0, (int) new File(filename).length()); } catch (final DuplicateFaceException e) { ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getFilename(), e.getExisting().getFilename()); } Modified: trunk/crossfire/src/cfeditor/gameobject/face/FaceObject.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/face/FaceObject.java 2008-05-22 07:50:25 UTC (rev 4045) +++ trunk/crossfire/src/cfeditor/gameobject/face/FaceObject.java 2008-05-22 08:48:59 UTC (rev 4046) @@ -41,7 +41,6 @@ /** The Logger for printing log messages. */ private static final Logger log = Logger.getLogger(FaceObject.class); - //private ImageIcon face; private Reference<ImageIcon> face = null; /** @@ -62,15 +61,16 @@ /** * Creates a FaceObject along with information used for lazy loading. - * @param faceName name of face, e.g. <samp>"robe.101"</samp> - * @param originalFilename original filename, e.g. <samp>"arch/objects/misc/robe.101.png"</samp> + * @param faceName name of face, e.g. <samp>"bug.111"</samp> + * @param originalFilename original filename, e.g. + * <samp>"/system/bug.111"</samp> * @param resourceDirectory Directory to load data from. * @param resourceName Name of the file to load data from. * @param offset offset in the file denoted by <var>actualFilename</var>, e.g. <samp>148676</samp> * @param size size in the file denoted by <var>actualFilename</var>, e.g. <samp>567</samp>, */ public FaceObject(final String faceName, final String originalFilename, final String resourceDirectory, final String resourceName, final int offset, final int size) { - super(faceName, originalFilename, resourceDirectory); // FIXME: Directory isn't really correct. + super(faceName, originalFilename, originalFilename); this.resourceDirectory = resourceDirectory; this.resourceName = resourceName; this.offset = offset; @@ -132,4 +132,8 @@ return getOriginalFilename(); } + public String getActualFilename() { + return resourceName; + } + } // class FaceObject Modified: trunk/crossfire/src/cfeditor/gameobject/face/FaceObjects.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/face/FaceObjects.java 2008-05-22 07:50:25 UTC (rev 4045) +++ trunk/crossfire/src/cfeditor/gameobject/face/FaceObjects.java 2008-05-22 08:48:59 UTC (rev 4046) @@ -211,7 +211,7 @@ // add new face try { - addFaceObject(face, "null", baseDir + "/" + IGUIConstants.PNG_FILE, actualFilename, pos, size); + addFaceObject(face, face, baseDir + "/" + IGUIConstants.PNG_FILE, actualFilename, pos, size); // XXX: originalFilename is incorrect: it missed the path } catch (final DuplicateFaceException ex) { log.warn("Duplicate face " + face); } @@ -230,11 +230,6 @@ binFile = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(dfile))); - // write number 0 dummy entry - final String num = Integer.toString(0); - final String def = "00000"; - final String numstring = def.substring(0, 5 - num.length()) + num; - final Iterator<FaceObject> it = iterator(); if (!it.hasNext()) { @@ -243,7 +238,7 @@ } final FaceObject faceObject1 = it.next(); - final String path1 = faceObject1.getPath(); + final String path1 = faceObject1.getActualFilename(); final byte[] imgBuffer = new byte[IMAGE_BUFFER_SIZE]; int numBytes; try { @@ -266,7 +261,7 @@ return; } - binFile.writeBytes("IMAGE " + numstring + " " + numBytes + " ./arch/system/bug.111\n"); + binFile.writeBytes("IMAGE 0 " + numBytes + " /system/bug.111\n"); binFile.write(imgBuffer, 0, numBytes); final int numOfFaceObjects = size(); @@ -274,9 +269,7 @@ int i = 0; while (it.hasNext()) { final FaceObject faceObject = it.next(); - final String num2 = Integer.toString(i + 1); - final String numstring2 = def.substring(0, 5 - num2.length()) + num2; - final String path = faceObject.getPath(); + final String path = faceObject.getActualFilename(); try { final FileInputStream fin = new FileInputStream(path); @@ -298,11 +291,8 @@ return; } - // create path string - final String pname = getPathName(faceObject); - // now write this png data into the big collected png file - binFile.writeBytes("IMAGE " + numstring2 + " " + numBytes + " " + pname + faceObject.getName() + "\n"); + binFile.writeBytes("IMAGE " + (i + 1) + " " + numBytes + " " + faceObject.getPath() + "\n"); binFile.write(imgBuffer, 0, numBytes); if (i++ % 100 == 0) { @@ -322,9 +312,8 @@ try { int i = 0; for (final FaceObject faceObject : this) { - final String face = faceObject.getFaceName(); - final String path = getPathName(faceObject); - treeFile.append(String.format("\\%05d\t%s\n", i, path.replace('\\', '/') + face)); + final String path = faceObject.getPath(); + treeFile.append(String.format("%05d\t%s\n", i, path)); if (i++ % 100 == 0) { progress.setValue(i); } @@ -334,28 +323,4 @@ } } - /** - * Return the path name of a face object relative to the archetype - * directory. - * - * @param faceObject The face object. - * - * @return The relative path name. - */ - private String getPathName(final FaceObject faceObject) { - final String pname1; - int tmp; - if ((tmp = faceObject.getPath().indexOf("arch" + File.separator)) >= 0) { - // cut off the path before "arch" - pname1 = faceObject.getPath().substring(tmp).replace('\\', '/').replace('.', '%'); - } else if ((tmp = faceObject.getPath().indexOf("arch")) >= 0) { - // cut off the path before "arch" - pname1 = faceObject.getPath().substring(tmp).replace('\\', '/').replace('.', '%'); - } else { - // hope nobody renames his arch-dir and ends up in here - pname1 = "arch" + faceObject.getPath().substring(mainControl.getGlobalSettings().getArchDefaultFolder().length()).replace('\\', '/'); - } - return "./" + pname1.substring(0, pname1.lastIndexOf("/") + 1); - } - } // class FaceObjects This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-06-04 21:40:01
|
Revision: 4103 http://gridarta.svn.sourceforge.net/gridarta/?rev=4103&view=rev Author: akirschbaum Date: 2008-06-04 14:22:09 -0700 (Wed, 04 Jun 2008) Log Message: ----------- Add zoom tool. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/action.properties trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties trunk/crossfire/src/cfeditor/tod.properties trunk/crossfire/src/cfeditor/tod_de.properties Added Paths: ----------- trunk/crossfire/resource/icons/general/Zoom16.gif Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/ChangeLog 2008-06-04 21:22:09 UTC (rev 4103) @@ -1,3 +1,7 @@ +2008-06-04 Andreas Kirschbaum + + * Add zoom tool. + 2008-05-30 Andreas Kirschbaum * Implement Map|Shrink Map Size: remove empty tiles from a map's Copied: trunk/crossfire/resource/icons/general/Zoom16.gif (from rev 4093, trunk/daimonin/resource/icons/general/Zoom16.gif) =================================================================== (Binary files differ) Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-06-04 21:22:09 UTC (rev 4103) @@ -66,6 +66,7 @@ import net.sf.gridarta.gui.MainView; import net.sf.gridarta.gui.MapFileFilter; import net.sf.gridarta.gui.MapManagerActions; +import net.sf.gridarta.gui.MapPreview; import net.sf.gridarta.gui.RecentManager; import net.sf.gridarta.gui.SystemIcons; import net.sf.gridarta.gui.connectionview.LockedItemsControl; @@ -231,7 +232,7 @@ archetypeSet = new ArchetypeSet(this, animationObjects); scriptControl = new ScriptController(this); mapCursorControl = new MapCursorControl<GameObject, MapArchObject, Archetype, CMapViewBasic>("cfeditor", this, getMapManager()); - ACTION_FACTORY.createActions(true, this, "createNew", "open", "options", "exit", "newScript", "editScript", "gc", "onlineHelp", "tod", "about"); + ACTION_FACTORY.createActions(true, this, "createNew", "open", "options", "exit", "newScript", "editScript", "zoom", "gc", "onlineHelp", "tod", "about"); mapManagerActions = new MapManagerActions<GameObject, MapArchObject, Archetype, CMapViewBasic>(getMapManager()); globalSettings.readGlobalSettings(); PathManager.setGlobalSettings(globalSettings); @@ -853,6 +854,16 @@ return scriptControl; } + /** Calls for zooming preview tool. */ + public void zoom() { + final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> currentMap = getMapManager().getCurrentMap(); + if (currentMap == null) { + JOptionPane.showMessageDialog(mainView, "No map loaded! Please load a map!!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + new MapPreview(getGridartaObjectsFactory().newSimpleLevelRenderer(currentMap.getMapModel(), archetypeSet).getFullImage()); + } + /** {@inheritDoc} */ public CFArchTypeList getTypeList() { return typeList; Modified: trunk/crossfire/src/cfeditor/action.properties =================================================================== --- trunk/crossfire/src/cfeditor/action.properties 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/src/cfeditor/action.properties 2008-06-04 21:22:09 UTC (rev 4103) @@ -33,7 +33,7 @@ archetypes.menu=displayObjectNames findArchetypes #pickmaps.menu: See gridarta resources.menu=collectArches - viewTreasurelists -tools.menu=newScript editScript - validateMap - gc +tools.menu=newScript editScript - validateMap - zoom gc analyze.menu= view.menu=resetView - gridVisible - prevWindow nextWindow plugins.menu=- editPlugins - savePlugins importPlugin Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/src/cfeditor/messages.properties 2008-06-04 21:22:09 UTC (rev 4103) @@ -259,6 +259,9 @@ validateMap.mnemonic=M validateMap.shortdescription=Run map checker +zoom.text=Zoom +zoom.mnemonic=Z + gc.text=Run Garbage Collection gc.mnemonic=G Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2008-06-04 21:22:09 UTC (rev 4103) @@ -236,6 +236,9 @@ validateMap.mnemonic=K validateMap.shortdescription=Karte auf Fehler pr\xFCfen +zoom.text=Zoom +zoom.mnemonic=Z + gc.text=Starte Garbage Collection gc.mnemonic=G Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2008-06-04 21:22:09 UTC (rev 4103) @@ -237,6 +237,9 @@ #validateMap.mnemonic= #validateMap.shortdescription= +zoom.text=Zoom +zoom.mnemonic=Z + gc.text=Garbage Collection gc.mnemonic=G Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2008-06-04 21:22:09 UTC (rev 4103) @@ -235,6 +235,9 @@ validateMap.mnemonic=V validateMap.shortdescription=K\xF6r kartvalideraren +zoom.text=Zoom +zoom.mnemonic=Z + gc.text=G\xF6r garbage collection gc.mnemonic=G Modified: trunk/crossfire/src/cfeditor/tod.properties =================================================================== --- trunk/crossfire/src/cfeditor/tod.properties 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/src/cfeditor/tod.properties 2008-06-04 21:22:09 UTC (rev 4103) @@ -31,7 +31,8 @@ tod.text.7=<html>The 10 most recently opened maps are quickly accessible.<p>Menu: <code>File -> Recent -> ...</code><br>Keyboard: <kbd>Alt-n</kbd> with n being a digit (1..9, 0) tod.text.8=<html>How can you speed up the editor?<ul><li>Load arches from the collection<li>Use Linux<li>Use the latest Java version available</ul> tod.text.9=<html>The editor does not load all images at startup.<p>Instead, it loads images as needed.<p>This is called "lazy image loading". -tod.text.10=<html>Many features have tooltips to help you.<p>Just hover the mouse over the thing you want to know about for a while. -tod.text.11=<html>To attach a map to other maps, you must save it first. -tod.text.12=<html>Beware when editing large maps. You might run out of memory.<br>Be sure to increase the heap size (-Xmx parameter) of Gridarta's Virtual Machine when editing large maps (e.g. 240\xD7240). -tod.text.13=<html>It's amazing how much archetypes you could find using "Search archetype".<p>Menu: <code>Archetypes -> Find archetype</code>. +tod.text.10=<html>The zoom feature knows different zoom resolutions.<p>This is a nice feature especially for map artists that want to publish previews. +tod.text.11=<html>Many features have tooltips to help you.<p>Just hover the mouse over the thing you want to know about for a while. +tod.text.12=<html>To attach a map to other maps, you must save it first. +tod.text.13=<html>Beware when editing large maps. You might run out of memory.<br>Be sure to increase the heap size (-Xmx parameter) of Gridarta's Virtual Machine when editing large maps (e.g. 240\xD7240). +tod.text.14=<html>It's amazing how much archetypes you could find using "Search archetype".<p>Menu: <code>Archetypes -> Find archetype</code>. Modified: trunk/crossfire/src/cfeditor/tod_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/tod_de.properties 2008-06-04 21:20:44 UTC (rev 4102) +++ trunk/crossfire/src/cfeditor/tod_de.properties 2008-06-04 21:22:09 UTC (rev 4103) @@ -31,7 +31,8 @@ tod.text.7=<html>Sie k\xF6nnen die letzten 10 ge\xF6ffneten Karten einfach erreichen.<p>Men\xFC: <code>Datei -> Zuletzt ge\xF6ffnet -> ...</code><br>Tastatur: <kbd>Alt-n</kbd> wobei n eine Ziffer ist (1..9, 0) tod.text.8=<html>Wie kann man den Editor beschleunigen?<ul><li>Vorbereitete Archetypen laden<li>Linux verwenden<li>Die aktuelle Java-Version verwenden</ul> tod.text.9=<html>Der Editor l\xE4dt beim Start nicht alle Bilder.<p>Diese werden erst dann geladen, wenn sie tats\xE4chlich ben\xF6tigt werden.<p>Dieses Verfahren nennt man "lazy image loading". -tod.text.10=<html>Viele Features haben Tooltips.<p>Bleiben Sie mit der Maus \xFCber dem Element, f\xFCr das Sie Hilfe ben\xF6tigen, f\xFCr eine Weile stehen. -tod.text.11=<html>Um eine Karte mit anderen Karten zu verbinden m\xFCssen Sie diese zuerst sichern. -tod.text.12=<html>Vorsicht beim Bearbeiten von gro\xDFen Karten: der Platz im Hauptspeicher k\xF6nnte nicht ausreichen.<br>Vergr\xF6\xDFern Sie die "heap size" (Parameter -Xmx beim Aufruf von java) von Gridarta, wenn Sie gro\xDFe Karten (bspw. 240\xD7240) bearbeiten m\xF6chten. -tod.text.13=<html>Es ist verbl\xFCffend, wie viele Archetypen man mit "Archetypen finden" entdecken kann.<p>Men\xFC: <code>Archetypen -> Archetypen finden</code>. +tod.text.10=<html>Das Werkzeug "Zoom" unterst\xFCtzt verschiedene Verg\xF6\xDFerungsstufen.<p>Dadurch ist es ein interessantes Feature f\xFCr Autoren, die Ansichten ihrer Karten ver\xF6ffentlichen m\xF6chten. +tod.text.11=<html>Viele Features haben Tooltips.<p>Bleiben Sie mit der Maus \xFCber dem Element, f\xFCr das Sie Hilfe ben\xF6tigen, f\xFCr eine Weile stehen. +tod.text.12=<html>Um eine Karte mit anderen Karten zu verbinden m\xFCssen Sie diese zuerst sichern. +tod.text.13=<html>Vorsicht beim Bearbeiten von gro\xDFen Karten: der Platz im Hauptspeicher k\xF6nnte nicht ausreichen.<br>Vergr\xF6\xDFern Sie die "heap size" (Parameter -Xmx beim Aufruf von java) von Gridarta, wenn Sie gro\xDFe Karten (bspw. 240\xD7240) bearbeiten m\xF6chten. +tod.text.14=<html>Es ist verbl\xFCffend, wie viele Archetypen man mit "Archetypen finden" entdecken kann.<p>Men\xFC: <code>Archetypen -> Archetypen finden</code>. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-06-07 06:33:08
|
Revision: 4161 http://gridarta.svn.sourceforge.net/gridarta/?rev=4161&view=rev Author: akirschbaum Date: 2008-06-06 23:33:14 -0700 (Fri, 06 Jun 2008) Log Message: ----------- Implement #1816943 (Don't close current map when using ctrl-e/arrow). Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/MapActions.java trunk/crossfire/src/cfeditor/messages.properties trunk/crossfire/src/cfeditor/messages_de.properties trunk/crossfire/src/cfeditor/messages_fr.properties trunk/crossfire/src/cfeditor/messages_sv.properties Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-06-07 06:26:13 UTC (rev 4160) +++ trunk/crossfire/ChangeLog 2008-06-07 06:33:14 UTC (rev 4161) @@ -1,3 +1,7 @@ +2008-06-07 Andreas Kirschbaum + + * Implement #1816943 (Don't close current map when using ctrl-e/arrow). + 2008-06-04 Andreas Kirschbaum * Add zoom tool. Modified: trunk/crossfire/src/cfeditor/MapActions.java =================================================================== --- trunk/crossfire/src/cfeditor/MapActions.java 2008-06-07 06:26:13 UTC (rev 4160) +++ trunk/crossfire/src/cfeditor/MapActions.java 2008-06-07 06:33:14 UTC (rev 4161) @@ -31,6 +31,7 @@ import java.io.IOException; import java.util.prefs.Preferences; import javax.swing.Action; +import javax.swing.JOptionPane; import net.sf.gridarta.CommonConstants; import net.sf.gridarta.CurrentMapListener; import net.sf.gridarta.MainControl; @@ -322,7 +323,10 @@ } newMapView.getView().setCursorPosition(exitPos); - mapManager.closeView(currentMapView); + if (newMapView != null && JOptionPane.YES_OPTION == ACTION_FACTORY.showOnetimeConfirmDialog(mainControl.getMainView(), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, "enterExitClose")) { + // only close current level if a new file was opened and user wants to close it + mapManager.closeView(currentMapView); + } } if (log.isDebugEnabled()) { log.debug("exit: '" + path + "' " + exitPos.x + ", " + exitPos.y); @@ -410,7 +414,10 @@ newMapView.getView().setViewPosition(calculateNewViewPosition(currentMapView.getView(), newMapView.getView(), direction)); - mapManager.closeView(currentMapView); + if (newMapView != null && JOptionPane.YES_OPTION == ACTION_FACTORY.showOnetimeConfirmDialog(mainControl.getMainView(), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, "enterExitClose")) { + // only close current level if a new file was opened and user wants to close it + mapManager.closeView(currentMapView); + } } /** Modified: trunk/crossfire/src/cfeditor/messages.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages.properties 2008-06-07 06:26:13 UTC (rev 4160) +++ trunk/crossfire/src/cfeditor/messages.properties 2008-06-07 06:33:14 UTC (rev 4161) @@ -48,6 +48,9 @@ openFileOutOfMapBoundsDeleted.title=Loading mapfile {0} openFileOutOfMapBoundsDeleted.message=Deleted {1} game objects outside map bounds:{2} +enterExitClose.title=Close previous map? +enterExitClose.message=You''ve opened a new map.\nShould I close the previous one? + enterExitRandomDestination.title=Destination invalid enterExitRandomDestination.message=The destination of this exit is a random map. enterExitNotSaved.title=Map not saved Modified: trunk/crossfire/src/cfeditor/messages_de.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_de.properties 2008-06-07 06:26:13 UTC (rev 4160) +++ trunk/crossfire/src/cfeditor/messages_de.properties 2008-06-07 06:33:14 UTC (rev 4161) @@ -45,6 +45,9 @@ openFileOutOfMapBoundsDeleted.title=Karte {0} laden openFileOutOfMapBoundsDeleted.message={1} Objekte wurden gel\xF6scht, da sie nicht innerhalb der Katenfl\xE4che liegen:{2} +enterExitClose.title=Letzte Karte schlie\xDFen? +enterExitClose.message=Sie haben eine neue Karte ge\xF6ffnet.\nSoll die letzte Karte geschlossen werden? + enterExitRandomDestination.title=Ziel ung\xFCltig enterExitRandomDestination.message=Der Ausgang zeigt auf eine zuf\xE4llig generierte Karte. enterExitNotSaved.title=Karte nicht gesichert Modified: trunk/crossfire/src/cfeditor/messages_fr.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_fr.properties 2008-06-07 06:26:13 UTC (rev 4160) +++ trunk/crossfire/src/cfeditor/messages_fr.properties 2008-06-07 06:33:14 UTC (rev 4161) @@ -46,6 +46,9 @@ #openFileOutOfMapBoundsDeleted.title= #openFileOutOfMapBoundsDeleted.message= +#enterExitClose.title= +#enterExitClose.message= + #enterExitRandomDestination.title= #enterExitRandomDestination.message= #enterExitNotSaved.title= Modified: trunk/crossfire/src/cfeditor/messages_sv.properties =================================================================== --- trunk/crossfire/src/cfeditor/messages_sv.properties 2008-06-07 06:26:13 UTC (rev 4160) +++ trunk/crossfire/src/cfeditor/messages_sv.properties 2008-06-07 06:33:14 UTC (rev 4161) @@ -44,6 +44,9 @@ openFileOutOfMapBoundsDeleted.title=Laddar kartfil {0} #openFileOutOfMapBoundsDeleted.message= +#enterExitClose.title= +#enterExitClose.message= + #enterExitRandomDestination.title= #enterExitRandomDestination.message= #enterExitNotSaved.title= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-06-07 12:55:17
|
Revision: 4166 http://gridarta.svn.sourceforge.net/gridarta/?rev=4166&view=rev Author: akirschbaum Date: 2008-06-07 05:55:24 -0700 (Sat, 07 Jun 2008) Log Message: ----------- Do not crash if the destination map in 'enter exit' cannot be opened. Modified Paths: -------------- trunk/crossfire/ChangeLog trunk/crossfire/src/cfeditor/MapActions.java Modified: trunk/crossfire/ChangeLog =================================================================== --- trunk/crossfire/ChangeLog 2008-06-07 06:48:39 UTC (rev 4165) +++ trunk/crossfire/ChangeLog 2008-06-07 12:55:24 UTC (rev 4166) @@ -1,5 +1,8 @@ 2008-06-07 Andreas Kirschbaum + * Do not crash if the destination map in 'enter exit' cannot be + opened. + * Implement #1816943 (Don't close current map when using ctrl-e/arrow). 2008-06-04 Andreas Kirschbaum Modified: trunk/crossfire/src/cfeditor/MapActions.java =================================================================== --- trunk/crossfire/src/cfeditor/MapActions.java 2008-06-07 06:48:39 UTC (rev 4165) +++ trunk/crossfire/src/cfeditor/MapActions.java 2008-06-07 12:55:24 UTC (rev 4166) @@ -315,6 +315,9 @@ } final MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> newMapView = mapManager.openMapFileWithView(newfile, null); // open the new map + if (newMapView == null) { + return; + } if (exitPos.x == 0 && exitPos.y == 0) { // use the entry point defined by the map header This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |