 |
ivanforum Forum for Iter Vehemens ad Necem
|
| View previous topic :: View next topic |
| Author |
Message |
SquashMonster blink dog

Joined: 05 Feb 2005 Posts: 297 Location: The spot right next to the spot where I am.
|
Posted: Wed Apr 27, 2005 2:47 am Post subject: Carnivorous plant lair GC branch |
|
|
I was working on a GC branch with a carnivorous plant theme a while back. It seemed to generate some degree of interest in the custom images thread and I didn't want to completely derail the topic, so here's a new one.
There are five things I don't like about the results of my experiment:
1 -- Balence. There is none. I suck at balencing. The main reason I'm posting this is because the levels really need balence.
2 -- Randomness. There's not enough of that either. To my knowledge, there's no way to make IVAN's normal random monster generator work with a specific set of monsters. I didn't really like the option of mixing set themed monsters and normal random monsters, which is the usual method used in IVAN. It would not be difficult to switch to the usual method, if somebody wanted to balence it.
3 -- Starting level. The plant dungeon always branches at the same place. I could make the level of entrance random, but I couldn't find any way to make it so that the stair case back would know where to go.
4 -- Variety. I was going to add acid spitting carnivorous plants and a few killer attack vines, but I wasn't done yet. I'll update if I get time to do them.
5 -- Plant spawning. I don't think I can make the branch boss generate different enemies from Genetrix without changing code, which is outside of my ability for now, mostly because I've not yet learned my way around a compiler. I think the boss should spawn shambling carnivorous plants next to herself, instead of standard plants next to the player.
Anyway, on with the code.
In char.dat
In carnivorousplant
| Code: |
Config SHAMBLING;
{
AttributeBonus = 250;
TorsoBitmapPos = 128, 48;
Adjective = "shambling carnivorous";
BaseBiteStrength = 1000;
CWeaponSkillHits == 100;
TotalVolume = 40000;
TotalSize = 250;
IsEnormous = true;
IsRooted = false;
StandVerb = "skittering";
}
Config LILY;
{
AttributeBonus = 250;
TorsoBitmapPos = 112, 48;
Adjective = "carnivorous";
NameSingular = "lily pad";
BaseBiteStrength = 1000;
CWeaponSkillHits == 100;
TotalVolume = 40000;
TotalSize = 250;
IsEnormous = true;
IsRooted = false;
MoveType = SWIM;
StandVerb = "sticking"; /*only used if not swimming*/
}
|
In genetrixvesana
| Code: |
Config GENEFOURX;
{
DefaultArmStrength = 32;
DefaultAgility = 16;
DefaultEndurance = 20;
DefaultPerception = 32;
DefaultIntelligence = 24;
DefaultWisdom = 16;
DefaultCharisma = 3;
DefaultMana = 0;
BaseBiteStrength = 1600;
TotalSize = 350;
Adjective = "grandmother carnivorous";
DefaultName = "genefourx vesana";
TorsoSpecialColor = rgb16(220, 0, 0);
HostileReplies == "@Dd produces a gutteral roaring noise.";
FriendlyReplies == "@Dd produces a gutteral purring noise.";
}
|
In dungeon.dat:
In ELPURI_CAVE
| Code: |
Level PLANT_ENTRY_LEVEL;
{
Room
{
Size = 11,11;
AllowLockedDoors = true;
AllowBoobyTrappedDoors = true;
GenerateFountains = false;
Shape = ROUND_CORNERS;
WallSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
FloorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
DoorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
GenerateDoor = false;
GenerateLanterns = false;
AltarPossible = false;
GTerrainMap
{
Pos = 3,3;
Size = 5,5;
Types
{
# = WATER liquidterrain(UNDERGROUND_LAKE);
}
}
{
..#..
.###.
##.##
.#.#.
.....
}
Square, Pos 5,5;
{
OTerrain = stairs(STAIRS_DOWN) { AttachedArea = PLANT_LEVEL; }
EntryIndex = PLANT_ENTRY;
}
Square, Pos 5,0;
{
OTerrain = 0;
AttachRequired = true;
}
}
}
Level PLANT_LEVEL;
{
FillSquare = solidterrain(GROUND), SLATE earth;
TunnelSquare = solidterrain(GRASS_TERRAIN), 0;
Size = 48, 48;
Rooms = 15:20;
Items = 35:40;
GenerateMonsters = false;
IgnoreDefaultSpecialSquares = true;
CanGenerateBone = true;
ItemMinPriceBase = 60;
EnchantmentPlusChanceBase = 30;
DifficultyBase = 80;
Square, Random;
{
Character = carnivorousplant;
Times = 10;
}
Square, Random;
{
Character = carnivorousplant(GREATER);
Times = 12;
}
Square, Random;
{
Character = carnivorousplant(GIANT);
Times = 14;
}
Square, Random;
{
Character = carnivorousplant(SHAMBLING);
Times = 16;
}
RoomDefault
{
Pos = 2:XSize-5,2:YSize-5;
Size = 4:11,4:11;
AltarPossible = false;
WallSquare = solidterrain(GRASS_TERRAIN), 0;
FloorSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
DoorSquare = solidterrain(GRASS_TERRAIN), 0;
GenerateDoor = true;
DivineMaster = 0;
GenerateTunnel = true;
GenerateLanterns = false;
Type = ROOM_NORMAL;
GenerateFountains = false;
Shape = ROUND_CORNERS;
GenerateWindows = false;
UseFillSquareWalls = false;
Flags = 0;
Square, Random NOT_WALKABLE;
{
Character = carnivorousplant(LILY);
Times = 1:3;
}
}
Room
{
Pos = 2:XSize-6, 2:YSize-6;
Size = 5,5;
AltarPossible = false;
WallSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
FloorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
DoorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
DoorSquare = solidterrain(GRASS_TERRAIN), 0;
GenerateDoor = true;
DivineMaster = 0;
GenerateTunnel = true;
GenerateLanterns = false;
Type = ROOM_NORMAL;
GenerateFountains = false;
Shape = ROUND_CORNERS;
Square, Pos 2,2;
{
OTerrain = stairs(STAIRS_DOWN);
EntryIndex = STAIRS_DOWN;
}
}
Room
{
Pos = 2:XSize-6, 2:YSize-6;
Size = 5,5;
AltarPossible = false;
WallSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
FloorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
DoorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
GenerateDoor = true;
DivineMaster = 0;
GenerateTunnel = true;
GenerateLanterns = false;
Type = ROOM_NORMAL;
GenerateFountains = false;
Shape = ROUND_CORNERS;
Square, Pos 2,2;
{
OTerrain = stairs(STAIRS_UP) { AttachedArea = PLANT_ENTRY_LEVEL; AttachedEntry = PLANT_ENTRY; }
EntryIndex = STAIRS_UP;
}
}
}
Level GENEFOURX_LAIR;
{
Description = "Genefourx Versana's Lair";
ShortDescription = "GenefourxLair";
LevelMessage = "You feel a fairly big evil rooted here.";
FillSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
TunnelSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
Size = 64, 36;
Rooms = 15:20;
Items = 45:50;
GenerateMonsters = false;
IgnoreDefaultSpecialSquares = true;
ItemMinPriceBase = 90;
EnchantmentPlusChanceBase = 60;
BackGroundType = GRAY_FRACTAL;
DifficultyBase = 90;
Square, Random NOT_WALKABLE;
{
Character = carnivorousplant(LILY);
Times = 14;
}
Square, Random;
{
Character = carnivorousplant(GREATER);
Times = 8;
}
Square, Random;
{
Character = carnivorousplant(GIANT);
Times = 14;
}
Square, Random;
{
Character = carnivorousplant(SHAMBLING);
Times = 20;
}
RoomDefault
{
Pos = 2:XSize-8,2:YSize-8;
Size = 3:7,3:7;
AltarPossible = false;
WallSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
FloorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
DoorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
GenerateDoor = true;
DivineMaster = 0;
GenerateTunnel = true;
GenerateLanterns = false;
Type = ROOM_NORMAL;
GenerateFountains = true;
IsInside = true;
GenerateWindows = false;
UseFillSquareWalls = false;
Shape = ROUND_CORNERS;
Flags = 0;
}
Room
{
Pos = 2:XSize-6, 2:YSize-6;
Size = 5,5;
AltarPossible = false;
WallSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
FloorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
DoorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
GenerateDoor = true;
DivineMaster = 0;
GenerateTunnel = true;
GenerateLanterns = false;
Type = ROOM_NORMAL;
GenerateFountains = false;
Shape = ROUND_CORNERS;
Square, Pos 2,2;
{
OTerrain = stairs(STAIRS_UP);
EntryIndex = STAIRS_UP;
}
}
Room
{
Size = 8,8;
Pos = 2:XSize-9,2:YSize-9;
FloorSquare = solidterrain(DEAD_GRASS_TERRAIN), 0;
WallSquare = solidterrain(DEAD_GRASS_TERRAIN), 0;
DoorSquare = solidterrain(DEAD_GRASS_TERRAIN), 0;
GenerateFountains = false;
AltarPossible = false;
GenerateLanterns = false;
GenerateDoor = false;
Square, Pos 4,4;
{
OTerrain = stairs(STAIRS_DOWN);
EntryIndex = STAIRS_DOWN;
}
GTerrainMap
{
Pos = 1,1;
Size = 6,6;
Types
{
# = POISON_LIQUID liquidterrain(UNDERGROUND_LAKE);
}
}
{
.#..#.
#....#
......
......
#....#
.#..#.
}
CharacterMap
{
Size = 8,8;
Pos = 0,0;
Types
{
c = carnivorousplant(GIANT);
g = genetrixvesana(GENEFOURX);
s = carnivorousplant(SHAMBLING);
}
}
{
...ss...
.s....s.
...cc...
s.cg.c.s
s.c..c.s
...cc...
.s....s.
...ss...
}
}
}
Level POND_LEVEL;
{
Description = "Tranquil pond";
ShortDescription = "TranquilPond";
LevelMessage = "You find yourself in a calm lagoon.";
FillSquare = solidterrain(GRASS_TERRAIN), 0;
TunnelSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
Size = 18, 18;
Rooms = 10:15;
Items = 50;
GenerateMonsters = false;
IgnoreDefaultSpecialSquares = true;
ItemMinPriceBase = 110;
EnchantmentPlusChanceBase = 80;
BackGroundType = GRAY_FRACTAL;
DifficultyBase = 70;
RoomDefault
{
/* Inperceptable - for paths */
Pos = 2:XSize-4,2:YSize-4;
Size = 3,3;
AltarPossible = false;
WallSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
FloorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
DoorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
GenerateDoor = true;
DivineMaster = 0;
GenerateTunnel = true;
GenerateLanterns = false;
Type = ROOM_NORMAL;
GenerateFountains = true;
IsInside = true;
GenerateWindows = false;
UseFillSquareWalls = false;
Flags = 0;
}
Square, Random;
{
OTerrain = stairs(STAIRS_UP);
EntryIndex = STAIRS_UP;
}
Room
{
/* Massive pond */
Pos = XSize/4,YSize/4;
Size = XSize/2,YSize/2;
WallSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
FloorSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
DoorSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
Shape = ROUND_CORNERS;
}
}
|
In material.dat:
In solid
| Code: |
Config DEAD_GRASS;
{
StrengthValue = 1;
ConsumeType = CT_MISC_ORGANIC;
Density = 75;
Color = rgb16(148, 100, 5);
NameStem = "grass";
AdjectiveStem = "grassy";
Flexibility = 1;
AttachedGod = SILVA;
CommonFlags = Base&~CAN_BE_WISHED;
BodyFlags = Base;
InteractionFlags = CAN_BURN;
}
|
In glterra.dat
| Code: |
Config DEAD_GRASS_TERRAIN;
{
OKVisualEffects = MIRROR|FLIP|ROTATE;
MainMaterialConfig == DEAD_GRASS;
NameSingular = "ground";
BitmapPos = 16, 16;
}
|
In define.dat
| Code: |
#define DEAD_GRASS (SOLID_ID + 65)
#define DEAD_GRASS_TERRAIN 9
#define PLANT_LEVEL 13
#define GENEFOURX_LAIR 14
#define POND_LEVEL 15
#define SHAMBLING 3
#define LILY 4
#define GENEFOURX 1
|
And finally, a few graphics from that previous thread:
or copy/paste if Tripod says no:
http://squashmonster.tripod.com/IVANplants.png
Those go directly to the left of the second row of mushrooms, a bit above and to the left of Genetrix Vesena.
So, hopefully I didn't miss anything. Have fun playing with what's there. |
|
| Back to top |
|
 |
