Dungeon libraries idea

Questions about how to create your own dungeons and replacement graphics and sounds.

Moderator: George Gilbert

Forum rules
Please read the Forum rules and policies before posting.
Post Reply
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Dungeon libraries idea

Post by beowuuf »

I wanted to start a sticky thread for dungeon libraries - small text files with everything you need to create a cool mechanic in the dungeon that can be copied and pasted.

I don't mean paste an example and say 'yeah, if you take that thing and rename that thing you could use it' I mean a text file with 'Paste these lines into your clone section of your dungeon' and 'paste these objects into your main dungeon'

In this regard you would need to use RTC's ability to speficy uniue alpha numerics to items - probably with your user name to start with so you get instant credit : )

We'd msybr also need to provisionally agree on a 'library space' in a dungeon. Obviously you can edit where items would go to be copied and pasted when the main dungeon is viewed, but for new people they'd know they don't have to mess around with text they don't understand well yet, that a set of items would just appear in the top right corner of the HoC if they paste these lines in (maybe 0,32, or 0,0, and you say the dimensions of your library space, like 2x2 or 3x3

Anyay, just an idea since there are a few examples that some people might like to copy/paste into dungeon, and there might be easy mecahnics that new people don't quite know how to do that they might like (in old DM it would be torch sconces and clickable toggling levers!)
User avatar
linflas
My other avatar is gay
Posts: 2445
Joined: Tue Nov 04, 2003 9:58 pm
Location: Lille, France
Contact:

Post by linflas »

could be interesting for new bitmaps/new objects too... some "unzip this into RTC directory, put these lines in your RTC file" things and several people could add their contributions for a complete new set of items.

(if you're ok, i'll start with a selection of germanja's bitmaps converted in png for RTC soon)
User avatar
THOM
Artisan
Posts: 198
Joined: Sat Feb 28, 2004 9:22 pm
Location: Cologne, Germany
Contact:

Post by THOM »

i am VERY interested in new bitmaps.
i could add some, too. But that will take a little bit time cos my job needs me right now...
User avatar
Daecon
Expert
Posts: 329
Joined: Tue May 16, 2006 1:56 pm
Location: Upper Hutt, New Zealand

Post by Daecon »

So as an example, let's say I wanted to create an item that can be used to summon a monster, like the Pied Piper's pipe which when blown will make a Rat appear, I would paste this:

Code: Select all

/******************************************************************************/
/* New - Methods                                                              */
/******************************************************************************/
[New - Methods]
ADD		ATTACK_METHOD_CALL		NAME=(CALL)	TYPE=(PRIEST)	ACTION=(ACTION_CREATE_NEW_ON_FLOOR,MONSTER_RAT_PAIN,NULL)	STRENGTH=(50)	LEVEL=(0)	ENERGY=(1)	TIME=(20)	CHARGES_USED=(0)	MANA_USED=(0)	SOUNDS=(SUCCESS:SOUND_ATTACK_HORN,FAILURE:SOUND_ATTACK_HORN)	

/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		MISC_PIED_PIPE			CLONES=(MISC_HORN_FEAR)					NAME=(PIED PIPE)	METHODS=(ATTACK_METHOD_CALL,NULL,NULL)	

/******************************************************************************/
Hmm... actually that could be quite useful for booby-traping items, you think you've just discovered a Firestaff but when you select "Invoke"... Oops! It lied and summoned a Dragon to attack you instead!
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Basically yes

And as a bonus you can place an explaination int othe text file too to xplain the workings :)

You can also paste dungeon items from your own dungeon into other peoples, as long as there was an agreed area of dead space - you can then copy and paste where needed
User avatar
THOM
Artisan
Posts: 198
Joined: Sat Feb 28, 2004 9:22 pm
Location: Cologne, Germany
Contact:

Post by THOM »

I found a solution for torches in sconces that emits flickering light.

In combination with that I found a solution for those sconces toggeling the flickering light while being filled or not.

It works like that:

Code: Select all


/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		FLOORITEM_LIGHT_TORCH_190	CLONES=(FLOORITEM_LIGHT)				NAME=(LIGHT Torch 190)	PROPERTIES=(DEFAULT_STRENGTH:190)
ADD		FLOORITEM_LIGHT_TORCH_195	CLONES=(FLOORITEM_LIGHT)				NAME=(LIGHT Torch 195)	PROPERTIES=(DEFAULT_STRENGTH:195)	
ADD		FLOORITEM_LIGHT_TORCH_200	CLONES=(FLOORITEM_LIGHT)				NAME=(LIGHT Torch 200)	PROPERTIES=(DEFAULT_STRENGTH:200)
ADD		FLOORITEM_LIGHT_0			CLONES=(FLOORITEM_LIGHT)				NAME=(LIGHT_0)	






/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]

