Official IVAN Continuation thread Sticky

Dec 26, 2013, 4:34 am
#51
Joined: Dec 11, 2008
Posts: 1,770
The only issue I can think of with disguising the fact that you're actually going down a floor when it is presented as an "Up" staircase is that you'd still have to press the "Go Down" button to use it.
As for flying baddies you can attach the flying tag to anything. So if we really wanted we could just have the tower populated with flying orcs/guards/kamikaze dwarves.
On the more effort side we do have a 2x2 dragon sprite sitting around...
Dec 26, 2013, 4:38 am
#52
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
Stair placement is easily fixed using certain devices in the script file (namely BoundedRandom). The tower doesn't necessarily need to be round.
In the tower level, are the levels open? Like open platforms with no walls? Or are there walls surrounding the tower?
Air makes a nice liquid terrain, just tried it out.

Edit: it doesn't matter whether you go up or down the stairs, they are there to connect you to the next level.
Dec 26, 2013, 5:14 am
#53
Joined: Dec 11, 2008
Posts: 1,770
Warheck wrote
Edit: it doesn't matter whether you go up or down the stairs, they are there to connect you to the next level.

Oh, that's very good to know. I was thinking what with the LIVAN dragon tower's up staircase sending you back to the worldmap that this was going to be a big issue.
Warheck wrote
The tower doesn't necessarily need to be round.
In the tower level, are the levels open? Like open platforms with no walls? Or are there walls surrounding the tower?
How does everyone feel about having floating platforms (rooms) further up the tower and more solid foundations on the first couple of floors?
Could work similar to how IVANT's special UT level does. Although we would have to work out an easier method to invoke levitation - I had a look to see if I could just make a potion that induces levitation status temporarily, but alas there doesn't seem to be an EFFECT_LEVITATION, only levitation as a state so that rules out the easy way forward.
Dec 26, 2013, 6:35 am
#54
Joined: Nov 22, 2008
Interests: IVAN
Posts: 1,163
From a look at the code, it's perfectly possible to add such an effect. The current effects use a 'long' for bitwise comparison of effects, replacing it with a 'long long' should add 32 extra bits, and you'd get effects #32-63 to play around with. Adding an entry in ivandef.h
#define EFFECT_LEVITATE 32
and in materia.cpp (after line 143)
case EFFECT_LEVITATE: Char->BeginTemporaryState(LEVITATION, Amount); break;
would be a good start (don't know if it'd be enough).

Of course, my compiler gives 2443 errors (literally) when trying to compile so I can't test it right now.
Dec 26, 2013, 7:28 am
#55
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
Just eat a mushroom
Dec 26, 2013, 11:04 am
#56
capristo's avatar
The Imperialist


Joined: Dec 2, 2007
Location: New Attnam
Interests: bananas
Posts: 2,142
Btw somebody submitted a bug report on Github with a segfault when trying to save games
https://github.com/Attnam/ivan/issues

Warheck are you able to compile the latest version and save games alright? Otherwise we should fix this bug / revert the code before making any big changes
Dec 26, 2013, 12:14 pm
#57
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
Yep, the source compiles and saves alright. I think the reason may be that the guy is running linux and our repo isn't cross-platform.
Dec 26, 2013, 10:51 pm
#58
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,825
About the floating platforms, we'd (we? who did I discuss this with again?) already thought of that. Secret areas! So that one could still fully explore the tower without being reliant on something.

As to walls, naturally they'd be there, but this is IVAN, you know? Doesn't take much to destroy them.

Oh, hey, I found it. It was discussed during the Council of IVAN at IVANcon.

Discussion about IVAN on 4.8. and 5.8.2010

Attending: Alveradok, Bored, Chaostrom, Ernomouse, JoKe, J_Kahvi and Z

----
*Player mood system;
	Graphics are ready (Ernomouse has them)
	various levels of panic
		morale paniced <-> psycho
	Berzerk mood
	Animated face of the player
		when high on mushroom, new face
	One for every mood
	Male and female chars are different

*Sex
	http://www.attnam.com/topics/190/IRC_Adventures/2

*Magic system
	ISP/telekinesis kind, no fireballs and other cliches
	F.ex. lift a sword and use it to attack 
	Shouldn't be based on Mana

	Telekinesis/Magic
		travel through walls but no objects can be carried/worn
			player leaves his body and inventory behind and turns into a ghost
				should the body rot if you're away too long?
		ghost items
			amulet of astral projection
			magical mushroom gas could result in Astral projection
		something else than mana-point based system
	
			if mana-stamina drops low, it'd cause bizarre things
			the player will have to sleep
				dreams
					the player could gain things from dreams
					affect food burning rate; Affect stats; Affect item spawning rate
					finding spells only from the dreams
					12 or so dream world
		eaten items could enhance spells (Nethack?)