Atomic archangel

Joined: 12 Jan 2005 Posts: 1442 Location: In the fire
|
Posted: Wed Apr 27, 2005 3:12 am Post subject: |
|
|
As interesting as another themed dungeon branch would be, I really don't think another carniverous plant dungeon is nessacary. Although, that is probably an excellent way to learn to make dungeon branches...
Perhaps the devs (or myself, if I get around to it) would consider coming up with a way to cause the MonGen to spawn within a "family" of monsters?
P.S. I love what you named the grandmother: genefourex vesena. Not exactly scientific sounding but funny as hell... _________________ "Also, I'm the only person I know capable of a pelvic pary and riposte." -- Squashmonster
I moderate in red. |
|
| Back to top |
|
 |
TheFallenOne222 gibberling
Joined: 03 Apr 2005 Posts: 166
|
Posted: Wed Apr 27, 2005 5:04 am Post subject: |
|
|
Why in ELPURI_CAVE?
Why not make it a completely seperate "side quest" dungeon you could do so there's not just GC and UT? |
|
| Back to top |
|
 |
blob elder dark mage

Joined: 28 Mar 2005 Posts: 999 Location: Idling in AFK-land
|
Posted: Wed Apr 27, 2005 11:29 am Post subject: |
|
|
Maybe its only a temporary place ?
One thing: I dont know their attributes but i just hope the new plants are not super powerful compared to the other plants. Like in many games where you meet level-up version of shitty monsters with another color and about 3 or 4 times more strengh than the original....Its just something i dislike.
If it was a side dungeon that you could visit between UT and GC it could be nice.Or it might just be too many carnivor plants in a row.Can be nice as a side branch of GC but more like at a low level ( from 2 to 7 i dont know) but i read on the first thread that it was level 13 ? Frightens me a bit
A family type of monster spawning would be really usefull ( notably for an alien level ).I hope someone could make it |
|
| Back to top |
|
 |