; Level 1
ref010501-3	FLOORITEM_TRIGGER			4	2	1			OPBY=(PARTY)	
ACTION=(ACTIVATE)	TARGET=(ref012103-1)	OPTIONS=(DISABLE_SELF)
ref081316-2	FLOORITEM_LIGHT_0			4	3	1			STRENGTH=(0)
ref121206-1	WALLITEM_SCONCE_DM2		4	4	1	NORTH		OPBY=(MOUSE)	ACTION=(ACTIVATE)	
TARGET=(ref121206-6,ref121206-7,ref121206-8,ref121206-9)	OPTIONS=(SOUND:NULL)
ref121206-2	WALLITEM_ACTION			4	4	1	CENTRE	
ACTION=(ACTION_SWAP_TILE_LOCAL,FLOORITEM_LIGHT_0,FLOORITEM_LIGHT_TORCH_195)	STRENGTH=(0)
ref121206-3	WALLITEM_ACTION			4	4	1	CENTRE	
ACTION=(ACTION_SWAP_TILE_LOCAL,FLOORITEM_LIGHT_TORCH_200,FLOORITEM_LIGHT_0)	STRENGTH=(0)
ref121206-4	WALLITEM_ACTION			4	4	1	CENTRE	
ACTION=(ACTION_SWAP_TILE_LOCAL,FLOORITEM_LIGHT_TORCH_190,FLOORITEM_LIGHT_0)	STRENGTH=(0)
ref121206-5	WALLITEM_ACTION			4	4	1	CENTRE	
ACTION=(ACTION_SWAP_TILE_LOCAL,FLOORITEM_LIGHT_TORCH_195,FLOORITEM_LIGHT_0)	STRENGTH=(0)
ref121206-6	WALLITEM_RELAY			4	4	1	CENTRE	
CONDITION=(PARTY:OBJECT_ON_MOUSE,EQUAL_TO,OBJECT:WEAPON_TORCH_DM2)	ACTION=(ACTIVATE)	
TARGET=(ref121206-3,ref121206-4,ref121206-5)
ref121206-8	WALLITEM_RELAY			4	4	1	CENTRE	
CONDITION=(PARTY:OBJECT_ON_MOUSE,EQUAL_TO,OBJECT:WEAPON_TORCH_DM2_AFULL)	ACTION=(ACTIVATE)	
TARGET=(ref121206-3,ref121206-4,ref121206-5)
ref121206-9	WALLITEM_RELAY			4	4	1	CENTRE	
CONDITION=(PARTY:OBJECT_ON_MOUSE,EQUAL_TO,OBJECT:WEAPON_TORCH_DM2_AEMPTY)	ACTION=(ACTIVATE)	
TARGET=(ref121206-3,ref121206-4,ref121206-5)
ref121206-7	WALLITEM_RELAY			4	4	1	CENTRE	
CONDITION=(PARTY:OBJECT_ON_MOUSE,EQUAL_TO,OBJECT:NULL)	ACTION=(ACTIVATE)	TARGET=(ref121206-2)
ref012103-1	WALLITEM_RELAY			3	5	1	CENTRE	ACTION=(ACTIVATE)	
TARGET=(ref012404-3,ref012104-5)	OPTIONS=(DELAY:1)
ref012203-1	WALLITEM_RELAY			4	5	1	CENTRE	ACTION=(ACTIVATE)	
TARGET=(ref012404-3,ref012204-3)	OPTIONS=(DELAY:1)
ref012404-3	WALLITEM_ACTION			5	5	1	CENTRE	
ACTION=(ACTION_SWAP_GLOBAL,FLOORITEM_LIGHT_TORCH_195,FLOORITEM_LIGHT_TORCH_200)	STRENGTH=(0)
ref012504-2	WALLITEM_ACTION			6	5	1	CENTRE	
ACTION=(ACTION_SWAP_GLOBAL,FLOORITEM_LIGHT_TORCH_200,FLOORITEM_LIGHT_TORCH_190)	STRENGTH=(0)
ref012604-1	WALLITEM_ACTION			7	5	1	CENTRE	
ACTION=(ACTION_SWAP_GLOBAL,FLOORITEM_LIGHT_TORCH_190,FLOORITEM_LIGHT_TORCH_195)	STRENGTH=(0)
ref012104-5	WALLITEM_RELAY			3	6	1	CENTRE	ACTION=(ACTIVATE)	
TARGET=(ref012504-2,ref012105-2)	OPTIONS=(DELAY:1)
ref012204-3	WALLITEM_RELAY			4	6	1	CENTRE	ACTION=(ACTIVATE)	
TARGET=(ref012504-2,ref012205-2)	OPTIONS=(DELAY:1)
ref012105-2	WALLITEM_RELAY			3	7	1	CENTRE	ACTION=(ACTIVATE)	
TARGET=(ref012604-1,ref012203-1)	OPTIONS=(DELAY:1)
ref012205-2	WALLITEM_RELAY			4	7	1	CENTRE	ACTION=(ACTIVATE)	
TARGET=(ref012604-1,ref012103-1)	OPTIONS=(DELAY:1)
There are two parts:
1 - a Floortrigger, that switches on the flickering-light-mechanic in general
2 - the sconce, that localy triggers the lightmechanic on/off depending on beeing filled with a torch or not

obviously that just works with dm2 torches and sconces

I hope my egsample is clear enought to be copied.

Have fun

THOM


Sadly I had to edit my post because I had to add the possibility to use Torches which are half full/half empty. I hope I did it right.
If anybody tried out to copy this: My appologies but I think you have to do it again...
User avatar
Ralendil
Novice
Posts: 21
Joined: Sun Feb 17, 2008 7:58 pm
Location: France

Post by Ralendil »

Freeze life spell

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_DES_BRO				NAME=(FREEZE)	RUNES=(DES,BRO)	TYPE=(WIZARD)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_FREEZE,NULL)	CAST_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(40,50,60,70,80,90)	
/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_FREEZE		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_FREEZE)	

/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]

; Level 0
ref002904-1	WALLITEM_ACTION			29	4	0	CENTRE	ACTION=(ACTION_FREEZE_LIFE,NULL,NULL)	STRENGTH=(0)
ref002905-1	WALLITEM_RELAY_FREEZE		29	5	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002904-1)
Resurect spell

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_ZO_GOR_SAR				NAME=(RESURECT)	RUNES=(ZO,GOR,SAR)	TYPE=(PRIEST)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_RESURECT,NULL)	CAST_SOUNDS=(SOUND_OTHER_RESURRECT,SOUND_OTHER_RESURRECT,SOUND_OTHER_RESURRECT,SOUND_OTHER_RESURRECT,SOUND_OTHER_RESURRECT,SOUND_OTHER_RESURRECT)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(160,200,240,280,320,360)

/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_RESURECT		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_RESURECT)	

/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref002805-1	WALLITEM_RELAY_RESURECT		28	5	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002804-1)
ref002804-1	WALLITEM_ACTION			28	4	0	CENTRE	ACTION=(ACTION_RESURRECT_PARTY,NULL,NULL)	STRENGTH=(0)
Heal group

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_OH_IR_KU				NAME=(HEALING)	RUNES=(OH,IR,KU)	TYPE=(PRIEST)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_HEAL,NULL)	CAST_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(20,25,30,35,40,45)	
/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_HEAL		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_HEAL)	
/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref002901-1	WALLITEM_ACTION			29	1	0	CENTRE	ACTION=(ACTION_BOOST_PARTY_BYOBJECT,FLASK_POTION_VI,NULL)	STRENGTH=(0)
ref002408-1	WALLITEM_RELAY_HEAL		29	2	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002901-1)
Anti poison group

Nota: This spell replaces the spell "light". I can advice you to change the REPLACE to an ADD and to change the runes used if you wish to keep the spell "light" ;)

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
REPLACE	SPELL_OH_IR_RA			NAME=(ANTI POISON)	RUNES=(OH,IR,RA)	TYPE=(PRIEST)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_ANTI_POISON,NULL)	CAST_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(20,25,30,35,40,45)	
/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_ANTI_POISON	CLONES=(WALLITEM_RELAY)					NAME=(RELAY_ANTI_POISON)	
/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref002801-1	WALLITEM_ACTION			28	1	0	CENTRE	ACTION=(ACTION_BOOST_PARTY_BYOBJECT,FLASK_POTION_BRO,NULL)	STRENGTH=(0)
ref002802-1	WALLITEM_RELAY_ANTI_POISON	28	2	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002801-1)
That's all for now... I must test seriously the levitate spell before putting it here :p
User avatar
ian_scho
High Lord
Posts: 2806
Joined: Fri Apr 07, 2006 8:30 am
Location: Zaragoza, Spain

Post by ian_scho »

U R using the SAR rune for resurrecting... SPELL_ZO_GOR_SAR. Others could use your idea and add another feature - dynamically change the champion image for a zombie portrait in it's place. Just an idea.
User avatar
Ralendil
Novice
Posts: 21
Joined: Sun Feb 17, 2008 7:58 pm
Location: France

Post by Ralendil »

Lévitation

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_VI_BRO_SAR				NAME=(LEVITATION)	RUNES=(VI,BRO,SAR)	TYPE=(WIZARD)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_LEVIT,NULL)	CAST_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(40,50,60,70,80,90)	
/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_LEVIT		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_LEVIT)	
/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref003005-1	WALLITEM_RELAY_LEVIT		30	5	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref001808-1)
ref001808-1	WALLITEM_ACTION			30	4	0	CENTRE	ACTION=(ACTION_LEVITATE_PARTY,NULL,NULL)	STRENGTH=(0)
Calm


