The Cathedral of Attnam

Changes

Jump to navigation Jump to search
1,810 bytes removed ,  16:45, 25 October 2017
m
no edit summary
''This section is about adding dungeons to the world map. If you would like to learn about the specifics of dungeon building, see [[Dungeon Building]].''{{spoiler}}
__TOC__A monster is one of the most common causes of death.
== Introduction ==
This is a brief guide explaining how to include your customized dungeons on the IVAN world map.== General Monsters ==
== Three key steps = Hostile Creatures ===
There are three key steps to getting your dungeon to appear on the world map.{| cellpadding="0" cellspacing="0" border="0" width="700"|-|{| style="border:2px solid #000;" cellpadding="3" cellspacing= Your dungeon data file "0" border="0" width="336"! colspan="2" style="background:#369; color:#fff; padding:4px;"|Name|-| width="36" | [[Image:Angel.png]] || width="300" | [[Angel]]|-Your dungeon data file should reside in <code>Script/dungeons</code> where it will automatically be picked up by the game when it creates the world map| [[Image:Bat.png]] || [[Bat]] |-| [[Image:Bear.png]] || [[Bear]] |-| [[Image:Blink. It should contain the kinds of things described in the article on gif]] || [[Dungeon BuildingBlink Dog]]|-| [[Image:Buffalo. Most importantly, the png]] || [[#Dungeon_BuildingBuffalo]] |-| [[Image:DungeonControlVariableBunny.png]] ||<code>Dungeon</code>[[Carnivorous Mutant Bunny]] control variable will need to be the <code>DEFINED_VALUE</code> you set in <code>define|-| [[Image:Plant.dat</code>, which will help link the dungeon to its overworld terrainpng]] || [[Carnivorous Plant]] |-| [[Image:Chameleon.png]] || [[Chameleon]] |-=== define| [[Image:Cossack.dat ===png]] || [[Cossack]]|-You will need to define the name that the IVAN script files will use to recognise your dungeon| [[Image:GiantDarkFrog. Therefore you will need to include a <code>#define</code> with the other dungeon names in <code>definepng]] || [[Dark Frog]] |-| [[Image:EliteDarkKnight.dat</code>png]] || [[Dark Knight]] |-| [[Image:DarkBattlemage.png]] || [[Dark Mage]] |-Anything you put in <code>define| [[Image:Eddy.dat</code>, you can refer to gif]] || [[Eddy in your other script filesSpacetime Continuum]] |-| [[Image:FloatingEye. This is a general rule and is applicable to any of the data filespng]] || [[Floating eye]] |-| [[Image:Genie. For example, if you want to create another config of a guard, then you just put a new <code>#define</code> in <code>definepng]] || [[Genie]]|-| [[Image:Ghost.dat</code>, and you can now refer to it in <code>charpng]] || [[Ghost]]|-| [[Image:Magpie.dat</code> and your dungeon data filepng]] || [[Giant Magpie]] |-| [[Image:Gibberling. So it follows that you can <code>#define</code> your own dungeon name, which will be essential when we come to link the dungeon data file to the terrain data filepng]] || [[Gibberling]] |-| [[Image:GoblinButcher.png]] || [[Goblin]] |-Stick to upper case lettering when adding a new <code>#define</code>, and be sure to put an underscore when separating words| [[Image:IronGolem. Be sure items that are enumerated follow a nice numerical sequence epng]] || [[Golem]] |-| [[Image:Hattifattener.gpng]] || [[Hattifattener]] |-| [[Image:Hedgehog. <code>1, 2, 3, 4, 5;</code> or <code>2, 4, 8, 16, 32;</code>, rather than <code>1, 2, 5, 7, 8;</code>png]] || [[Hedgehog]] |-| [[Image:Imp. png]] || [[Imp]] |-For programmers| [[Image: note that if we wish to refer to a particular dungeon in the ''code'' itself, for example to do something special in <code>gameInvisibleStalker.cpp</code>, then the code will need to know about it, and so a <code>#define</code> will also need to appear in <code>ivandefpng]] || [[Invisible Stalker]]|- | [[Image:Jackal.h</code> before ''compiling'' the gamepng]] || [[Jackal]]|-| [[Image:KamikazeDwarfLegifer.png]] || [[Kamikaze Dwarf]]|-|}| valign="top" |{| style="border:2px solid #000;" cellpadding= owterra.dat "3" cellspacing="0" border="0" width="336"! colspan="2" style="background:#369; color:#fff; padding:4px;"|Name|-The data file <code>owterra| width="36" | [[Image:Kobold.dat</code> contains the png]] || width="300"over| [[Kobold]] |-| [[Image:Cat.png]] || [[Large Cat]] |-| [[Image:Rat.png]] || [[Large Rat]] |-| [[Image:Lion.png]] || [[Lion]] |-| [[Image:Mammoth.png]] || [[Mammoth]]|-| [[Image:Mindworm.png]] || [[Mind worm|Mind Worm]] |-| [[Image:MistressTorturingChief.png]] || [[Mistress]] |-| [[Image:GreenSlime.png]] || [[Mommo Slime]] |-| [[Image:Mushroom.png]] || [[Mushroom]] |-| [[Image:MutantAss.png]] || [[Mutant Ass]] |-| [[Image:MasterNecromancer.png]] || [[Necromancer]] |-| [[Image:OrcOfficer.png]] || [[Orc]] |-| [[Image:Punisher.png]] || [[Punisher]] |-| [[Image:Puppy.gif]] || [[Puppy]] |-world terrains" | [[Image:PureMass.png]] || [[Pure Mass of the IVAN world mapBill's Will]]|-| || [[Siren]] |-| [[Image:SkeletonWarrior. These are so named, because they become the pictures that sit over the ground terrain on the world mappng]] || [[Skeleton]]|-| [[Image:Skunk. They denote the places png]] || [[Skunk]] |- cities or dungeons | [[Image:Snake.png]] || [[Snake]] |- you can visit when adventuring in the world map, and so they need to be linked up to the dungeon data files| [[Image:Giantspider.png]] || [[Spider]] |-Here are some pictures showing famous owterrains| [[Image:Moose.png]] || [[Two-Headed Moose]] |-| [[Image:BlackUnicorn.png]] || [[Unicorn]] {| class="wikitable"-! New Attnam| [[Image:Werewolf.gif]] || [[Werewolf]] ! Attnam|-! Gloomy Caves| [[Image:Wolf.png]] || [[Wolf]]
|-
| [[FileImage:OwnewattnamZombieFull.png|80px]]|| [[File:Owattnam.png|80pxZombie]]| [[File:Owgloomycaves.png|80px]]}
|}
As of IVAN 0.50.6, there are exactly 32 slots (<code>dungeonAA</code> up to <code>dungeonBF</code>) available for use as the over-world linkages to your dungeon. Simply pick one out that is free and modify it to link together with your dungeon data file by specifying which <code>DEFINED_VALUE</code> you introduced in define.dat=== Neutral Creatures ===
This table shows the control variables for each over-world terrain. You can configure your over{| cellpadding="0" cellspacing="0" border="0" width="700"|-world terrain with the ground terrain type of your choice, and a bunch of other things besides.|{| classstyle="border:2px solid #000;" cellpadding="wikitable3" cellspacing="0" border="0" width="336"! Keywordcolspan="2" style="background:#369; color:#fff; padding:4px;"|Name! Values|-! Description| width="36" | [[Image:Farmer.png]] || width="300" | [[Farmer]]
|-
| <code>BitmapPos</code>[[Image:Hunter.png]] | <code>x, y;</code>| This determines the bitmap position of the picture of the terrain in <code>WTerra.pcx</code>. You can create your own picture by modifying <code>WTerra.pcx</code>.[[Hunter]]
|-
| <code>NameStem</code>[[Image:Wife.png]] | <code>"string"</code>| This is a string, beginning with a lowercase word, usually a noun or an adjective, for example, "mighty cathedral" or "cave entrance".[[Wife]]
|-
| <code>UsesLongArticle</code>[[Image:Slave.png]] | <code>true</code> or <code>false</code>| Specify whether to prefix the name stem with the english language short article, "a", or the long article, "an".[[Banana Grower]]
|-
| <code>IsAbstract</code>[[Image:ShopGuard.png]] | <code>true</code> or <code>false</code>| Do not worry about this. An over-world terrain has no other config than the base config and only the protoype is abstract, if that means anything.[[Guard]]
|-
| <code>CanBeGenerated</code>[[Image:Priestess.png]] | <code>true</code> or <code>false</code>| Set this value to true if you want your user defined dungeon to appear in the world map. It is not applicable to core locations.[[Priest]]
|-
| <code>AttachedDungeon</code>[[Image:Tourist.png]] | <code>DEFINED_VALUE</code>| This is the <code>#define</code> set in <code>define.dat</code> that is used to link the user-specified dungeon in the data file to its over-world terrain.[[Tourist]]
|-
| <code>AttachedArea</code>[[Image:GiantLightFrog.png]] | <code>0, 1, 2, ...</code>| This sets the initial level that the player will appear in upon entering the dungeon. Normally set this to zero.[[Light Frog]]
|-
| <code>NativeGTerrainType</code>[[Image:Dolphin.png]] | <code>DEFINED_VALUE</code>| MUST be non-zero. Can select from <code>DESERT</code>, <code>JUNGLE</code>, <code>STEPPE</code>, <code>LEAFY_FOREST</code>, <code>EVERGREEN_FOREST</code>, <code>TUNDRA</code>, <code>GLACIER</code>. Note that the tundra type produces the familiar snow terrain.[[Dolphin|Female Dolphin]]
|-
| <code>RevealEnvironmentInitially</code>[[Image:Ostrich.png]] | <code>true</code> or <code>false</code>| This determines whether to reveal the dungeon on the world map initially by uncovering the darkness, a la Attnam, or whether the player will need to discover it by using the field of view, a la underwater tunnel exit. Note that this differs from the way gloomy caves is hidden, and then revealed once you talk to Petrus.[[Levitating Ostrich]]
|-
| <code>HideLocationInitially</code>[[Image:PalmGirl.png]] | <code>true</code> or <code>false</code>| This tells the game whether to show the location on the world map or not. If it is set to true, then the location will be undiscoverable unless some internal condition within the game is met, that triggers the location to be revealed. If it is set to false, then the location will be accessible from the beginning of the game.[[Female Servant]]
|-
| <code>CanBeOnAnyTerrain</code>| <code>true</code> or <code>false</code>| If set to true, this forces the world map generator to ignore the requirement to place the location in its exact native terrain type. It places these locations in the first available spot from Attnam outwards. This is necessary sometimes, to more or less guarantee the location to be accessible to the player. If it is set to false, there is a high chance the location will spawn on another continent.}
|}
== A worked example ==
=== A Dungeon data file ===
(Attachement)== Named Monsters ==
=== In define.dat Characters ===
{| classstyle="wikitableborder:2px solid #000;" cellpadding="3" cellspacing="0" border="0" width="636"! Beforewidth="436" colspan="2" style="background:#369; color:#fff; padding:4px;"|Name! Afterwidth="200" style="background:#369; color:#fff; padding:4px;" |Location|-| width="36" | [[Image:Kaethos.png]] || width="400" | [[Kaethos]] the village elder || [[New Attnam]]
|-
|[[Image:Zolku.png]] || [[Zolku]] the shopkeeper || New Attnam <tt> #define RANDOM 0|- #define ELPURI_CAVE 1| [[Image:SlaveDriver.png]] || the [[Banana Grower Encourager]] || New Attnam #define ATTNAM 2|- #define NEW_ATTNAM 3| [[Image:Priestess.png]] || the [[Priest|Priestess of Silva]] || New Attnam #define UNDER_WATER_TUNNEL 4|- #define EMPTY_AREA 5| [[Image:Sumo.png]] || [[Huang Ming Pong]] the sumo wrestler || New Attnam #define XINROCH_TOMB 6|- #define UNDER_WATER_TUNNEL_EXIT 128| [[Image:RichelDecos.png]] || [[Richel Decos]] the imperialist || New Attnam |-</tt>| [[Image:Ikiros.png]] || [[Ikiros]] the smith || [[Attnam]]|- <tt> #define RANDOM 0| [[Image:Hulbo.png]] || [[Hulbo]] the shopkeeper || Attnam #define ELPURI_CAVE 1|- #define ATTNAM 2| [[Image:Mirvo.png]] || [[Mirvo]] the tailor || Attnam #define NEW_ATTNAM 3|- #define UNDER_WATER_TUNNEL 4| [[Image:Haathbar.png]] || [[Haathbar]] the librarian || Attnam #define EMPTY_AREA 5|-| || the [[Priest|Priest of Valpurus]] || Attnam #define XINROCH_TOMB 6|- <span style="background| [[Image:palegreen">#define HOUSE_ON_THE_STEPPE 7</span>Haedlac.png]] || [[Sir Haedlac Galladon VII]] the master guard || Attnam #define UNDER_WATER_TUNNEL_EXIT 128|-</tt>| [[Image:Petrus.png]] || [[Petrus]] the high priest of the Great Frog || Attnam|}-| || the [[Imprisoned Necromancer]] || [[Attnam Catacombs]]=== In owterra|-| [[Image:Merka.dat ===png]] || [[Merka]] the shopkeeper || [[Gloomy Caves|Gloomy Cave]] 2 - 5|-{| class="wikitable"[[Image:Ivan.png]] || [[Ivan]] the communist || Gloomy Cave 8|-! Before| [[Image:Vladimir.png]] || [[Vladimir]] the gigantic carnivorous mutant bunny || Gloomy Cave 8! After|-! Result| || the [[Master Tomb Guard]] || [[Tomb of Xinroch]] entry
|-
| <tt>locationAA { BitmapPos = <span style="background:pink">0</span>, 64; NameStem = "<span style="background:pink">empty area</span>"; UsesLongArticle = <span style="background:pink">true</span>; AttachedDungeon = <span style="background:pink">EMPTY_AREA</span>; AttachedArea = 0; CanBeGenerated = <span style="background:pink">false</span>; NativeGTerrainType = <span style="background:pink">JUNGLE</span>; }</tt>| <tt>locationAA { BitmapPos = <span style="background:palegreen">64</span>, 64; NameStem = "<span style="background:palegreen">house on the steppe</span>"; UsesLongArticle = <span style="background:palegreen">false</span>; AttachedDungeon = <span style="background:palegreen">HOUSE_ON_THE_STEPPE</span>; AttachedArea = 0; CanBeGenerated = <span style="background:palegreen">true</span>; NativeGTerrainType = <span style="background:palegreen">STEPPE</span>; }</tt>| [[File:Steppes.pngFry]]the quartermaster || Tomb of Xinroch
|}
== What's this about "core locations" ==
Core locations are the original ones from IVAN 0.50. These are New Attnam, Under water tunnel, Attnam and Gloomy Caves. Their generation on the world map is not handled in the generic way covered by the means of adding places to the world map described here.
== Known limitations = Unique Enemies ===
{| style="border:2px solid #000;" cellpadding="3" cellspacing= Distribution of ground terrain types "0" border="0" width="636"! width="436" colspan="2" style="background:#369; color:#fff; padding:4px;"|Name! width="200" style="background:#369; color:#fff; padding:4px;" |Location{| class-| width="36" | [[Image:Genetrix.png]] || width="wikitable400"| [[Genetrix Vesana]] the mother carnivorous plant || [[Underwater Tunnels]] 3|-| || [[Lobh-se]] the behemoth spider || [[Crystal Cave]]|-| [[Image:Enner.gif]] || the [[Enner Beast]] || [[Gloomy Cave]] 5|-! Terrain type| [[Image:Elpuri.png]] || [[Elpuri]] the Master Dark Frog || Gloomy Cave 9|-| [[Image:Oree.png]] || [[Oree]] the blood daemon king || [[Oree's Lair]]|-| || the [[Enner Boy]] || [[Tomb of Xinroch]]|-| || the [[Enner Girl]] || Tomb of Xinroch|-| || [[Xinroch's Grave Keeper]] || Tomb of Xinroch|-| || the [[ghost of Xinroch]] || Tomb of Xinroch! Picture|-! Percentage | || [[Xinroch]] the elder grand master dark knight || Tomb of global tiles (averaged over 8 PDS sampling trials)Xinroch|-| [[Image:Zq29.png]] || [[Experiment ZQ-29]] the spider silk golem || anywhere
|-
| Desert| [[FileImage:DesertGolgor.png]]| 7.1 %| [[Golgor Dhan]] the grand master dark knight || anywhere
|-
| Jungle| [[FileImage:JungleGus.png]]| 14.0 %| [[Guugzamesh]] the goblin king || anywhere
|-
| Steppe[[Image:Ischaldirh.png]] || [[Ischaldirh]] the dark archmage || anywhere|- | [[FileImage:SteppeRondol.png]]| 13.7 %| [[Rondol]] the kobold patriarch || anywhere
|-
| Leafy forest| [[FileImage:LeafyforestSherarax.png]]| 15.9 %| [[Sherarax]] the mistress queen || anywhere
|-
| Evergreen forest| [[FileImage:EvergreenforestUrkhan.png]]| 6.0 %| [[Ur-Khan]] the orc marshal || anywhere
|-
| Tundra| [[FileImage:TundraXinroch.png]]| 33.4 %| [[Xinroch]] the skeleton warlord || anywhere
|-
| Glacier| | the [[File:Glacier.pngzombie of Khaz-zadm]]| 9.9 %| not generated yet
|}
== Notes ==
 
* See [[List of Monster Attributes]] for a quick reference sheet of [[attribute]] values of all monsters.
 
== Variants ==
As Here you can find monsters added by various [[:Category:Variants|variants]] of <code>0.50.6</code>, the number of slots is <code>32</code>game.
Overflow * [[List of number Monsters (LIVAN and CLIVAN)|LIVAN and CLIVAN]]* [[List of dungeons. Ways in which this can happen.Monsters (IVANT)| IVANT]]
Population distribution of terrain types collected by the sampling algorithm.[[Category:Monsters]][[Category:Lists]]
Moderator
1,405

edits

Navigation menu