Search Results
Searched for posts by 4zb4 in all forums

Showing results 111 - 120 out of 981 total
Modify your search
Posted by 4zb4, Oct 3, 2016 at 2:41 pm
Ischaldirh wrote
Personally I don't like the idea of endings where you ascend to godhead, or fight gods. Seems a little too grand for IVAN, which to me at least has always had a gritty "normal" feel to it. I mean, the original ending rewards you with nothing more than your own freedom, after all. And you were never meant to be an epic hero, like in ADOM or the like - you start a naked banana grower after all...

I feel like this doesn't lend itself well to an "ultra-ending" which requires all sorts of nonsense to be completed before beating the game.

If it weren't for the fact that one of the endings is literally usurping the ruler of Attnam, I'd have voted that to be an ultra-ending for a "gritty normal" game (say, like Mount & Blade) because that's about as good as it's going to get for a regular person in a regular setting.
But we've already got that as the best possible ending for one dungeon.

For an ending to be suitably "ultra" I think it needs to be equally ridiculous and can therefore afford to be a little further out of the realm of reality in the game. Hence why I suggested taking one of the gods - defeating a god is suitably ridiculous and near-impossible. "Player defeated Cruentus and took his place in the divine pantheon" would be a neat thing to have on your hi-scores.
Though, there's only two gods who we know have a physical presence in the world, and those are Silva and... Valpurus.
Posted by 4zb4, Oct 2, 2016 at 8:34 am
fejoa wrote
Has anyone got any ideas for ultra-endings?

Ultra-endings huh?
Sounds like something of a compound ending gained by completing a number of other ending-level requirements.

Maybe something like a continent-spanning quest that requires a key item from each dungeon and specifically not turning them in to the relevant quest-giver?
Say, the shadow veil/xinroch's sword/skull from the Tomb of Xinroch, the Shirt of the Golden Eagle from GC, a... dragon egg? From the Dragon Tower... etc.

For a suitably ridiculous ending I'd really want there to be something like killing one of the gods.

...or do you mean there's an ultra-ending for TX?

EDIT: Had a look at other roguelike ultra-endings and I'm not very impressed that some require stupid stuff like killing the right monster first or doing things in an extremely restrictive manner.
Posted by 4zb4, Sep 30, 2016 at 6:27 pm
In the real world there's symptoms that you'd notice before your limbs dropped off, such as developing lesions and numbness in the extremities.
Since we can't visually show that in-game without doing an assload of extra coding, we can compensate by having the occasional message pop up with things like "Your arms feel numb" or "You notice you're covered in sores" before the limbs actually start falling off.

Much like in the real world, if you didn't know they were leprosy symptoms you wouldn't know you've contracted it but you'd definitely know something is wrong and you'd go seek out a doctor.
On the same note if you DID know they were leprosy symptoms you could take appropriate action immediately.
This can be reflected in-game too!
Posted by 4zb4, Sep 29, 2016 at 9:41 pm
Ischaldirh wrote
How about a compromise - the "You feel you are falling to pieces." message you get when you are infected recurs every few hundred turns as long as you are infected. Gives you a greater chance of catching it before it dooms you, without being as obvious as a "You sense danger!" message.

I like this approach for leprosy. It brings it more in line with poisoning and parasites which also notify you now and then albeit in more... obvious ways.
I think the message that gets printed should be the regular one for when you first contract it, and then something more subtle for the recurring warning messages.

Something like "You feel sore all over" or "Your arms and legs feel quite numb".
This would be close to the message used for parasites, which is "You feel something violently carving its way through your intestines" - It's not immediately obvious what is wrong and what you need to do to fix it, but it at least lets you know that you're infected and an experienced player would know what to do immediately. Newer players would need to learn that lesson themselves, but the message prompts them to take some kind of action. Plus by not pausing the game to alert the player, the possibility for someone to be ignorant of the message until their arms fall off is still there.
Posted by 4zb4, Sep 28, 2016 at 5:43 am
If it's something like "Player left the tomb and became the new host of Xinroch" imma be pissed.
(not going to spoil it for myself by browsing the source)
Posted by 4zb4, Sep 27, 2016 at 7:25 pm
Posted by 4zb4, Sep 27, 2016 at 7:19 pm

I like how this is getting more and more refined into less lines.
  long Price = ForSale->GetTruePrice(GetMaster()->GetConfig() == MONDEDR);
Good stuff.

Serin-Delaunay wrote
long item::GetTruePrice(truth IgnoreMirror=false) const
{
  if(LifeExpectancy || IgnoreMirror)
    return 0;

In the case of mirrored items, isn't this going to always return a price of $0 regardless of whether IgnoreMirror is true?
Posted by 4zb4, Sep 27, 2016 at 4:19 pm
Serin-Delaunay wrote
Personally I'd avoid duplicating the price formula in the room code, just in case it ever changes in the future. That way whoever changes it wouldn't get a nasty surprise when they find Mondedr is still using the old price formula.

That is a point.
Well, you could just add a GetMondedrPrice() function in item.cpp but then it'd be subject to the same problem if someone overlooks it.

truth shop::PickupItem(character* Customer, item* ForSale, int Amount)
{

//other code happens here

if(GetMaster()->GetConfig() == MONDEDR)
  {
    //calls GetMondedrPrice which is the same as GetTruePrice but ignores LifeExpectancy
    long Price = ForSale->GetMondedrPrice;
  }
else
 {
   //the shop is not in Mondedr, so it treats mirrored items as junk
   long Price = ForSale->GetTruePrice();
 }

Another option would be to add a "isMondedrItem" boolean to the item code and then just have GetTruePrice() ignore the LifeExpectancy if that boolean is true and the level is MONDEDR.
But then you'd need to set isMondedrItem for all generated shop items (mirrored or not) in Mondedr, which I feel is a little bit roundabout when you could cut out the middleman and just change the shop code.

EDIT: I had a better idea while I was in the shower (best place for thinking about programming IMO)

Change GetTruePrice() to take a single parameter, boolean AcceptMirrored:

long item::GetTruePrice(boolean AcceptMirrored) const
{
  if(LifeExpectancy && !AcceptMirrored)
    return 0;

Then in the shop code we have the check for Mondedr as before, but now it calls GetTruePrice(true):

truth shop::PickupItem(character* Customer, item* ForSale, int Amount)
{

//other code happens here

if(GetMaster()->GetConfig() == MONDEDR)
  {
    //this is the same as the GetTruePrice code but without the check for LifeExpectancy (or spoilage)
    long Price = ForSale->GetTruePrice(true);
  }
else
 {
   //the shop is not in Mondedr, so it treats mirrored items as junk
   long Price = ForSale->GetTruePrice(false);
 }

 //rest of code here
}
Posted by 4zb4, Sep 27, 2016 at 4:47 am
Actually believe it or not one of my first posts on this forum was a mod that introduced a nuclear landmine to the game.
Don't go find it though because I am extremely embarrassed about past-me.
Posted by 4zb4, Sep 27, 2016 at 4:21 am
fejoa wrote
Can you change the lantern emitation to be a really dark yellow?

Yes but there's a point where it stops being treated as a light source entirely due to not putting out a strong enough light.

Here's a screenshot where I've toned down the default lantern a little, next to the default strength lantern (right):



And here's a screenshot with a brighter light source present (in this case, Petrus' left nut)



And one more with an oil lamp and mutant blood nearby, and one with a green light crystal nearby:



Toning down the default lantern is definitely making the other, more colourful light sources more apparent!