Be careful, this spell will be usuable ONLY if there are monsters around

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_OH					NAME=(CALM)	RUNES=(OH)	TYPE=(WIZARD)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_CALM,NULL)	CAST_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(40,50,60,70,80,90)	
/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_CALM		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_CALM)	
/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref002806-1	WALLITEM_ACTION			28	6	0	CENTRE	ACTION=(ACTION_CALM,NULL,NULL)	STRENGTH=(0)
ref002807-1	WALLITEM_RELAY_CALM		28	7	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002806-1)
Well tomorrow I add Confuse, Scare and the Teleport system (2 spells)
User avatar
Ralendil
Novice
Posts: 21
Joined: Sun Feb 17, 2008 7:58 pm
Location: France

Post by Ralendil »

Confuse

Be careful, this spell will be usuable ONLY if there are monsters around

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_OH_BRO				NAME=(CONFUSE)	RUNES=(OH,BRO)	TYPE=(WIZARD)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_CONFUSE,NULL)	CAST_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(30,35,40,45,50,55)	

/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_CONFUSE		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_CONFUSE)	

/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref002309-2	WALLITEM_RELAY_CONFUSE		23	9	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002308-2)
ref002308-2	WALLITEM_ACTION			23	8	0	CENTRE	ACTION=(ACTION_CONFUSE,NULL,NULL)	STRENGTH=(0)
Scare

Be careful, this spell will be usuable ONLY if there are monsters around

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_OH_BRO_NETA				NAME=(SCARE)	RUNES=(OH,BRO,NETA)	TYPE=(WIZARD)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_SCARE,NULL)	CAST_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(30,35,40,45,50,55)	

/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_SCARE		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_SCARE)	

/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref002408-2	WALLITEM_ACTION			24	8	0	CENTRE	ACTION=(ACTION_SCARE,NULL,NULL)	STRENGTH=(0)
ref002409-1	WALLITEM_RELAY_SCARE		24	9	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002408-2)
Teleportation system

Ok, here it isn't simple like the other spells. So I will explain a little.
The system works like that. You create a point where you will be able to teleport.
When you want to teleport to it, you use the teleport spell.
The teleportation uses an invisible object.... a trigger.

Mark a point of teleportation

How does this work ?
Simple, the spell begins by desactivating any trigger named "FLOORITEM_TRIGGER_TELEPORT" and right after that it creates a point of teleportation (sorry I am not english, I don't see better words to call that) that will be able to be used later (and multiples times).

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_ZO_EW_KU				NAME=(POINT)	RUNES=(ZO,EW,KU)	TYPE=(WIZARD)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_POINT,NULL)	CAST_SOUNDS=(SOUND_OTHER_BEEP,SOUND_OTHER_BEEP,SOUND_OTHER_BEEP,SOUND_OTHER_BEEP,SOUND_OTHER_BEEP,SOUND_OTHER_BEEP)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(20,25,30,35,40,45)	
/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_POINT		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_POINT)	
ADD		FLOORITEM_TRIGGER_TELEPORT	CLONES=(FLOORITEM_TRIGGER)				NAME=(TRIGGER_TELEPORT)	PROPERTIES=(MOVABLE:TRUE)	
/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref002108-2	WALLITEM_ACTION			21	6	0	CENTRE	ACTION=(ACTION_CREATE_NEW_ON_FLOOR,FLOORITEM_TRIGGER_TELEPORT,NULL)	STRENGTH=(0)
ref002207-2	WALLITEM_RELAY			21	7	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002108-2)	OPTIONS=(DELAY:1)
ref002206-1	WALLITEM_ACTION			21	8	0	CENTRE	ACTION=(ACTION_OBJECT_DEACTIVATE,FLOORITEM_TRIGGER_TELEPORT,NULL)	STRENGTH=(0)
ref002109-2	WALLITEM_RELAY_POINT		21	9	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002206-1,ref002207-2)
Teleportation

How does this work?
When you have designed a point of teleportation, you can execute this spell to teleport directly to it.

Code: Select all

/******************************************************************************/
/* New - Spells                                                               */
/******************************************************************************/
[New - Spells]
ADD	SPELL_ZO_KATH_KU				NAME=(TELEPORT)	RUNES=(ZO,KATH,KU)	TYPE=(WIZARD)	ACTION=(ACTION_OBJECT_ACTIVATE,WALLITEM_RELAY_TELEPORT,NULL)	CAST_SOUNDS=(SOUND_OTHER_BUZZ,SOUND_OTHER_BUZZ,SOUND_OTHER_BUZZ,SOUND_OTHER_BUZZ,SOUND_OTHER_BUZZ,SOUND_OTHER_BUZZ)	FAIL_SOUNDS=(NULL,NULL,NULL,NULL,NULL,NULL)	TIME=(40,50,60,70,80,90)	
/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_RELAY_TELEPORT		CLONES=(WALLITEM_RELAY)					NAME=(RELAY_TELEPORT)	

/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]
; Level 0
ref002008-2	WALLITEM_ACTION			22	8	0	CENTRE	ACTION=(ACTION_MOVE_PARTY_TO_OBJECT_LOCATION,FLOORITEM_TRIGGER_TELEPORT,NULL)	STRENGTH=(0)
ref002209-2	WALLITEM_RELAY_TELEPORT		22	9	0	CENTRE	ACTION=(ACTIVATE)	TARGET=(ref002008-2)
Notes on these spells:
First, you should add a Trigger "FLOORITEM_TRIGGER_TELEPORT" in your dungeon, to have a point of teleportation by default.
Secondly, note that these 2 spells are linked. Adding one and not the other won't work (it is surely evident but I prefer to write it :p).
In third I describe here ONLY the system. For my own dungeon I will make this spell only usuable at high level of power (like 6.6.3.1 = Mon Zo Kath Ku) and will make the point of teleportation a 5.6.3.1 (= Pal Zo Kath Ku). But due to the fact this type of spell (dependant of the level of power) needs a lot of relays and counters, I just give here the method. Up to you to use it like that, or to ameliorate it ;)
User avatar
Seriously Unserious
Master Superior
Posts: 1418
Joined: Sun May 11, 2008 11:53 am
Location: Wandering around aimlessly in Lynchgate Woods
Contact:

Re: Dungeon libraries idea

Post by Seriously Unserious »

Creating a variable Max Party size:

This is a solution I came up with based on the answers to my question in the thread http://www.dungeon-master.com/forum/vie ... =6&t=29630. Below is the text from a small test dungeon I used to develop this technique. Just copy it and past it into a blank txt file, load it up into RTCEditor and you can see how I did it. This should give you a basic idea of how I did it.

Code: Select all

/******************************************************************************/
/* Return To Chaos - Dungeon definition file.                                 */
/******************************************************************************/
/******************************************************************************/
/* Main Data                                                                  */
/******************************************************************************/
[Main Data]
NAME.............=(NEW DUNGEON)
AUTHOR...........=(RTC EDITOR)
DATE.............=(APRIL 2013)
ENTRANCE.........=(0,0,0,SOUTH)
IMPORT_TO........=(0,0,0,SOUTH)
END_OF_GAME......=(NONE)
RESTRICT_RUNES...=(FALSE)
RESTRICT_SAVES...=(FALSE)
MAX_PARTY_SIZE...=(4)
AUTO_EQUIP.......=(FALSE)
MAX_TIME.........=(0)
REINCARNATE_STATS=(NO_CHANGE)
REINCARNATE_ATTRS=(SMALL_INCREASE)