*Dig up or down
	Escaping up/downwards

*A new quest
	Retrieve a hammer from the catacombs
	Smith gives you a key to petruses wives
	Sex with one of them -> pregnancy (3 days?)
		What if you're female?
	Sacrifice the child and become Valpuri's champ
		If groin gets scarred a lot, you might get infertile
		Probably Petruses children could be sacrificed instead, as a harder guest
		Magical way of restoring fertility

*Player classes
	Might not be needed

*More comments to the code are needed
	Someone should write a guide to code files

*There is a power chart for balancing weapons
	Accuracy, power, sturdiness
	Frequency of appearance is used to balance the power
	Add features -> play testing

*Steppingstone material between meteorite steel adamantine
	The int requirement takes a huge leap

*Every weapon class should have an artifact
	More special items would be nice too (f.ex. flaming sword)
	Trophy items and NPC's for people who contribute a lot to IVAN
		there are plenty of examples already

*Another route to Attnam might be nice [SCRAPPED IDEA]
	Not sure if it's necessary, as there already are alternate ways

*Different types of damage
	Slash, point, blunt, burn
	Variance between different weapons
	Works diffeerently on f.ex. armour
	Ranged weapons would get more reasonable to have
		sling for blunt
		bow for point
		...


*Should full helmets dampen sound
	The less dense a material is, the better sound barrier it is

*Items and limbs made of f.ex. gas
	A weapon: "Fan"
	Steam powered Vacuum cleaner
		effective against ghosts, insects, thrown items

*Monsters could be put into items 
	Iron maiden
	Cage traps
	The problem is to make the charachter disappear
	Could be handled as f.ex. traps?

*A cloud of insects (fireflies, locusts?)
	The catacombs could have lots of insects

*You could have a conversation with the gods
	Ighalli's god system
		effects should be balanced somehow, so that better effects need better relations
		bad effects 
		god requesting an offer for some favours
		lifestyle choises could effect god relations
			blood contains a lot of iron f.ex.

*Ghosts apperance could vary
	Appearance saved when dying
	Blue and small transparence
	Ghosts that disenchant items
	Ghost that eats anything in the way
	Make them irritating
	Invisible chars leave invis. ghosts

*Chaostroms Zombie torso riddance idea
	Limit the torso animation rate to third or quarter of what it is now
	When the groin is severed, the torso cannot turn into a zombie any more

*Convert all graphics to 32x32 (J_Kahvi could probably do it)
	Opens possibilities to f.ex. turning into a big monster??
	Would double the objects available
		midget objects
		wand of object enlargement
	Midget tunnels and dungeons
	Gulliver
	Create new midget monsters from the existing 16x16 graphics
		midgets handle as groups, so you'd attack all the midgets in one square
		they still could move freely about

*Individual throwing accuracy for all items
	
*Monster ideas:
	Wand using monster
	Poltergeist monster 
	Insect cloud monstertype that you cannot attack by normal melee attack

*Moods on the dungeon ("quite like underground weather")
	magical weather, tiring weather, hungering weather

*Different dungeon types
	Tower dungeon
		very open levels
			wind
			going against the wind would be taxing or slowing
		illusions of f.ex. floor tiles
		you should be able to escape the tower by jumping outside
		if the player walks on a floor made of air then he will fall down a level, until he hits something solid
			Damage based on falling distance
		can't progress backwards
		wind blow would affect large and unencumbered creatures more
			if you jump or fly, you'd automatically get blown a certain amount with the wind
			this way small creatures could find secret dungeons
		tower made of balsa
			if the player weighs too much, the floor breaks
		For a cloack you could wear a Dwarven parachute, which radically decreases falling damage
	Small alien side dungeon
		Based on the frenchmen's alien mod
	Astral projection dungeon
		only accessible as a ghost
		astral projections could carry only one item
			only one revard could be brought outside, in case the side quest would be accessible only once
		wizard hiding from something in an astral plane
			his body is f.ex. suspended into a nearby statue
		constantly exploding level as the entrance
			explosions triggering every moment
			ghosts could be immune to explosions
		ghosts could move between levels without stairs
			see digging up and down
	Midget dungeon

*Too much mining would collapse the level above (Dwarf Fortress style)
	generate not only the level you enter, but the ones next to it

