some k8ivan trivia, lost in the depth of the thead.
do you know that k8ivan has new array syntax?
arr := { … }
the difference is `:=`, and you don't need any counter, the game is able to count items on its own.
do you know that it is not only possible to include .dat files with `Include` command, but you can extend existing classes AND overworld terrains?
Extend owterrain
{
Config ASLONA_CASTLE;
{
Probability = 100;
CanBeSkipped = false;
//NameSingular = "Alien Vessel";
BitmapPos = 96, 128;
NameStem = "mighty seaside castle";
UsesLongArticle = false;
AttachedDungeon = ASLONA_CASTLE;
CanBeGenerated = true;
NativeGTerrainType = LEAFY_FOREST;
WantContinentWith = ATTNAM;
RevealEnvironmentInitially = true; //for debug
}
Config REBEL_CAMP;
{
Probability = 100;
BitmapPos = 16, 64;
NameStem = "hidden camp";
UsesLongArticle = false;
AttachedDungeon = REBEL_CAMP;
CanBeGenerated = true;
NativeGTerrainType = STEPPE;
WantContinentWith = ATTNAM;
RevealEnvironmentInitially = true; //for debug
}
}
this creates two new POIs for Alsona and Rebels. you still need C++ code to actually implement quests, but the dungeons are accessible with wizard mode.
and some new configurations too:
Extend smith
{
Config ASLONA_CASTLE;
{
DefaultName = "Khalybs";
TorsoBitmapPos = 48, 192;
HeadBitmapPos = 112, 480;
ArmBitmapPos = 64, 64;
LegBitmapPos = 0, 96;
HairColor = rgb16(44, 34, 43);
ClothColor = rgb16(100, 100, 100);
TotalVolume = 90000;
TotalSize = 200;
Cloak = SELKIE_SKIN cloak(CLOAK_OF_FIRE_RESISTANCE) { Enchantment = 1; }
RightGauntlet = SELKIE_SKIN gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; }
RightWielded = CHROME MAHOGANY_WOOD meleeweapon(HAMMER);
LeftWielded = CHROME MAHOGANY_WOOD meleeweapon(HAMMER);
Sex = FEMALE;
}
}
k8ivan includes "Alien Mod", and it is competely optional. you can comment `Module "zone69";` in "scripts/module.dat", and there will be no Alien Nest dungeon. note that Alien Nest has unique monsters which never appears in other dungeons. there are some new features to support this: you can not only restrict monsters to some dungeons (which is possible in mainline too), but you can assign a "tag" to any level, and restrict monsters to levels with that tag. that's how Alien Queen is done. also, Enner Beast uses this system too.
this was already done 7 years ago, and while this won't allow you to create new quests and new monster classes (because doing that still requires C++ support code), you can extend existing classes, and easily design new optional dungeons, all without ever touching C++ compiler!