/******************************************************************************/
/* Description                                                                */
/******************************************************************************/
[Description]
TITLE.=(NEW DUNGEON)
BODY..=(A DEFAULT LAYOUT FOR A NEW DUNGEON)
CREDIT=(CREATED BY RTC EDITOR)

/******************************************************************************/
/* Text Strings                                                               */
/******************************************************************************/
[Text Strings]
SKILL_FIGHTER=(FIGHTER)
SKILL_NINJA..=(NINJA)
SKILL_PRIEST.=(PRIEST)
SKILL_WIZARD.=(WIZARD)
LEVEL_0.=()
LEVEL_1.=(NEOPHYTE)
LEVEL_2.=(NOVICE)
LEVEL_3.=(APPRENTICE)
LEVEL_4.=(JOURNEYMAN)
LEVEL_5.=(CRAFTSMAN)
LEVEL_6.=(ARTISAN)
LEVEL_7.=(ADEPT)
LEVEL_8.=(EXPERT)
LEVEL_9.=(a MASTER)
LEVEL_10=(b MASTER)
LEVEL_11=(c MASTER)
LEVEL_12=(d MASTER)
LEVEL_13=(e MASTER)
LEVEL_14=(f MASTER)
LEVEL_15=(ARCHMASTER)
STAT_HEALTH...=(HEALTH)
STAT_STAMINA..=(STAMINA)
STAT_MANA.....=(MANA)
STAT_STRENGTH.=(STRENGTH)
STAT_VITALITY.=(VITALITY)
STAT_DEXTERITY=(DEXTERITY)
STAT_WISDOM...=(WISDOM)
STAT_ANTIFIRE.=(ANTI-FIRE)
STAT_ANTIMAGIC=(ANTI-MAGIC)
CHARACTER_REINCARNATED=(%s REINCARNATED.)
CHARACTER_RESURRECTED.=(%s RESURRECTED.)
CHARACTER_JOINED_PARTY=(%s HAS JOINED THE PARTY.)
CHARACTER_LEFT_PARTY..=(%s HAS LEFT THE PARTY.)
CHARACTER_LEVEL_UP....=(%s JUST GAINED A %s LEVEL!)
CHARACTER_LEVEL_DOWN..=(%s JUST LOST A %s LEVEL!)
SPELL_UNKNOWN.=(%s MUMBLES A MEANINGLESS SPELL.)
SPELL_FIZZLES.=(THE SPELL FIZZLES AND DIES.)
SPELL_FLASK...=(%s NEEDS AN EMPTY FLASK IN HAND FOR POTION.)
SPELL_PRACTICE=(%s NEEDS MORE PRACTICE WITH THIS %s SPELL.)

/******************************************************************************/
/* New - Wallsets                                                             */
/******************************************************************************/
[New - Wallsets]
NAME=(WALLSET_DEFAULT)
WALL_FRONT1...=(BITMAP_WALL_FRONT1,NULL)
WALL_FRONT2...=(BITMAP_WALL_FRONT2,NULL)
WALL_FRONT3...=(BITMAP_WALL_FRONT3,NULL)
WALL_LEFT1....=(BITMAP_WALL_LEFT1,BITMAP_WALL_LEFT1_ALT)
WALL_LEFT2....=(BITMAP_WALL_LEFT2,BITMAP_WALL_LEFT2_ALT)
WALL_LEFT3....=(BITMAP_WALL_LEFT3,BITMAP_WALL_LEFT3_ALT)
WALL_SIDE0....=(BITMAP_WALL_SIDE0,BITMAP_WALL_SIDE0_ALT)
WALL_SIDE1....=(BITMAP_WALL_SIDE1,BITMAP_WALL_SIDE1_ALT)
WALL_SIDE2....=(BITMAP_WALL_SIDE2,BITMAP_WALL_SIDE2_ALT)
WALL_SIDE3....=(BITMAP_WALL_SIDE3,BITMAP_WALL_SIDE3_ALT)
WALL_FAR3.....=(BITMAP_WALL_FAR3,BITMAP_WALL_FAR3_ALT)
WINDOW........=(BITMAP_WALL_WINDOW)
ROOF..........=(BITMAP_WALL_ROOF,NULL,NULL,NULL)
FLOOR.........=(BITMAP_WALL_FLOOR,NULL,NULL,NULL)
SHADE.........=(BITMAP_WALL_SHADE,100)
FONT..........=(BITMAP_WALL_FONT)
MAP_ICON_WALL.=(BITMAP_MAP_ICON_WALL)
MAP_ICON_FLOOR=(BITMAP_MAP_ICON_FLOOR)

/******************************************************************************/
/* New - Objects                                                              */
/******************************************************************************/
[New - Objects]
ADD		WALLITEM_MIRROR_BUTTON		CLONES=(WALLITEM_SWITCH_BLUE)				

ICONS=(BITMAP_ICON_WALLITEM_MIRROR,NULL)	

BITMAPS=(FRONT:BITMAP_WALLITEM_MIRROR_FRONT,SIDE:BITMAP_WALLITEM_MIRROR_SIDE,FRONTALT:BITMAP_WALL

ITEM_MIRROR_FRONT_MASK,SIDEALT:BITMAP_WALLITEM_MIRROR_SIDE_MASK)	
ADD		WALLITEM_MIRROR_TEST1		CLONES=(WALLITEM_MIRROR)				

NAME=(MIRROR TEST1)	
ADD		WALLITEM_MIRROR_TEST2		CLONES=(WALLITEM_MIRROR)				

NAME=(MIRROR TEST2)	
ADD		WALLITEM_MIRROR_TEST3		CLONES=(WALLITEM_MIRROR)				

NAME=(MIRROR TEST3)	
ADD		WALLITEM_MIRROR_TEST4		CLONES=(WALLITEM_MIRROR)				

NAME=(MIRROR TEST4)	

/******************************************************************************/
/* Audio - Party                                                              */
/******************************************************************************/
[Audio - Party]
FOOTSTEP......=(NULL)
SLEEP.........=(NULL)
CHARACTER_DIES=(NULL)
PARTY_DIES....=(SOUND_OTHER_SCREAM)
FALL_DOWN_PIT.=(SOUND_OTHER_SCREAM)
KNOCK_ON_WALL.=(SOUND_ATTACK_THUD)
WALK_INTO_WALL=(SOUND_OTHER_BUMP)
HIT_BY_MONSTER=(PLAYLIST_OOF)
HIT_BY_DOOR...=(PLAYLIST_OOF)

/******************************************************************************/
/* Audio - Runes                                                              */
/******************************************************************************/
[Audio - Runes]
LO..=(NULL)
UM..=(NULL)
ON..=(NULL)
EE..=(NULL)
PAL.=(NULL)
MON.=(NULL)

YA..=(NULL)
VI..=(NULL)
OH..=(NULL)
FUL.=(NULL)
DES.=(NULL)
ZO..=(NULL)

VEN.=(NULL)
EW..=(NULL)
KATH=(NULL)
IR..=(NULL)
BRO.=(NULL)
GOR.=(NULL)

KU..=(NULL)
ROS.=(NULL)
DAIN=(NULL)
NETA=(NULL)
RA..=(NULL)
SAR.=(NULL)

BACK=(NULL)