*The catacombs should have a different algorithm than the GC and UT

*BUGS:
Shops shouldn't have locked doors without warning
	when the shop is put into a room, change the locked doors next to it into unlocked ones

*Every new version needs more than the faces and the god system
A couple of tricky features, and a few easier ones

*Spreading fire which generates smoke
	Smoke clouds should have a intensity modifier
		In towers and towns wind should blow away the smoke and spread the fire
	Insects could act as clouds that move randomly
	Beehive that grows... Ogod!
		bug room
		makes a nice practice thing

*Side dungeons that go sideways

*Joke ideas:
	Monty Python:
		llamas
		dead parrot
		holy hand grenade
		the killer rabbit
			a little chance of a killer rabit spawning from adult mutant rabbits mating
		witches that weigh the same as a duck
			duck flesh and witch flesh

*Item ideas:
	Fan (blows away insects and ghosts)
	Steampowered vacuum cleaner (sucks in insects and ghosts)
		Instead of steam powered, it could be basically just a captured Eddie; when it breaks, the Eddy comes out...
	Wand of unlocking / locking (closes unlocked and unlocks the closed doors)
		neither of these ideas were generally liked
	Dwarven parachute
	Rubber boots that boost electricy resistance
	HUGE morningstar type weapon
		weapons destroying walls? You can kick them...
	Weapon tweaks
		The stethoscope is a bit strong as a weapon
		Gauntlets don't use unarmed skill (if they're wielded as weapons, maybe they shouldn't either)
		Wielded gloves should affect unarmed skill and worn gauntlets should do extra damage

*Next version shouldn't be too hard: 
	No new dungeon
	BUGFIX: the shop door creation bug and dissolving body parts (TTY only?)
	BUGFIX: Mustard gas hostility bug
	Insect clouds
	Fire
	Mood system
	Having the bones ghosts look like the original characters
	= IVAN 0.51
Dec 27, 2013, 4:02 am
#59
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
Well to fix the shop door creation bug, you just have to set the following in the room script for the dungeon shop in ELPURI_CAVE:

AllowLockedDoors = false;
AllowBoobyTrappedDoors = false;

So I guess that's one ticked off the list for 0.51
Feb 22, 2014, 4:50 pm
#60
Joined: Jul 31, 2009
Occupation: Kiwi farmer
Location: Van down by the river
Interests: Ornamental carnivorous plants
Posts: 56
Don't know if this is the appropriate thread but I wanted to put this idea for an item somewhere before I forget.

If the player can successfully behead the Enner beast, his head is wearable as a helmet. The death message could mention something about there being a hollow resonance cavity where a brain would be expected. On wearing the severed head, the player is given a state of deafness, reducing or ignoring sound damage and effects. Periodically the helmet emits a roar similar to but weaker than the living enner beast's, though the player character only "feels a violent rumbling in his head" or something similar. This helmet could also possibly grant ESP, or whichever state enner beast flesh grants.

I would also expect some downsides to make it more in the spirit of the game. An obvious one is to make the severed head eventually rot away, since it is made of flesh. Another more complex idea is to make it explosive, putting the player wearing this helmet at great risk of head explosion if exposed to fire and making the item very difficult to obtain through fireball attacks on the beast. I'm worried this would make the enner beast himself even more vulnerable to mines, but perhaps they could be eliminated from his lair or be aligned to his "team" to give him vision of them?

I might try to start working on code for this at some point, but I'm not very good and this is far beyond anything I've attempted. Mostly just leaving this here in case anyone else can take some inspiration from it.
Feb 22, 2014, 5:54 pm
#61
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
This sounds like a cool idea. I wonder why the enner beast never gets hit by his own scream?
It'd need to be balanced out by something.
Let's say the enner beast head, when worn by the PC, emits periodically a scream which affects other monsters and pets, but not the player. It is naturally a very powerful advantage. Let's look at how it would be balanced:
- If you have pets, they would be hurt, making it disadvantageous if the player is a pet lover.
- Nearby mines would be at risk of exploding, even if you're levitating
- bottles of healing potion, ommel fluids etc would break on new levels
- wands would break on levels
- piss the shop guards off
- piss Attnam off
- if the player is deaf, then he won't hear the dwarves singing... ... E:<

Some cons:
- the zombie level (just after the enner beast level) could be abused since it is an open level with monsters all over it, so the player would get an unfair advantage from wearing the head and annihilating the monsters
EDIT: [maybe this advantage is a just one, since that level is ridiculous anyway, without either teleporting to the staircase or having good enough stats to cover the floor with zombie corpses]