SquashMonster blink dog

Joined: 05 Feb 2005 Posts: 297 Location: The spot right next to the spot where I am.
|
Posted: Wed Apr 27, 2005 11:29 pm Post subject: |
|
|
It's in the GC right after Oree's lair, dungeons 13 to fifteen, if you trust the level number at all. The actual side branch shows up in GC4.
I'd say a whole host of dungeons outside the GC and UT would be a great deal of fun, but it wasn't quite in my skill range at the time.
If I remember right, the plants I made are around the same toughness as a giant carnivorous plant. They should be around the right level.
I agree that carnivorous plants isn't the best theme. I figured this would be the first of many.
Thanks on the naming compliment :D. |
|
| Back to top |
|
 |
blob elder dark mage

Joined: 28 Mar 2005 Posts: 999 Location: Idling in AFK-land
|
Posted: Thu Apr 28, 2005 4:42 pm Post subject: |
|
|
Fine
Do you plan to make the grandmother a bit different than Genetrix ?
Could she uproot herself to chase an escaping intruder ? Or have any special attack ? |
|
| Back to top |
|
 |
Atomic archangel

Joined: 12 Jan 2005 Posts: 1442 Location: In the fire
|
Posted: Thu Apr 28, 2005 8:09 pm Post subject: |
|
|
I think making a 2x2 monster move could be a problem for the game... would it be able to handle narrow corridors? _________________ "Also, I'm the only person I know capable of a pelvic pary and riposte." -- Squashmonster
I moderate in red. |
|
| Back to top |
|
 |