/******************************************************************************/
/* Audio - Misc                                                               */
/******************************************************************************/
[Audio - Misc]
MENU_BUTTONS.....=(SOUND_OTHER_CLICK)
ENTRANCE.........=(NULL,TRUE)
ENTRANCE_BUTTONS.=(SOUND_OTHER_CLICK)
ENTRANCE_DOOR....=(SOUND_OTHER_CLANK,TRUE)
ADD_RUNE.........=(SOUND_OTHER_ZAP)
THROW_ITEM.......=(SOUND_ATTACK_SWING)
VI_ALTAR_ZAP.....=(SOUND_OTHER_ZAP)
VI_ALTAR_EXPLODE.=(SOUND_OTHER_EXPLODE)
FUSE_ZAP.........=(SOUND_OTHER_ZAP)
FUSE_BUZZ........=(SOUND_OTHER_BUZZ)
FUSE_EXPLODE.....=(SOUND_OTHER_EXPLODE)
THE_END_WIN......=(NULL)
THE_END_LOSE_DEAD=(NULL)
THE_END_LOSE_TIME=(NULL)

/******************************************************************************/
/* Graphics - Menus                                                           */
/******************************************************************************/
[Graphics - Menus]
STYLE_INFO..=(BITMAP_MENU_STYLE_INFO)
STYLE_EMPTY.=(BITMAP_MENU_STYLE_EMPTY)
STYLE_SINGLE=(BITMAP_MENU_STYLE_SINGLE)
STYLE_DOUBLE=(BITMAP_MENU_STYLE_DOUBLE)
STYLE_SAVE..=(BITMAP_MENU_STYLE_SAVE)

BUTTON_SMALL_UP..=(BITMAP_MENU_BUTTON_SMALL_UP)
BUTTON_SMALL_DOWN=(BITMAP_MENU_BUTTON_SMALL_DOWN)
BUTTON_LARGE_UP..=(BITMAP_MENU_BUTTON_LARGE_UP)
BUTTON_LARGE_DOWN=(BITMAP_MENU_BUTTON_LARGE_DOWN)
BUTTON_CHECK_UP..=(BITMAP_MENU_BUTTON_CHECK_UP)
BUTTON_CHECK_DOWN=(BITMAP_MENU_BUTTON_CHECK_DOWN)

/******************************************************************************/
/* Graphics - Fonts                                                           */
/******************************************************************************/
[Graphics - Fonts]
MAIN..=(BITMAP_FONT_MAIN)
SCROLL=(BITMAP_FONT_SCROLL)
HINT..=(BITMAP_FONT_HINT)

MAIN_COL_MENU_NORMAL.........=(BITMAP_FONT_MAIN_COLOUR_WHITE)
MAIN_COL_MENU_SELECTED.......=(BITMAP_FONT_MAIN_COLOUR_YELLOW)
MAIN_COL_MENU_SEPARATOR......=(BITMAP_FONT_MAIN_COLOUR_GREY)
MAIN_COL_MENU_VERSION........=(BITMAP_FONT_MAIN_COLOUR_GREY)
MAIN_COL_MENU_BUTTON_ACTIVE..=(BITMAP_FONT_MAIN_COLOUR_WHITE)
MAIN_COL_MENU_BUTTON_INACTIVE=(BITMAP_FONT_MAIN_COLOUR_GREY)
MAIN_COL_DESCRIPTION.........=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_GAME_STATUS.........=(BITMAP_FONT_MAIN_COLOUR_CYAN)
MAIN_COL_OBJECT_NAME.........=(BITMAP_FONT_MAIN_COLOUR_CYAN)
MAIN_COL_MESSAGE_SYSTEM......=(BITMAP_FONT_MAIN_COLOUR_WHITE)
MAIN_COL_MESSAGE_INFO........=(BITMAP_FONT_MAIN_COLOUR_CYAN)
MAIN_COL_WEAPON_CHAR.........=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_WEAPON_METHOD.......=(BITMAP_FONT_MAIN_COLOUR_CYAN)
MAIN_COL_WEAPON_INFO.........=(BITMAP_FONT_MAIN_COLOUR_CYAN)
MAIN_COL_RUNE_CHAR...........=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_RUNE_AVAILABLE......=(BITMAP_FONT_MAIN_COLOUR_CYAN)
MAIN_COL_RUNE_UNAVAILABLE....=(BITMAP_FONT_MAIN_COLOUR_CYAN_VERY_DARK)
MAIN_COL_RUNE_INVERSE........=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_DAMAGE..............=(BITMAP_FONT_MAIN_COLOUR_WHITE)
MAIN_COL_CHAR_NAME_NORMAL....=(BITMAP_FONT_MAIN_COLOUR_ORANGE)
MAIN_COL_CHAR_NAME_LEADER....=(BITMAP_FONT_MAIN_COLOUR_YELLOW)
MAIN_COL_CHAR_NAME_DEAD......=(BITMAP_FONT_MAIN_COLOUR_GREY_LIGHT)
MAIN_COL_STATS_NAME..........=(BITMAP_FONT_MAIN_COLOUR_GREY_LIGHT)
MAIN_COL_STATS_VALUE_NORMAL..=(BITMAP_FONT_MAIN_COLOUR_GREY_LIGHT)
MAIN_COL_STATS_VALUE_DAMAGE..=(BITMAP_FONT_MAIN_COLOUR_RED)
MAIN_COL_STATS_VALUE_BOOST...=(BITMAP_FONT_MAIN_COLOUR_GREEN)
MAIN_COL_LOAD_NORMAL.........=(BITMAP_FONT_MAIN_COLOUR_GREY_LIGHT)
MAIN_COL_LOAD_HEAVY..........=(BITMAP_FONT_MAIN_COLOUR_YELLOW)
MAIN_COL_LOAD_VERY_HEAVY.....=(BITMAP_FONT_MAIN_COLOUR_RED)
MAIN_COL_MAP_ACTIVE..........=(BITMAP_FONT_MAIN_COLOUR_RED)
MAIN_COL_MAP_INACTIVE........=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_BOOK_ACTIVE.........=(BITMAP_FONT_MAIN_COLOUR_GREY_DARK)
MAIN_COL_BOOK_ACTIVE_SHADOW..=(BITMAP_FONT_MAIN_COLOUR_GREY_LIGHT)
MAIN_COL_BOOK_INACTIVE.......=(BITMAP_FONT_MAIN_COLOUR_GREY_VERY_LIGHT)
MAIN_COL_SHOP_DESCRIPTION....=(BITMAP_FONT_MAIN_COLOUR_WHITE)
MAIN_COL_SCORES_NAME.........=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_SCORES_POSITIVE.....=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_SCORES_NEGATIVE.....=(BITMAP_FONT_MAIN_COLOUR_RED)
MAIN_COL_SECRETS_SUMMARY.....=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_SECRETS_FOUND.......=(BITMAP_FONT_MAIN_COLOUR_BLACK)
MAIN_COL_SECRETS_HIDDEN......=(BITMAP_FONT_MAIN_COLOUR_GREY)
MAIN_COL_MONSTERS_KILLED.....=(BITMAP_FONT_MAIN_COLOUR_BLACK)