Questions to think about:
- Does the enner beast's inventory get affected when he screams? (can test this by putting things (wand of fireballs) in Mr. Enner's inventory in the script file?)
- To that end, should we consider whether the player's own inventory gets affected?
- Should wearing the head make you more chaotic, or just universally piss the gods off?

Leastaways we should try code it and see what happens.
Feb 22, 2014, 10:05 pm
#62
Joined: Jul 31, 2009
Occupation: Kiwi farmer
Location: Van down by the river
Interests: Ornamental carnivorous plants
Posts: 56
Hadn't thought about effects on the gods. Maybe each time the effect is triggered, favor with Dulcis could be decreased by some amount? I don't remember exactly how it works, but in my mind this would quickly make her hate the character and eventually spread the ill will to the other lawful gods.
Mar 1, 2014, 8:16 pm
#63
Joined: Feb 20, 2012
Posts: 232
I just noticed that even when you have gas immunity, encountering a bones file still gives the message "You smell the stench of death."

There should be a check for gas immunity upon entering a bones floor, and if the player is immune to gas, there should either be a different message, or the warning should be removed completely.
Mar 2, 2014, 4:01 am
#64
Joined: Nov 22, 2008
Interests: IVAN
Posts: 1,163
Pent wrote
I just noticed that even when you have gas immunity, encountering a bones file still gives the message "You smell the stench of death."

There should be a check for gas immunity upon entering a bones floor, and if the player is immune to gas, there should either be a different message, or the warning should be removed completely.

If your dead adventurer had the same name as your living one, the message is "You have a feeling you've been here in one of your past lives". So removing the stench message when gas immune would make it slightly advantageous to play with the same name every time. But replacing the message would be a great idea, something like "You pass a man with a scythe on the stairs." or "You feel the cool breeze of death." or something semi-wannabe-sinister like that.
Mar 2, 2014, 5:27 am
#65
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
That's a subtle bug. Will look into it for a good solution.
Mar 9, 2014, 6:11 pm
#66
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
Ok, I'm composing a list of small changes to make to the source:

- Gas immunity bones message bug (thanks Pent)
- Fix the shop door creation bug
- Fix the mustard gas hostility bug

Some items for discussion, i.e. should we fix the following:
- Wishing for ommel cerumen, change to make this material unwishable ?
- Fix the library exploit ?
- Fix the banana room exploit ?

I'd like to hear what people think. It would make the game more difficult. Are there any more things that need changing?
Mar 9, 2014, 6:55 pm
#67
capristo's avatar
The Imperialist


Joined: Dec 2, 2007
Location: New Attnam
Interests: bananas
Posts: 2,142
I've never used any of those exploits. I'm fine with fixing them. Maybe we could make a poll... I forget if polls work
Mar 9, 2014, 8:59 pm
#68
Joined: Feb 20, 2012
Posts: 232
Given that all three of those exploits are clearly unintended by the developers (to the point that we explicitly refer to them as exploits) they should certainly be fixed. If anyone really wants to use them they can always play 0.50, but IVAN isn't really one to give out freebies, so these bugs feel incredibly out of place.
Mar 10, 2014, 12:03 am
#69
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
Did we fix the mustard gas hostility bug? Might look at that one too.

EDIT: just tested, it is not fixed yet.

EDIT2: I suspect the mustard gas hostility bug arises because masochists don't mind it when you throw things at them.
Mar 10, 2014, 2:40 am
#70
Joined: Sep 22, 2008
Posts: 631
All the three exploits should be fixed, no question about it. Shoplifting would be fine if it was difficult to do, like having a pet carry things out of the shops in Nethack; here you just pile things and kick them.

Turning elite guards untameable or increasing the difficulty to something above the scroll level (lyre?) could be worth consideration as well, doing that completely trivializes GC1-4.
Mar 10, 2014, 3:04 am
#71
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
JoKe wrote
All the three exploits should be fixed, no question about it. Shoplifting would be fine if it was difficult to do, like having a pet carry things out of the shops in Nethack; here you just pile things and kick them.

Turning elite guards untameable or increasing the difficulty to something above the scroll level (lyre?) could be worth consideration as well, doing that completely trivializes GC1-4.

Completely agree. I'll add the elite guard taming as a bug-fix. Those guards are all invisible anyway huh? So the player shouldn't even be meddling round taming those guys in the first place.
Mar 10, 2014, 5:13 am
#72
Joined: Dec 11, 2008
Posts: 1,770
Warheck wrote
Those guards are all invisible anyway huh? So the player shouldn't even be meddling round taming those guys in the first place.
Well yeah, but the player also shouldn't be kicking items out of the library or turning large chests into ommel cerumen.
It's only going to be done by people specifically looking to exploit it.