blob elder dark mage

Joined: 28 Mar 2005 Posts: 999 Location: Idling in AFK-land
|
Posted: Thu Apr 28, 2005 8:20 pm Post subject: |
|
|
well vladimir knows how to deal with them
If its not a good way to deal with walls, i see only 2 solutions:
- If isnt yet done maybe it is not too difficult to code that a 2x2 creature is blocked when it encounters a narrow corridor ?
- Maybe the special level of the boss could avoid the problem with no narrow corridors.Only 2 space corridors and rooms with double doors, or another giant room... There could be many type of levels avoiding narrow passages. |
|
| Back to top |
|
 |
Atomic archangel

Joined: 12 Jan 2005 Posts: 1442 Location: In the fire
|
Posted: Fri Apr 29, 2005 1:58 am Post subject: |
|
|
They'd probably also get pretty hung up on corners, not unlike normal monsters do currently. Only more so. _________________ "Also, I'm the only person I know capable of a pelvic pary and riposte." -- Squashmonster
I moderate in red. |
|
| Back to top |
|
 |
Ighalli gibberling

Joined: 18 Jan 2005 Posts: 138 Location: Pennsylvania
|
Posted: Fri Apr 29, 2005 2:22 am Post subject: |
|
|
| Actually, they just plow through walls. Elpuri, Vald, and Lobh-se all do that and as far as I know they are all the 2x2 monsters that move right now. |
|
| Back to top |
|
 |