/******************************************************************************/
/* Graphics - Utility                                                         */
/******************************************************************************/
[Graphics - Utility]
TABLET............=(BITMAP_UTILITY_TABLET)
TABLET_DESCRIPTION=(BITMAP_UTILITY_TABLET_DESCRIPTION)
TABLET_MAKENEW....=(BITMAP_UTILITY_TABLET_MAKENEW)
TABLET_ORACLE.....=(BITMAP_UTILITY_TABLET_ORACLE)
TABLET_ENTRANCE...=(BITMAP_UTILITY_TABLET_ENTRANCE)
DESCRIPTION.......=(BITMAP_UTILITY_BANNER)
MAKENEW...........=(BITMAP_UTILITY_MAKENEW)
ORACLE............=(BITMAP_UTILITY_ORACLE)
SCORES............=(BITMAP_UTILITY_BANNER)
GREAT_HALL........=(BITMAP_UTILITY_BANNER)

/******************************************************************************/
/* Graphics - Entrance                                                        */
/******************************************************************************/
[Graphics - Entrance]
BACKGROUND...=(BITMAP_ENTRANCE_BACKGROUND_DM)
FOREGROUND...=(NULL)
DOOR_LEFT....=(BITMAP_ENTRANCE_DOOR_LEFT_DM)
DOOR_RIGHT...=(BITMAP_ENTRANCE_DOOR_RIGHT_DM)
SWITCH_ENTER.=(BITMAP_ENTRANCE_SWITCH_ENTER_DM)
SWITCH_RESUME=(BITMAP_ENTRANCE_SWITCH_RESUME_DM)
SWITCH_QUIT..=(BITMAP_ENTRANCE_SWITCH_QUIT_DM)
SWITCH_SCROLL=(BITMAP_ENTRANCE_SWITCH_SCROLL_DM)

/******************************************************************************/
/* Graphics - Interface                                                       */
/******************************************************************************/
[Graphics - Interface]
BACKGROUND..................=(NULL)
ARROWS_UP...................=(BITMAP_INTERF_ARROWS_UP)
ARROWS_DOWN.................=(BITMAP_INTERF_ARROWS_DOWN)
WEAPON_BOXES................=(BITMAP_INTERF_WEAPON_BOXES)
WEAPON_READY................=(BITMAP_INTERF_WEAPON_READY)
WEAPON_HIT..................=(BITMAP_INTERF_WEAPON_HIT)
RUNE_SELECTOR...............=(BITMAP_INTERF_RUNE_SELECTOR)
CHAR_STATS..................=(BITMAP_INTERF_CHAR_STATS)
CHAR_STATS_DAMAGE_HEALTH....=(BITMAP_INTERF_CHAR_STATS_DAMAGE_HEALTH)
CHAR_STATS_DAMAGE_STAMINA...=(BITMAP_INTERF_CHAR_STATS_DAMAGE_STAMINA)
CHAR_STATS_DAMAGE_MANA......=(BITMAP_INTERF_CHAR_STATS_DAMAGE_MANA)
CHAR_PORTRAIT...............=(BITMAP_INTERF_CHAR_PORTRAIT)
CHAR_PORTRAIT_DAMAGE_HEALTH.=(BITMAP_INTERF_CHAR_PORTRAIT_DAMAGE_HEALTH)
CHAR_PORTRAIT_DAMAGE_STAMINA=(BITMAP_INTERF_CHAR_PORTRAIT_DAMAGE_STAMINA)
CHAR_PORTRAIT_DAMAGE_MANA...=(BITMAP_INTERF_CHAR_PORTRAIT_DAMAGE_MANA)
CHAR_DEAD...................=(BITMAP_INTERF_CHAR_DEAD)
CHAR_POSITIONS..............=(BITMAP_INTERF_CHAR_POSITIONS)
CHAR_SHIELD_FIRE............=(BITMAP_INTERF_CHAR_SHIELD_FIRE)
CHAR_SHIELD_SPELL...........=(BITMAP_INTERF_CHAR_SHIELD_SPELL)
CHAR_SHIELD_MONSTER.........=(BITMAP_INTERF_CHAR_SHIELD_MONSTER)
CHAR_COLS_1.................=(BITMAP_INTERF_CHAR_COLOURS_GREEN)
CHAR_COLS_2.................=(BITMAP_INTERF_CHAR_COLOURS_YELLOW)
CHAR_COLS_3.................=(BITMAP_INTERF_CHAR_COLOURS_RED)
CHAR_COLS_4.................=(BITMAP_INTERF_CHAR_COLOURS_BLUE)

/******************************************************************************/
/* Graphics - Inventory                                                       */
/******************************************************************************/
[Graphics - Inventory]
BACKGROUND.......=(BITMAP_INVENTORY_BACKGROUND)
ICON_EXIT........=(BITMAP_INVENTORY_ICON_EXIT)
ICON_SLEEP.......=(BITMAP_INVENTORY_ICON_SLEEP)
ICON_SAVE........=(BITMAP_INVENTORY_ICON_SAVE)
ICON_SOUND.......=(BITMAP_INVENTORY_ICON_SOUND)
VIEW_FOOD_WATER..=(BITMAP_INVENTORY_VIEW_FOOD_WATER)
VIEW_POISONED....=(BITMAP_INVENTORY_VIEW_POISONED)
VIEW_STATS.......=(BITMAP_INVENTORY_VIEW_STATS)
VIEW_ITEM........=(BITMAP_INVENTORY_VIEW_ITEM)
BAR_FOOD_LONG....=(BITMAP_INVENTORY_BAR_FOOD_LONG)
BAR_FOOD_MEDIUM..=(BITMAP_INVENTORY_BAR_FOOD_MEDIUM)
BAR_FOOD_SHORT...=(BITMAP_INVENTORY_BAR_FOOD_SHORT)
BAR_WATER_LONG...=(BITMAP_INVENTORY_BAR_WATER_LONG)
BAR_WATER_MEDIUM.=(BITMAP_INVENTORY_BAR_WATER_MEDIUM)
BAR_WATER_SHORT..=(BITMAP_INVENTORY_BAR_WATER_SHORT)