And another vote for fixing the listed exploits, if we're counting.
Mar 10, 2014, 1:43 pm
#73
Joined: Feb 20, 2012
Posts: 232
These may be of interest; they were in /Doc/Obsolete:

Artifact Ideas II.txt (Artifact Ideas.txt contained all artifacts already in the game)
small swords

dagger of venom - permanent poison
incredibly sharp dagger named Mucro - bypass armor
banshee sickle - screams, makes enemies panic

large swords

sword of giant slaying - double damage against monsters of > 250 size (bastard sword)

axes

mammoth battle axe - enormous damage, may bounce enemies, very heavy, very difficult to hit

polearms

scythe of undeath - raises all killed humanoids as temporary zombies

In fact, for anyone who hasn't, read through everything in /Doc/, it's quite interesting, and you can get a good feel for the direction the Devs wanted to take the game.
Mar 10, 2014, 5:46 pm
#74
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,113
Ok I have some code solution candidates for review:

Gas immunity bones message bug
Fixed but needs testing (thanks Pent, Eagle V)
in game.cpp:

if(Name == PlayerName)
	ADD_MESSAGE("This place is oddly familiar. Like you had been here in one of your past lives.");
else if(Player->StateIsActivated(GAS_IMMUNITY))
	ADD_MESSAGE("You feel the cool breeze of death.");
      else
	ADD_MESSAGE("You smell the stench of death.");

The shop door creation bug
In room script file for dungeon shop in ELPURI_CAVE, wrote the following:
AllowLockedDoors = false;
AllowBoobyTrappedDoors = false;

Elite guard taming
Add the following to char.dat under elite guard:
TamingDifficulty = 30; 
(need to check if this works satisfactorily, should it be 30 or 40?)
(can still tame it, but it is more difficult)

Wishing for ommel cerumen
Has been previously attended to; in material.dat:
CommonFlags = Base|IS_VALUABLE&~(CAN_BE_WISHED|CAN_BE_MIRRORED);

Library exploit
A missing logical inversion.
In rooms.cpp:
change:
truth library::AllowKick(ccharacter* Char, const lsquare* LSquare) const
{
  return (!LSquare->GetStack()->GetItems()
	  || !MasterIsActive() || Char == GetMaster()
	  || GetMaster()->GetRelation(Char) == HOSTILE
	  || LSquare->CanBeSeenBy(GetMaster()));
}
to:
truth library::AllowKick(ccharacter* Char, const lsquare* LSquare) const
{
  return (!LSquare->GetStack()->GetItems()
	  || !MasterIsActive() || Char == GetMaster()
	  || GetMaster()->GetRelation(Char) == HOSTILE
	  || !LSquare->CanBeSeenBy(GetMaster()));
}


The banana room exploit
As above, but more difficult to find.
In rooms.cpp:
Replace:
void bananadroparea::KickSquare(character* Kicker, lsquare* Square)
{
  if(AllowKick(Kicker, Square) && Kicker->IsPlayer()
     && game::GetTeam(NEW_ATTNAM_TEAM)->GetRelation(Kicker->GetTeam())
     != HOSTILE)
with:
void bananadroparea::KickSquare(character* Kicker, lsquare* Square)
{
  if(!AllowKick(Kicker, Square) && Kicker->IsPlayer()
     && game::GetTeam(NEW_ATTNAM_TEAM)->GetRelation(Kicker->GetTeam())
     != HOSTILE)


Mustard gas hostility bug (this is a darned tricky one)
Any suggestions?
Mar 10, 2014, 6:22 pm
#75
Joined: Feb 20, 2012
Posts: 232
They all seem sound, aside from the Cerumen solution, which seems like more of a bandage solution than a permanent one. It should be set as unwishable the same as the other Ommel liquids, though I can't find any flag in the script or code to allow this... How is it determined whether a material can be wished for or not?

Golgor Dhan's Taming Difficulty is 40, so 30 should work for the guard (same as for Angels). 20 or 25 would even be good, since that around where Guugzamesh's is, and by the point he shows up mithril shouldn't be too overpowered.

As far as mustard gas... There are no instances in which non-hostile NPCs will trigger mustard gas on their own, correct? This may change if enemies are allowed to throw items, but perhaps a temporary solution could simply be to make anything hit by mustard gas turn against the player, unless they're masochistic pets?
Jump to