Search Results
Searched for posts by fejoa in all forums

Showing results 711 - 720 out of 1020 total
Modify your search
Posted by fejoa, Jan 9, 2015 at 6:21 pm
Yep and spilled fluids call a function which applies effects to whatever they are touching, so rusting things and poisoning characters etc. (I know this now since I am working on putting out flames at the moment).

Doesn't Leprosy accelerate the reduction of attributes like Cha? Or am I thinking of Lycanthropy?

What about praying to scabies so that all the mages in the mage room get leprosy? Does that shut them down easily?
Posted by fejoa, Jan 3, 2015 at 8:01 am
Ok so it looks like we've isolated the problem in as far as we can make it consistently reproducible with the meteoric steel room.

What about if we set the dungeon default to no locked doors, but lock the shop door? Is the shop door unlocked on some occasions?
Posted by fejoa, Jan 1, 2015 at 4:42 pm
In level.cpp I can see some annotations written by a dev, for example:
olterrain* Door = RoomScript->GetDoorSquare()->GetOTerrain()->Instantiate(); //Bug! Wrong room!

I'm not sure, but the comments seem to suggest that the properties of a door may be changed (in say, the shop door) while the settings of another room are being used to determine these properties. Say the status of a lock on a shop door is being changed while the method accesses the flags of another room on the floor?

The code associated with placing doors is enormous and hard to follow. I wonder if it would make sense to use a post-hoc method to unlock all the doors in a room that is not supposed to have locked doors?

Do you know whether the problem persists in non-shop rooms that have
AllowLockedDoors = false;
?
Posted by fejoa, Jan 1, 2015 at 2:32 pm
I think it gets used in level.cpp:
  room* RoomClass = protocontainer<room>::GetProto(*RoomScript->GetType())->Spawn();

But you're right, it doesn't seem to do much else. Can you also check who the divine master is in a shop with a locked door? I wonder if it just reverts to the default script settings for the level or dungeon?
Doors get locked in only two places on the level generation method. One thing to do would be to get IVAN to abort if the program attempt to lock a shop door, and then distinguish between the parts of the code that are causing the problem:

....
Door->Lock();
      if(*RoomScript->GetType() == ROOM_SHOP)
        ABORT("Mate this parrot wouldn't 'voom' if you put four million volts through it!");
...
Posted by fejoa, Jan 1, 2015 at 10:19 am
Pent wrote
We could always force a static door on one side of the shop and set GenerateDoor to false, but that feels like a bit of a cop out.

Yeah I agree, it should just automate logically. I wonder if it's a problem with the code?
Posted by fejoa, Dec 4, 2014 at 2:08 pm
What about adding the following to the room script:
Room
    {
      Size = 5,9;
      ...
      GenerateDoor = false;
      GenerateTunnel = false;
      
      Square, Pos 4, 4;
      {
        GTerrain = solidterrain(PARQUET);
        OTerrain = GRANITE door;
      }
Posted by fejoa, Dec 4, 2014 at 1:01 pm
I vote sticky!
Posted by fejoa, Dec 4, 2014 at 12:58 pm
4zb4 wrote
Even though I can't think of anything off the top of my head in the game that eats rocks, the functionality and nutrition gain should be there for future use.

In addition, golems should be able to eat materials of which they are made and repair themselves in this way.
Posted by fejoa, Dec 2, 2014 at 4:58 pm
Cool, a bug list. Great initiative!

Shop door bugfix suggested here.
This change has been made in master. Can anyone verify that it does what it should?
Posted by fejoa, Dec 2, 2014 at 3:46 pm
Yeah, my new favourite quote:
slob wrote
And then... Lightbulb!!!