/******************************************************************************/
/* Graphics - Inventory Boxes                                                 */
/******************************************************************************/
[Graphics - Inventory Boxes]
BORDER_PLAIN...........=(BITMAP_INVENTORY_BOX_BORDER_PLAIN)
BORDER_HIGHLIGHT.......=(BITMAP_INVENTORY_BOX_BORDER_HIGHLIGHT)
BORDER_DAMAGE..........=(BITMAP_INVENTORY_BOX_BORDER_DAMAGE)
BORDER_BOOST...........=(BITMAP_INVENTORY_BOX_BORDER_BOOST)
ICON_EYE_NORMAL........=(BITMAP_INVENTORY_BOX_ICON_EYE_NORMAL)
ICON_EYE_LOOKING.......=(BITMAP_INVENTORY_BOX_ICON_EYE_LOOKING)
ICON_MOUTH_OPEN........=(BITMAP_INVENTORY_BOX_ICON_MOUTH_OPEN)
ICON_MOUTH_MIDDLE......=(BITMAP_INVENTORY_BOX_ICON_MOUTH_MIDDLE)
ICON_MOUTH_CLOSED......=(BITMAP_INVENTORY_BOX_ICON_MOUTH_CLOSED)
ICON_HEAD..............=(BITMAP_INVENTORY_BOX_ICON_HEAD)
ICON_BODY..............=(BITMAP_INVENTORY_BOX_ICON_BODY)
ICON_HAND_LEFT.........=(BITMAP_INVENTORY_BOX_ICON_HAND_LEFT)
ICON_HAND_RIGHT........=(BITMAP_INVENTORY_BOX_ICON_HAND_RIGHT)
ICON_LEGS..............=(BITMAP_INVENTORY_BOX_ICON_LEGS)
ICON_FEET..............=(BITMAP_INVENTORY_BOX_ICON_FEET)
ICON_HEAD_INJURED......=(BITMAP_INVENTORY_BOX_ICON_HEAD_INJURED)
ICON_BODY_INJURED......=(BITMAP_INVENTORY_BOX_ICON_BODY_INJURED)
ICON_HAND_LEFT_INJURED.=(BITMAP_INVENTORY_BOX_ICON_HAND_LEFT_INJURED)
ICON_HAND_RIGHT_INJURED=(BITMAP_INVENTORY_BOX_ICON_HAND_RIGHT_INJURED)
ICON_LEGS_INJURED......=(BITMAP_INVENTORY_BOX_ICON_LEGS_INJURED)
ICON_FEET_INJURED......=(BITMAP_INVENTORY_BOX_ICON_FEET_INJURED)
ICON_NECK..............=(BITMAP_INVENTORY_BOX_ICON_NECK)
ICON_POUCH.............=(BITMAP_INVENTORY_BOX_ICON_POUCH)
ICON_SHEATH............=(BITMAP_INVENTORY_BOX_ICON_SHEATH)
ICON_BACKPACK..........=(BITMAP_INVENTORY_BOX_ICON_BACKPACK)

/******************************************************************************/
/* Graphics - Misc                                                            */
/******************************************************************************/
[Graphics - Misc]
MOUSE_POINTER.....=(NULL)
VI_ALTAR_EXPLOSION=(BITMAP_CLOUD_FIREBALL)
VI_ALTAR_LIGHTNING=(BITMAP_SPELL_LIGHTNING_SIDE)
SPELL_WINDOW_DOOR.=(BITMAP_SPELL_WINDOW_DOOR)
FUSE_FUSE.........=(BITMAP_CLOUD_DESEW)
FUSE_EXPLOSION....=(BITMAP_CLOUD_FIREBALL)
FUSE_LORD_GREY....=(BITMAP_MONSTER_LORD_GREY_FRONT)
FUSE_LORD_ORDER...=(BITMAP_MONSTER_LORD_ORDER_FRONT)
FUSE_LORD_CHAOS...=(BITMAP_MONSTER_LORD_CHAOS_FRONT)
THE_END_WIN.......=(BITMAP_THEEND)
THE_END_LOSE_DEAD.=(BITMAP_THEEND)
THE_END_LOSE_TIME.=(BITMAP_THEEND)

/******************************************************************************/
/* Characters                                                                 */
/******************************************************************************/
[Characters]
CHARACTER_TEST		NAME=(TEST)							

GENDER=(M)	STATS=(999,999,999)	EXP=(15.0,15.0,15.0,15.0)	

ATTRS=(255,255,255,255,255,255)	HIDDEN=(100,100,100,100,100,100)	OTHER=(30000,30000,0,0)	

BITMAPS=(PORTRAIT_MIRROR:BITMAP_PORTRAIT_ZED,PORTRAIT_PARTY:BITMAP_PORTRAIT_ZED,HAND_WEAPON:BITMA

P_ICON_PARTY_HAND,HAND_MOUSE:NULL)	

METHODS=(ATTACK_METHOD_PUNCH,ATTACK_METHOD_KICK,ATTACK_METHOD_WAR_CRY)	BONES=(MISC_BONES)
CHARACTER_TEST1		NAME=(TEST1)						GENDER=(M)	

STATS=(10,10,0)		EXP=(0.0,0.0,0.0,0.0)		ATTRS=(20,20,20,20,20,20)		

HIDDEN=(100,100,100,100,100,100)	OTHER=(-1,-1,0,0)	

BITMAPS=(PORTRAIT_MIRROR:BITMAP_PORTRAIT_AIRWING,PORTRAIT_PARTY:BITMAP_PORTRAIT_AIRWING,HAND_WEAP

ON:BITMAP_ICON_PARTY_HAND,HAND_MOUSE:NULL)	

METHODS=(ATTACK_METHOD_PUNCH,ATTACK_METHOD_KICK,ATTACK_METHOD_WAR_CRY)	BONES=(MISC_BONES)
CHARACTER_TEST2		NAME=(TEST2)						GENDER=(M)	

STATS=(10,10,0)		EXP=(0.0,0.0,0.0,0.0)		ATTRS=(20,20,20,20,20,20)		

HIDDEN=(100,100,100,100,100,100)	OTHER=(-1,-1,0,0)	

BITMAPS=(PORTRAIT_MIRROR:BITMAP_PORTRAIT_ALEX_ALT,PORTRAIT_PARTY:BITMAP_PORTRAIT_ALEX_ALT,HAND_WE

APON:BITMAP_ICON_PARTY_HAND,HAND_MOUSE:NULL)	

METHODS=(ATTACK_METHOD_PUNCH,ATTACK_METHOD_KICK,ATTACK_METHOD_WAR_CRY)	BONES=(MISC_BONES)
CHARACTER_TEST3		NAME=(TEST3)						GENDER=(M)	

STATS=(10,10,0)		EXP=(0.0,0.0,0.0,0.0)		ATTRS=(20,20,20,20,20,20)		

HIDDEN=(100,100,100,100,100,100)	OTHER=(-1,-1,0,0)	

BITMAPS=(PORTRAIT_MIRROR:BITMAP_PORTRAIT_ANDERS,PORTRAIT_PARTY:BITMAP_PORTRAIT_ANDERS,HAND_WEAPON

:BITMAP_ICON_PARTY_HAND,HAND_MOUSE:NULL)	

METHODS=(ATTACK_METHOD_PUNCH,ATTACK_METHOD_KICK,ATTACK_METHOD_WAR_CRY)	BONES=(MISC_BONES)
CHARACTER_TEST4		NAME=(TEST4)						GENDER=(M)	

STATS=(10,10,0)		EXP=(0.0,0.0,0.0,0.0)		ATTRS=(20,20,20,20,20,20)		

HIDDEN=(100,100,100,100,100,100)	OTHER=(-1,-1,0,0)	

BITMAPS=(PORTRAIT_MIRROR:BITMAP_PORTRAIT_AROC,PORTRAIT_PARTY:BITMAP_PORTRAIT_AROC,HAND_WEAPON:BIT

MAP_ICON_PARTY_HAND,HAND_MOUSE:NULL)	

METHODS=(ATTACK_METHOD_PUNCH,ATTACK_METHOD_KICK,ATTACK_METHOD_WAR_CRY)	BONES=(MISC_BONES)

/******************************************************************************/
/* Layout                                                                     */
/******************************************************************************/
[Layout]

; Level 0
WALLSET......=(WALLSET_DEFAULT)
LIGHT_AMBIENT=(100)
LIGHT_MINIMUM=(5)
LIGHT_MAXIMUM=(1000)
OFFSET.......=(0,0)
SIZE.........=(32,32)
ITEM_PREFIX..=(ref00)
DESCRIPTION..=()
10000000000000000000000000000000
11110000000000000000000000000000
11110000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000