Freelance Berzerker orc general

Joined: 28 Jun 2006 Posts: 805 Location: In Valhalla, currently posing as "Engels"
|
Posted: Fri Jul 28, 2006 3:10 am Post subject: |
|
|
Hello Squash,
I tried your mod but got the following error:
Program Aborted!
Illegal datavalue AttatchedGod found while building up solid config #4162, line 1036!
All I did was copy your files over the original 0.50 files and then fire up the game. |
|
| Back to top |
|
 |
Somagu werewolf

Joined: 01 Sep 2005 Posts: 547 Location: In AFK-Land™
|
Posted: Fri Jul 28, 2006 7:14 am Post subject: |
|
|
Perhaps it requires the CVS version? _________________ FROG BLAST THE VENT CORE!
Do not mess with the NPSRMRNPPMASZoPawKaBfoG
[01:21] Somagu21: Jacques Flambč
[01:22] guardsheep2000: also known as the greatest firework known to man
I am not under crack. ~~Blob |
|
| Back to top |
|
 |
Freelance Berzerker orc general

Joined: 28 Jun 2006 Posts: 805 Location: In Valhalla, currently posing as "Engels"
|
Posted: Fri Jul 28, 2006 7:25 am Post subject: |
|
|
| I still don't know how to work with that version. |
|
| Back to top |
|
 |
dalboz goblin prince

Joined: 23 Jul 2005 Posts: 490 Location: in front of the computer screen
|
Posted: Fri Jul 28, 2006 11:19 am Post subject: |
|
|
you just have to copy/paste any files the CVS version is missing from the 0.50 version. or something. _________________ "Think like a madman" |
|
| Back to top |
|
 |
Freelance Berzerker orc general

Joined: 28 Jun 2006 Posts: 805 Location: In Valhalla, currently posing as "Engels"
|
Posted: Fri Jul 28, 2006 3:04 pm Post subject: |
|
|
| OK, I'll try that. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2002 phpBB Group
|