/******************************************************************************/
/* Items                                                                      */
/******************************************************************************/
[Items]

; Level 0
ref000200-2	WALLITEM_TEXT			1	0	0	SOUTH		

TEXT=(CURRENT SIZE\OF PARTY: %VALUE:ref000005-1%)
ref000200-1	WALLITEM_TEXT			2	0	0	SOUTH		

TEXT=(CURRENT SIZE\LIMIT: %VALUE:ref000105-1%)
ref000300-1	WALLITEM_SWITCH_BLUE		3	0	0	SOUTH		

OPBY=(HAND)	ACTION=(DEACTIVATE)	TARGET=(ref000105-1)
ref000300-2	WALLITEM_TEXT			3	0	0	SOUTH		

TEXT=(INCREASE\PARTY SIZE)
ref000003-2	WALLITEM_MIRROR_TEST1		0	3	0	NORTH		

HOLDS=(CHARACTER_TEST1)	ACTION=(ACTIVATE)	TARGET=(ref000004-2,ref000005-2,ref000004-3)	

OPTIONS=(SOUND:NULL)
ref000103-1	WALLITEM_MIRROR_TEST2		1	3	0	NORTH		

HOLDS=(CHARACTER_TEST2)	ACTION=(ACTIVATE)	TARGET=(ref000004-1,ref000005-2,ref000004-3)	

OPTIONS=(SOUND:NULL)
ref000203-2	WALLITEM_MIRROR_TEST3		2	3	0	NORTH		

HOLDS=(CHARACTER_TEST3)	ACTION=(ACTIVATE)	TARGET=(ref000104-1,ref000005-2,ref000004-3)	

OPTIONS=(SOUND:NULL)
ref000303-1	WALLITEM_MIRROR_TEST4		3	3	0	NORTH		

HOLDS=(CHARACTER_TEST4)	ACTION=(ACTIVATE)	TARGET=(ref000204-1,ref000005-2,ref000004-3)	

OPTIONS=(SOUND:NULL)
ref000004-2	WALLITEM_RELAY			0	4	0	CENTRE	

CONDITION=(VALUE:ref000005-1,GREATER_THAN_OR_EQUAL_TO,VALUE:ref000105-1)	ACTION=(ACTIVATE)	

TARGET=(ref000105-2)
ref000004-1	WALLITEM_RELAY			1	4	0	CENTRE	

CONDITION=(VALUE:ref000005-1,GREATER_THAN_OR_EQUAL_TO,VALUE:ref000105-1)	ACTION=(ACTIVATE)	

TARGET=(ref000005-3)
ref000004-3	WALLITEM_SPEECH			1	4	0	CENTRE	TYPE=(SYSTEM)	

TEXT=(PARTY SIZE: %VALUE:ref000005-1%\MAX PARTY SIZE: %VALUE:ref000105-1%)
ref000104-1	WALLITEM_RELAY			2	4	0	CENTRE	

CONDITION=(VALUE:ref000005-1,GREATER_THAN_OR_EQUAL_TO,VALUE:ref000105-1)	ACTION=(ACTIVATE)	

TARGET=(ref000005-4)
ref000204-1	WALLITEM_RELAY			3	4	0	CENTRE	

CONDITION=(VALUE:ref000005-1,GREATER_THAN_OR_EQUAL_TO,VALUE:ref000105-1)	ACTION=(ACTIVATE)	

TARGET=(ref000205-1)
ref000105-2	WALLITEM_ACTION			0	5	0	CENTRE	

ACTION=(ACTION_REMOVE_CHARACTER_AND_ITEMS_FROM_PARTY,WALLITEM_MIRROR_TEST1,NULL)	

STRENGTH=(0)
ref000005-3	WALLITEM_ACTION			1	5	0	CENTRE	

ACTION=(ACTION_REMOVE_CHARACTER_AND_ITEMS_FROM_PARTY,WALLITEM_MIRROR_TEST2,NULL)	

STRENGTH=(0)
ref000005-4	WALLITEM_ACTION			2	5	0	CENTRE	

ACTION=(ACTION_REMOVE_CHARACTER_AND_ITEMS_FROM_PARTY,WALLITEM_MIRROR_TEST3,NULL)	

STRENGTH=(0)
ref000205-1	WALLITEM_ACTION			3	5	0	CENTRE	

ACTION=(ACTION_REMOVE_CHARACTER_AND_ITEMS_FROM_PARTY,WALLITEM_MIRROR_TEST4,NULL)	

STRENGTH=(0)
ref000005-2	WALLITEM_RELAY			0	7	0	CENTRE	

CONDITION=(VALUE:ref000005-1,LESS_THAN,VALUE:ref000105-1)	ACTION=(DEACTIVATE)	

TARGET=(ref000005-1)
ref000107-1	WALLITEM_SPEECH			1	7	0	CENTRE	TYPE=(SYSTEM)	

TEXT=(ADDING MEMBER TO PARTY)
ref000005-1	WALLITEM_COUNTER			0	8	0	CENTRE	COUNT=(0)	

ACTION=(NULL)	TARGET=(NULL)
ref000105-1	WALLITEM_COUNTER			0	9	0	CENTRE	COUNT=(1)	

ACTION=(NULL)	TARGET=(NULL)

/******************************************************************************/
/* Hint Oracle - Monsters                                                     */
/******************************************************************************/
[Hint Oracle - Monsters]
TITLE=(CREATURES)
TEXT.=(Learn well the shapes and\forms dread Chaos makes;\Regard the toll of pain and\death each 

monster takes.)

Notes: you need:
1 uniquely named MIRROR for each playable character in the game (cloned from one of the MIRROR WALLITEMS)(ITEM IS TRIGGER: YES/ OP BY: MOUSE/ ACTION: ACTIVATE/ TARGETS: RELAY that tests if new member makes party too big, RELAY that increases CURRENT PARTY SIZE if new member was addd and was valid)

1 RELAY for each MIRROR MIRROR (no need for clones) (ACTION: activate/ TARGETS: ACTION that removes party member/ CONDITION: CURRENT PARTY SIZE COUNTER GREATER THEN OR EQUAL TO MAX PARTY SIZE COUNTER)

1 ACTION for each MIRROR (ACTION: REMOVE CHARACTER FROM PARTY/ TARGET: the mirror object type the player just clicked on (eg: if the player clicked on WALLITEM_MIRROR_TEST then the action would target this mirror))

1 RELAY (ACTION: DEACTIVATE/ TARGET: CURRENT PARTY SIZE COUNTER/ CONDITION: CURRENT PARTY SIZE COUNTER LESS THEN MAX PARTY SIZE COUNTER)

2 COUNTERS:
1 COUNTER to keep track of MAX PARTY SIZE: should be set to an initial value of between 1 and 4, and have a trigger target it with the DEACTIVATE action to increase, or the ACTIVATE action to decrease it. keep its value between 1 and 4

1 COUNTER to keep track of CURRENT PARTY SIZE: target it with a trigger to DEACTIVATE it if a new member was added to the party, or ACTIVATE it if a party member was removed from the party. Note that if an extra member was autoremoved from the party when adding a new member due to the party going oversize the current parry size will not be updated as you are effectively trading 1 party member for another.
Post Reply