Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Variants (http://angband.oook.cz/forum/forumdisplay.php?f=4)
-   -   [Announce] FrogComposband 7.1.salmiak released (http://angband.oook.cz/forum/showthread.php?t=10152)

Sideways September 12, 2021 18:09

The spoilers use a slightly different format, outright giving the damage as 1d80+50.

In theory, that would be a nice format for the regular monster recall too; but there are some problems with it. One, an average damage is easier to adjust for resistances. Two, if I started displaying mana bolt damage as a range, say 51-130, I'd have to start displaying almost all spell damages as ranges... since even spells (or breaths) with non-random initial damage effectively develop a (small) range when resistance randomness is accounted for. Three, if I *did* display almost everything as a range, it would give players false assurance and they'd be even more surprised to see a monster hit them for more than the upper limit.
Which would still happen occasionally, when the monster has high mpower or is a non-unique breather with higher than average HP...

Kodiologist September 12, 2021 19:29

Is there a limit to how heavily a monster could get buffed in terms of mpower or max HP? If so, it could make sense to calculate a maximum on that basis, since the idea is to show the player the worst case. No doubt some players would notice that the maxima are rarely achieved in practice, fail to take them seriously, and then eventually actually get hit for that much or close to that much, but them's the breaks.

Sideways September 13, 2021 01:01

Quote:

Originally Posted by Kodiologist (Post 155316)
Is there a limit to how heavily a monster could get buffed in terms of mpower or max HP? If so, it could make sense to calculate a maximum on that basis, since the idea is to show the player the worst case. No doubt some players would notice that the maxima are rarely achieved in practice, fail to take them seriously, and then eventually actually get hit for that much or close to that much, but them's the breaks.

In terms of random max HP that would make sense; though practically all major breathers, even the non-unique ones, have fixed max HP in any case.

Mpower, though, can go absurdly high. It's limited only by being a signed 16-bit integer, which means the highest value it can take is 3276.7%. That would mean multiplying many of the maxima (everything not otherwise capped) by 32.767 for display...

Kodiologist September 13, 2021 01:49

Hmm, I guess one just has to get used to the fact that a random monster has a small chance of one-shotting you, then. Another reason to play instant-coffee, I guess.

Sideways September 13, 2021 03:54

To be clear, mpower never goes that high in normal play.

All monsters are born with an mpower of 100%, and most of them will stay that way unless hit with unlife or time attacks. The usual case for high mpower is big unlife monsters like Vlad, Izanami, Kaschei or Osiris, who grow in mpower by leeching life from you; but in practice they're very unlikely to ever reach a really exorbitant mpower. (Mostly because they kill you before it happens.)

GrimaTheBold September 15, 2021 21:30

How to Play Nature High-Mage
 
I'm trying one now - I liked the idea of Nature because it gives you both utility spells and offensive spells (and of course the High-Mage only gets one realm).

But looking at the spell set, I don't see how I can take down rBase monsters, such as Icky Queen or Gelatinous Cubes. Is this a build that needs to rely on melee - pick a hardier race, try to find a good weapon, maybe put some stat gains in STR instead of just INT?

Or is this just a bad idea? Would a Chaos High-Mage be a better combo (more lacking in utility, but better offense)?

HugoVirtuoso September 16, 2021 15:05

Apparently, darkness aura is now a thing in vanilla-PCB. Sideways, do you want to add this enemy mechanic in the future? No need to give this to player Ninjas though

Sideways September 17, 2021 00:08

Quote:

Originally Posted by HugoTheGreat2011 (Post 155378)
Apparently, darkness aura is now a thing in vanilla-PCB. Sideways, do you want to add this enemy mechanic in the future? No need to give this to player Ninjas though

Isn't darkness aura already a thing? (Both in the sense of monsters surrounded by a radius of darkness, and in the sense of monsters who zap you with the element Dark when you melee them.)

HugoVirtuoso September 17, 2021 01:33

I think you're, right, on the former. Any FCPB examples that do the latter?

Sideways September 17, 2021 01:43

Tselakus, Ungoliant, Morgoth, Nephthys, Metatron and GWOPs.

Pete Mack September 17, 2021 05:02

Shouldnt Metatron have a bright (blinding) light aura?

wobbly September 17, 2021 11:13

Quote:

Originally Posted by GrimaTheBold (Post 155373)
I'm trying one now - I liked the idea of Nature because it gives you both utility spells and offensive spells (and of course the High-Mage only gets one realm).

But looking at the spell set, I don't see how I can take down rBase monsters, such as Icky Queen or Gelatinous Cubes. Is this a build that needs to rely on melee - pick a hardier race, try to find a good weapon, maybe put some stat gains in STR instead of just INT?

Or is this just a bad idea? Would a Chaos High-Mage be a better combo (more lacking in utility, but better offense)?

Grav storm, ice bolt isn't till book 4 and while nice they aren't the greatest damage as far as late game nukes. Nature high-mage is still fine it just means you are dependant on melee/shooter/device. I'd aim for shooter early, device later and be on the lookout for sorceror's stone which activates for recharging.

Kodiologist September 18, 2021 03:34

Any hints on instant-coffee mode? I tend to hit a wall at Angband 29, around XL 28, because the level guardian is too hard for me at that point (e.g., Implorington III, in my last game), DL 25 quests are too hard for me, and the experience and loot provided by the arena is too small to make a difference. It looks like recalling out of an Angband quest means you never get another shot at that level, so you'll only fall further behind the power curve. I've been playing green dragons with the lore domain.

Sideways September 18, 2021 12:52

The level 25 quests, and especially the mimic quest, should be very doable by that point. Completing them ought to help a bit.

That said, instant-coffee is by far the least forgiving mode when it comes to bad luck with monsters or items. (It is, of course, also the fastest to try again in.)

HugoVirtuoso September 24, 2021 12:32

Apparently bashing doors and enemies fighting back worsen stealth in Sil-Q/Sil. Is this mechanic also in FCPB? If not, will this be part of FCPB?

How about making FCPB stealth worsened by equip weight alone?

Bucephalus September 25, 2021 00:47

Quote:

Originally Posted by HugoTheGreat2011 (Post 155497)
Apparently bashing doors and enemies fighting back worsen stealth in Sil-Q/Sil.

Stealth in Sil is really masterfully realized. Read the manual sometime if you haven't (a work of art itself!). Arguably it's equally refined in Dungeon Crawl.

I play Sil for its tightness, personally, and Frog for its looseness.

HugoVirtuoso September 26, 2021 19:22

To Sideways: Any plan to reinstate Staves of Holiness?

Sideways September 27, 2021 06:13

Quote:

Originally Posted by HugoTheGreat2011 (Post 155539)
To Sideways: Any plan to reinstate Staves of Holiness?

Not really.

GrimaTheBold October 6, 2021 16:41

Stat Gain Question
 
Quick question I've always wondered. When you gain a stat, as you approach your max the gains are smaller. For example if your current stat is 18/10, you might gain /20 to /30 points. But if you are at 18/65 and your max is 18/70, you'll only gain a couple of points maybe.

So my question, if you know you will raise that score's max in the future (!New Life), will your ultimate stat be higher if you save those stat gain potions when you're close to your current max and drink them after you've raised the max? For example, if max is 18/70, and you're currently at 18/65, and you have a stat gain potion, is it better to save it and not drink until you've raised that max? Or is that not the way it works?

Seraphimus October 6, 2021 22:36

Quote:

Originally Posted by Sideways (Post 148179)
I'm not entirely happy with the current situation, but I'm not sure basing Crafting off the item's original generation level would be an improvement or more intuitive, as the generation level has no other effects post-generation. (Basing it off the item kind's native level would also be non-ideal.)

Possible new approaches I would consider are 1) for Crafting scrolls to have a regular, flat power like scrolls of Fire, Ice, Genocide etc. do; or 2) for Crafting to give better results deeper in the dungeon like Acquirement does. The latter would be extremely easy to code, though I'm not sure I like that approach personally; it's still the same scroll, the same base item and the same player wherever the process happens.

From the perspective of a Craft caster using Crafting as a spell, it makes perfect sense that the spell's power scales up with CL the same way as other Craft enchantment spells; and I think the reason scrolls also use the player's level is so the spell and the scroll can share the same code more comfortably, but it shouldn't be very hard to separate the two.

Just found my first scroll of craft today and stumbled across this looking up information on it, Wanted to add my two cents on the Crafting scrolls situation, another option would be to do like Acquirement and have ?craft and ?*craft* where the latter is much rarer/deeper but significantly more powerful.

Sideways October 7, 2021 01:49

Quote:

Originally Posted by GrimaTheBold (Post 155650)
Quick question I've always wondered. When you gain a stat, as you approach your max the gains are smaller. For example if your current stat is 18/10, you might gain /20 to /30 points. But if you are at 18/65 and your max is 18/70, you'll only gain a couple of points maybe.

So my question, if you know you will raise that score's max in the future (!New Life), will your ultimate stat be higher if you save those stat gain potions when you're close to your current max and drink them after you've raised the max? For example, if max is 18/70, and you're currently at 18/65, and you have a stat gain potion, is it better to save it and not drink until you've raised that max? Or is that not the way it works?

The further away the max is, the more oomph you get per potion (as long as base >= 18); so if you have a limited supply of stat potions and successfully raise a max, then yes, you will get more out of those potions by quaffing them later. (Of course, the opposite happens when you lower a max.)

Sideways October 7, 2021 02:00

Quote:

Originally Posted by Seraphimus (Post 155658)
Just found my first scroll of craft today and stumbled across this looking up information on it, Wanted to add my two cents on the Crafting scrolls situation, another option would be to do like Acquirement and have ?craft and ?*craft* where the latter is much rarer/deeper but significantly more powerful.

Crafting is already rare and deep; and I think I like it that way, in that the rarity forces the player to make choices. With two types of crafting scrolls, at least one would likely be substantially more common. That said, it is still an interesting idea.

Kodiologist October 11, 2021 00:39

What does force damage do? It doesn't seem to be mentioned in the documentation (by accident, or because it's supposed to be left for the player to figure out?) but it appears in breath weapons, at least. My last death occurred immediately after being breathed on by a flying polyp. I lost a turn at a bad time, but if I understand the message log correctly, that's because I was stunned by an ivory monk, not because of a special effect of the breath.

You do 70 damage. The Ivory monk is more dazed. You do 35 damage. The
Flying polyp flinches.
The Flying polyp breathes Force. The Ivory monk is more dazed. You take
103 damage. You stand your ground! *** LOW HITPOINT WARNING! *** Press
Space to continue. => .
The Ivory monk attacks you: He misses. He kicks. You take 12 damage.
*Ouch!* You have been stunned. He punches. You take 10 damage. *Ouch!*
He misses.
The Flying polyp attacks you: It crushes. You take 14 damage. You stand
your ground! *Ouch!* You resist the effects! It crushes. You take 16
damage. *Ouch!* You resist the effects! It crushes. You take 16 damage.

Pete Mack October 11, 2021 01:11

In angband, force stuns and throws you backwards. If you're already against the wall, I believe you take extra damage.

GrimaTheBold November 3, 2021 19:26

Can anyone explain the details of Dimension Door - which squares are eligible and which are not?

I think I've figured out that you can't DD into a vault. Is that always the case? Where else can't you DD to?

I know I've had difficulties in some quests trying to DD to specific rooms, and I can't figure out what the specific rules are.

Sideways November 3, 2021 21:59

The square you dimension-door to must not have a monster in it (excluding the player's mount); it must be a square the player's capable of entering; it must not be a trap; the square's terrain feature must have the TELEPORTABLE flag (most non-wall features do, even traps, but trees do not; so you cannot dimension-door onto a tree); lava and deep water are forbidden unless you have levitation or (for water) the ability to swim (deep lava is almost always forbidden, even if you do have levitation); and finally, the square must not have the ICKY flag.

The icky flag is essentially a vault flag, and prevents you from magically dimension-dooring (or teleporting) into an intact vault. (Earthquakes and destruction clear all icky flags in the area of effect, so you *can* dimension-door into shattered parts of a vault.) Unteleportable areas in quests are generally also caused by the ICKY flag. (There is no easy way to tell which parts of a quest level are icky, apart from looking at the underlying edit file; and even then, some quests randomize which areas are icky.)

Finally, Dimension Door usually has a range limit; and also a small random chance to fail even if the target square is perfectly acceptable.

budswell November 4, 2021 05:33

So after lots of coffee-break I am back to normal mode.

Am I right in understanding this difference:
- In coffee break you can rest at the inn to get stores to change their stock
- In normal mode this does not work. You need to use the old fashioned Rest-eat-fill-kill (towns people who iterrupt your rest)

Feel kind of naked without curing potions

Thraalbee November 4, 2021 11:06

Shuffle stores isn't that expensive. also tele service between towns is useful. When low on something a quick tour of all towns helps. I like to browsie all black markets every now and then for !speed and !heal primarily.
Zul of course no tele to until you do that quest

GrimaTheBold November 5, 2021 16:02

My Life/Sorcery Priest just found the Stone of Life, and I can't figure out what this power means:

It greatly enhances Life magic.

I assumed my Life spells would become more powerful when I wear it, but when I browse my Life books the effects seem unchanged. Healing still heals 300 points. Ultimate Resistance still lasts 25+1d25 turns.

Does it not actually increase the power of spells? Or does it do it in a way that doesn't show when you browse your spell books?

It does appear to have the Dm function, decreasing spell costs for Life spells. But if that's all it does, I assume it would have just said that, rather than having the description of enhancing life magic.

Edit: I figured it out. "Enhances Life Magic" reduces spell fail % by 3% and reduces MP cost. I was hoping it would increase the power of spells, oh well.

Seraphimus November 8, 2021 17:49

Quote:

Originally Posted by Sideways (Post 155660)
Crafting is already rare and deep; and I think I like it that way, in that the rarity forces the player to make choices. With two types of crafting scrolls, at least one would likely be substantially more common. That said, it is still an interesting idea.

That's fair, it was interesting trying to decide if I wanted to craft a dragon scalemail or try and save it for a good high-tier weapon type drop. The results on said scale-mail were a bit disappointing, Honestly I feel like part of the problem is that a lot of the stuff you'd actually want to use it on is too high level and will thus never roll particularly well with a scroll of craft, and so by the time you are deep enough to find those scrolls it's likely those items can drop with better rolls on them then the scroll can craft.

then again I'm not capable of picking through the code and my experimentation with it is fairly limited in scope at the moment. it does seem from some testing that you roll better ego's on lower tier items.

LordL November 26, 2021 14:25

2 Attachment(s)
Bug report: stats of Q's are not shown correctly

Sideways November 26, 2021 14:34

Quote:

Originally Posted by LordL (Post 156332)
Bug report: stats of Q's are not shown correctly

Thanks for the report. This is not a bug per se, it's a byproduct of how stats are displayed. Stats on the birth screen are always displayed as applicable at birth, i.e. character level 1. Stats in the help files, though, are displayed as of character level 35; by which time quylthulgs have evolved a bit and gained better racial stats as a consequence.

AwooWolfWoof November 27, 2021 08:36

I've got a question regarding the Agwilian Stables quest in instant coffe mode guys: Are one of the chambers always closed/jammed/locked? I think it's the one with the fiendish donkeys.

Sideways November 27, 2021 12:00

Both the donkey chamber and the hrulga chamber are jammed, the hrulgas almost invariably break out of their chamber though. (I see your last dump was a Berserker. If you're wondering how to get into the donkey chamber on a Berserker, try bashing down the doors with the B command.)

LordL November 29, 2021 15:57

Maybe we should import vanilla feature of autoshooting nearest enemy when pressing 'h'?

Sideways November 30, 2021 13:09

You can keymap h to fa*5 (if you have use_old_target off) or *5fa (if you have use_old_target on) if you want that; although you should note that this may break down if you inscribe ammo with a different slot label like @f1.

budswell December 12, 2021 16:00

How long has Witchwood been the land of Oz?
I thought I was sure its been Witchwood with previous characters on the same version. Is it random? Or am I being my usual unobservant self?
I'm kind of enjoying the two flavours of Oz mixed together. (Do the flaming crows evolve into "Flamin' Galahs"?)

GrimaTheBold December 12, 2021 17:07

Quote:

Originally Posted by budswell (Post 156584)
How long has Witchwood been the land of Oz?
I thought I was sure its been Witchwood with previous characters on the same version. Is it random? Or am I being my usual unobservant self?
I'm kind of enjoying the two flavours of Oz mixed together. (Do the flaming crows evolve into "Flamin' Galahs"?)

It's an alternate, like getting Troll Caves instead of Orc Caves. Random, but not sure if its 50/50 or something different.

GrimaTheBold December 12, 2021 17:08

Quick question: Does +10% Device Power on gloves increase damage from wands? When I ID the wand it shows the same damage (say 5d8) whether or not I wear the gloves, but maybe that's just a display limitation.

HugoVirtuoso December 12, 2021 18:45

Quote:

Originally Posted by GrimaTheBold (Post 156589)
Quick question: Does +10% Device Power on gloves increase damage from wands? When I ID the wand it shows the same damage (say 5d8) whether or not I wear the gloves, but maybe that's just a display limitation.

Also: Is +10% Device Power specific to only book spells, magical devices, or both?

Sideways December 12, 2021 23:03

Quote:

Originally Posted by GrimaTheBold (Post 156589)
Quick question: Does +10% Device Power on gloves increase damage from wands? When I ID the wand it shows the same damage (say 5d8) whether or not I wear the gloves, but maybe that's just a display limitation.

The damage is increased; that's a display limitation, caused by the damage for that particular device being displayed as a roll. The displayer tries to add the +10% boost to the number of dice, but it's working with integer math, resulting in 5 * 1.1 = 5.

budswell December 14, 2021 03:22

Hi, I have a couple of questions about riding:
- How do I improve riding skill. Melee while mounted? Shooting while mounted? Spells/abilities while mounted? Does level of mount affect this?
- While mounted is does the mount speed affect everything or just movement? What about melee? (which is kind of movement)
- Ralated to previous question: is there any benefit to improving my character's speed while mounted?

Sideways December 14, 2021 14:20

Quote:

Originally Posted by budswell (Post 156625)
Hi, I have a couple of questions about riding:
- How do I improve riding skill. Melee while mounted? Shooting while mounted? Spells/abilities while mounted? Does level of mount affect this?
- While mounted is does the mount speed affect everything or just movement? What about melee? (which is kind of movement)
- Ralated to previous question: is there any benefit to improving my character's speed while mounted?

Quotes from various places in the in-game manual (the proficiency help, the pet help and the speed help):

Quote:

Riding proficiency is the key to everything about riding a monster; it determines which monsters you can ride, how much of your mount's speed you gain, how likely your mount is to throw you off, how rapidly your mount recovers from various status effects, how negatively riding impacts your spellcasting, how much you are penalized for fighting with unsuitable weapons. Consequently, your proficiency cap is very important if you plan to ride; for characters with low caps, riding is only viable in the early game, if at all.

Riding proficiency can be improved in several ways: through meleeing sufficiently high-level monsters while riding, through shooting high-level monsters while riding (conditions easy to meet, but improvement very slow), and by experiencing situations where you can be thrown off a challenging mount.

Riding proficiency follows a slightly different labeling system compared to the other proficiencies; [Be]ginner, [Sk]illed and [Ex]pert correspond to lower percentages of full mastery in it. As with the other non-spell proficiencies, riding proficiency and its cap can be viewed in the ~P proficiency display.
Quote:

The most important feature of riding is speed. When you are riding on a pet, your speed does not depend on your original speed but only on the speed of your mount and your skill at riding. Quaffing a potion of speed has no effect on your mount's speed, but throwing it at a wall will hasten your pet if it is nearby. You can also simply use a wand or a spell of Haste Monster.

Note that your proficiency level for riding is very low at first (see 'Proficiency' in the ~ Knowledge Menu). When your proficiency level is low, you cannot make good use of riding, and your speed while riding will be very low. You need to practice riding to gain the full speed of the creature you ride. Your riding proficiency will increase a little when you attack monsters in melee or shoot them with missile weapons while riding. Ride on low level creatures at first, and then switch to higher level mounts little by little.
Quote:

Note that if you ride a pet, your speed (for all purposes!) will depend entirely on your Riding skill and the speed of your mount. Speed equipment will not help you any, nor will quaffing a Potion of Speed; you can, however, temporarily haste the mount. Many mounts are very fast, allowing you to reach a high speed without much investment in speed equipment - but watch out, that could come back to bite you if you get thrown off...

budswell December 14, 2021 16:24

Awesome. Thanks again for you great game and incredible support

budswell December 17, 2021 06:58

Related to GrimaTheBold's question:
Am I right in assuming a "Ring of Wizardy (+0,+16)" add damage to spells?
But my current character is a "breath" Dragon, and there is no difference in the displayed damage of either my 'm' or 'U' breaths.

Is it a display issue, or do rings of Wizardy not help dragons.
If the latter - is it because they are non-book spells? Or is it because they are fixed damage spells as opposed to XdY?

Sideways December 17, 2021 14:50

Quote:

Originally Posted by budswell (Post 156651)
Related to GrimaTheBold's question:
Am I right in assuming a "Ring of Wizardy (+0,+16)" add damage to spells?
But my current character is a "breath" Dragon, and there is no difference in the displayed damage of either my 'm' or 'U' breaths.

Is it a display issue, or do rings of Wizardy not help dragons.
If the latter - is it because they are non-book spells? Or is it because they are fixed damage spells as opposed to XdY?

Yes, rings of Wizardry add damage to spells. I think thematically it doesn't work here because dragon breaths aren't really wizardry; but really, where it works and where it doesn't isn't always thematic. Best way to tell is to look at the displayed damage and see if it's affected.

LordL December 18, 2021 20:41

1 Attachment(s)
So I just got this ring as a quest reward.

Is it just useless?

HugoVirtuoso December 18, 2021 23:06

As discussed on angband.live, probable Es or Dm bonuses won't if you're non-mage (That's what ster said)

HugoVirtuoso December 21, 2021 23:59

Destruction apparently works in Plains of Oz.

Sideways December 22, 2021 13:02

Quote:

Originally Posted by HugoTheGreat2011 (Post 156689)
Destruction apparently works in Plains of Oz.

As of 7.1.salmiak, the rule for forest dungeons (i.e. Witch Wood and Plains of Oz) is that destruction works, but its power is reduced and the effects on terrain are somewhat modified.

GrimaTheBold December 25, 2021 22:17

Is level feeling scaled for the size of the dungeon level? Will a large level have a higher level feeling than a small level if each has the same density of monsters & items?

Sideways December 26, 2021 12:56

Quote:

Originally Posted by GrimaTheBold (Post 156743)
Is level feeling scaled for the size of the dungeon level? Will a large level have a higher level feeling than a small level if each has the same density of monsters & items?

Level feelings are not scaled by size, so yes, a large level would have a higher feeling in that situation.

grodrigues December 26, 2021 13:39

Frg in wine
 
Since some time ago I could not get Frog to work on wine (compiling from source is something of a hassle, having to track down dependencies and what not). So just in case someone is having the same problem as me: somehow, some of the files/folders had dates set to the future, something like the 24th century. I do not know if this is a problem with the win package, or I somehow botched things up (since I am not a time traveler, I cannot fathom how I could have though). Wine was complaining loudly, not finding said files/folders. Just:
Code:

touch ./*
in the Frog root folder and you are good to go.

Jake Hershey January 1, 2022 20:47

Brand "Weapon of Order"?
 
HI! I just found cutlass "Divine Wind" and its flags are "Slay Orc" and "Weapon of Order". Can anyone tell me what Weapon of Order means? When I whack things with it, I don't see anything different in the text (like with a Wild Blade)
Thanks!!

HugoVirtuoso January 1, 2022 21:16

This occurred recently:

[16:12] HugoV4: For rodent: I'm playing a Red Draconian Karrot Disciple and my ability to use Teleport staves is better than Teleport Scrolls...
[16:13] HugoV4: Teleport staff with 7 charges: 2.7% fail
[16:13] HugoV4: Teleportation Scroll: 4.4% fail
[16:14] HugoV4: Why would the staff version have a lower failure rate
[16:14] HugoV4: This Karrot Disciple has INT of 16

Sideways January 1, 2022 21:54

Quote:

Originally Posted by Jake Hershey (Post 156817)
HI! I just found cutlass "Divine Wind" and its flags are "Slay Orc" and "Weapon of Order". Can anyone tell me what Weapon of Order means? When I whack things with it, I don't see anything different in the text (like with a Wild Blade)
Thanks!!

Weapons of Order usually aren't particularly great, the only actual difference between them and non-Order weapons (apart from the unusual dice) is that weapons of Order don't roll any criticals.

Gokudera ElPsyCongroo January 4, 2022 01:21

Do you have plans to add more prefabs/templates/vaults and level generation tweaks in a future version?
I tried to compare variants to settle on which I should play and loved the incredible variety and QoL (you have my thanks for the extensive help files) of Frogcomposband! But I got to admit that prefabs from Composband and generators from Vanilla (and even dungeon features from Unangband and FAangbang) seem like very exciting additions that I'd love to see sprinkles of in your variant.

Sideways January 4, 2022 19:38

Quote:

Originally Posted by Gokudera ElPsyCongroo (Post 156844)
Do you have plans to add more prefabs/templates/vaults and level generation tweaks in a future version?

Maybe (especially the level generation tweaks); but mostly, I would expect new additions on these lines to be the byproduct of other new content (like back when new wilderness templates were added to go with the new snow/ice terrain, or when Atlantis got its own level generation rules). I certainly won't copy all the additions from Composband without major cuts and edits; seem to recall more of them than I'd like being easy sources of top-end loot.

Gokudera ElPsyCongroo January 5, 2022 00:17

Quote:

Originally Posted by Sideways (Post 156849)
but mostly, I would expect new additions on these lines to be the byproduct of other new content

Argh, I agree that's a very valid point. Templates and vaults wouldn't make sense in that case, buuut maybe interactable elements (like switches, pillars, fountains of random effects… like mutations! ,treasure in diverse type of bushes, roaming npcs providing services, in-dungeon shops, basically all of TGGW's unpredictable and exciting interactables) could be a pretext for adding some of Unangband's work around exploration variety, dynamic room descriptions…

Super good to see that, even though your variant is probably the largest I've seen, you care about adding content that is meaningful and engaging (your class/race/monster selection and differenciation along with its precise and flavorful explicative text in help files is the best I've seen in any roguelike). So, thrilled to see what you'll come up with next… and impatient to die to a iconic unique as a randomly choosen Frankenstein character again :)

Sideways January 5, 2022 15:40

Quote:

Originally Posted by Gokudera ElPsyCongroo (Post 156852)
Argh, I agree that's a very valid point. Templates and vaults wouldn't make sense in that case, buuut maybe interactable elements (like switches, pillars, fountains of random effects… like mutations! ,treasure in diverse type of bushes, roaming npcs providing services, in-dungeon shops, basically all of TGGW's unpredictable and exciting interactables) could be a pretext for adding some of Unangband's work around exploration variety, dynamic room descriptions…

Super good to see that, even though your variant is probably the largest I've seen, you care about adding content that is meaningful and engaging (your class/race/monster selection and differenciation along with its precise and flavorful explicative text in help files is the best I've seen in any roguelike). So, thrilled to see what you'll come up with next… and impatient to die to a iconic unique as a randomly choosen Frankenstein character again :)

In-dungeon shops are already a thing, and often have much better items than normal shops :) (They are not exclusive to FrogComposband, they're inherited from its ancestors.)

Gokudera ElPsyCongroo January 6, 2022 02:55

1 Attachment(s)
Quote:

Originally Posted by Sideways (Post 156858)
In-dungeon shops are already a thing, and often have much better items than normal shops :)

Very nice to hear! I couldn't see any in noob dungeons I've visited for now but loving the variety and feeling of exploration already.

I have a small "bug" with subwindows: when loading my save, text is slightly cropped. Resizing the window fixes it, but the problem reappears when saving and reloading. Not sure if I badly configured something?

Gokudera ElPsyCongroo January 8, 2022 02:41

Just slain Smeagol and the Recall says that he drops 1 exceptional object but I only saw a lot of gold on the floor… Are those drops chance not 100%, even though it's an unique'? (but if so, why did I get the information in the recall?)

It was in a cramped corridor, so is it possible that the gold took the place of the exceptional object and wiped it out of the floor?

Sideways January 8, 2022 14:38

Smeagol has the DROP_90 flag, which for uniques means dropping 1 object. (For non-uniques it means they have a 90% chance of dropping the object, which is still listed as 1 object in monster recall.)

Smeagol also has the ONLY_ITEM flag, which means the object is guaranteed to not be gold. (Smeagol does drop gold, but that's because of a different mechanic.)

This was a very quick look, but from what I saw he should always drop an object. Did you steal an object from him, or was he a pet of yours at some point?

Grotug January 8, 2022 14:56

Screwing around in terminal now. Hopefully I'll figure out compiling without wrecking my computer >.<

Anyone know how to compile this for MacOS? I read the readme.txt but copying and pasting the commands gives a lot of "command not found" messages. I think I did download 20gb of dev tools when it prompted me to, but still not able to compile. *** several command and permissions later *** I did manage to get it to install (lots of lines of code went flying down the screen). But when I type frogcomposband nothing happens and I don't see a new folder or new files after the make install. :confused: I enter /src directory and type frogcomposband but says command not found. I double click on frogcomposband from the finder window in the /src folder and this happens:

Code:

Last login: Sat Jan  8 11:23:55 on ttys001
jasonroot@Jasons-MacBook-Pro ~ % /Users/jasonroot/Documents/frogcomposband-7.1.salmiak/src/frogcomposband ; exit;
/Users/jasonroot/Documents/frogcomposband-7.1.salmiak/src/frogcomposband: Cannot create '/usr/local/var/games/frogcomposband/user'
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]


Gokudera ElPsyCongroo January 8, 2022 16:19

Thanks I see, that's weird…

Quote:

Originally Posted by Sideways (Post 156893)
Did you steal an object from him, or was he a pet of yours at some point?

No… I could've missed it by mistake, though I have Detect Objects and crawl very slowly (hunted Robin Hood around the entire floor to see if he could drop a sling for my Rogue :p)

Oh speaking of which, what type of special bonus for slings do Rogue get (saw that from the manual)?
What bonus/penalty do Shadow-Fairies get in light/darkness? Because until now I kept casting Illumination/having a brass lantern, without visible penalties?
Also do slings and ranged weapons get a penalty when fired at range 1?

Sideways January 8, 2022 19:16

Quote:

Originally Posted by Gokudera ElPsyCongroo (Post 156896)
Thanks I see, that's weird…

No… I could've missed it by mistake, though I have Detect Objects and crawl very slowly (hunted Robin Hood around the entire floor to see if he could drop a sling for my Rogue :p

To answer your other question from before, no, the gold would not displace or replace the object even in a cramped area; although the gold might generate on the same square as the object, potentially obscuring it on the screen. But in that case, even if you weren't checking the object list, you would notice the object upon walking over it.

Quote:

Oh speaking of which, what type of special bonus for slings do Rogue get (saw that from the manual)?
Think it's just a CL-dependent accuracy boost.
Quote:

What bonus/penalty do Shadow-Fairies get in light/darkness?
None, they have a special stealth mechanic but it's unrelated to illumination. You're probably thinking of their racial vulnerability to the element light; i.e. they take extra damage from light-based attacks.

Quote:

Also do slings and ranged weapons get a penalty when fired at range 1?
No.

Sideways January 8, 2022 19:30

Quote:

Originally Posted by Grotug (Post 156894)
Screwing around in terminal now. Hopefully I'll figure out compiling without wrecking my computer >.<

Anyone know how to compile this for MacOS? I read the readme.txt but copying and pasting the commands gives a lot of "command not found" messages. I think I did download 20gb of dev tools when it prompted me to, but still not able to compile. *** several command and permissions later *** I did manage to get it to install (lots of lines of code went flying down the screen). But when I type frogcomposband nothing happens and I don't see a new folder or new files after the make install. :confused: I enter /src directory and type frogcomposband but says command not found. I double click on frogcomposband from the finder window in the /src folder and this happens:

Code:

Last login: Sat Jan  8 11:23:55 on ttys001
jasonroot@Jasons-MacBook-Pro ~ % /Users/jasonroot/Documents/frogcomposband-7.1.salmiak/src/frogcomposband ; exit;
/Users/jasonroot/Documents/frogcomposband-7.1.salmiak/src/frogcomposband: Cannot create '/usr/local/var/games/frogcomposband/user'
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]


FrogComposband should not be launched from the /src folder, but from whichever folder is above /src; although I don't think that's the only problem here. What happens if you configure it with ./configure --with-no-install?

Grotug January 9, 2022 01:33

Quote:

Originally Posted by Sideways (Post 156902)
FrogComposband should not be launched from the /src folder, but from whichever folder is above /src; although I don't think that's the only problem here. What happens if you configure it with ./configure --with-no-install?

Code:

jasonroot@Jasons-MacBook-Pro frogcomposband-7.1.salmiak % ./configure
checking build system type... x86_64-apple-darwin20.6.0
checking host system type... x86_64-apple-darwin20.6.0
checking target system type... x86_64-apple-darwin20.6.0
checking for tput... /usr/bin/tput
configure: touching .deps files
Note: You have chosen to compile for installation, with data files
    in standard locations. For development, you may wish to consider using
    --with-no-install which will leave the game to run from the directory
    into which it was extracted and compiled.

checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether make sets $(MAKE)... yes
checking whether ln -s works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for windres... no
checking for rm... /bin/rm
checking for mv... /bin/mv
checking for cp... /bin/cp
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdint.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking return type of signal handlers... void
checking for mkdir... yes
checking for setresgid... no
checking for setegid... yes
checking for stat... yes
checking for mkstemp... yes
checking for usleep... yes
checking for fdopen... yes
checking if gcc supports -Wno-missing-field-initializers... yes
checking if make supports SysV-style inclusion... yes
checking for make silent include syntax... gnu
checking for ncursesw5-config... no
checking for ncurses - wide char support... no
*** The ncursesw5-config script installed by ncursesw could not be found
*** If ncursesw was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the NCURSES_CONFIG environment variable to the
*** full path to ncursesw5-config.
checking for mvwaddnwstr... no
checking for use_default_colors... no
checking for can_change_color... no
checking for X... no
configure: creating ./config.status
config.status: creating mk/buildsys.mk
config.status: creating mk/extra.mk
config.status: creating mk/sinclude.mk
config.status: creating src/autoconf.h
config.status: src/autoconf.h is unchanged

Configuration:

  Install path:                          /usr/local
  binary path:                            /usr/local/games
  config path:                            /usr/local/etc/frogcomposband/
  lib path:                              /usr/local/share/frogcomposband/
  doc path:                              /usr/local/share/doc/frogcomposband/
  var path:                              (not used)
  (with private save and score files in ~/.angband/FrogComposband/)

-- Frontends --
- Curses                                  No; missing libraries
- X11                                    No; missing libraries
- SDL                                    Disabled
- Windows                                Disabled
- Test                                    No
- Stats                                  No

- SDL sound                              Disabled
jasonroot@Jasons-MacBook-Pro frogcomposband-7.1.salmiak % frogcomposband
zsh: command not found: frogcomposband
jasonroot@Jasons-MacBook-Pro frogcomposband-7.1.salmiak %

Edit, woops. Now I understand what you asked:

Code:

jasonroot@Jasons-MacBook-Pro frogcomposband-7.1.salmiak % ./configure --with-no-install
checking build system type... x86_64-apple-darwin20.6.0
checking host system type... x86_64-apple-darwin20.6.0
checking target system type... x86_64-apple-darwin20.6.0
checking for tput... /usr/bin/tput
configure: touching .deps files
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether make sets $(MAKE)... yes
checking whether ln -s works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for windres... no
checking for rm... /bin/rm
checking for mv... /bin/mv
checking for cp... /bin/cp
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdint.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking return type of signal handlers... void
checking for mkdir... yes
checking for setresgid... no
checking for setegid... yes
checking for stat... yes
checking for mkstemp... yes
checking for usleep... yes
checking for fdopen... yes
checking if gcc supports -Wno-missing-field-initializers... yes
checking if make supports SysV-style inclusion... yes
checking for make silent include syntax... gnu
checking for ncursesw5-config... no
checking for ncurses - wide char support... no
*** The ncursesw5-config script installed by ncursesw could not be found
*** If ncursesw was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the NCURSES_CONFIG environment variable to the
*** full path to ncursesw5-config.
checking for mvwaddnwstr... no
checking for use_default_colors... no
checking for can_change_color... no
checking for X... no
configure: creating ./config.status
config.status: creating mk/buildsys.mk
config.status: creating mk/extra.mk
config.status: creating mk/sinclude.mk
config.status: creating src/autoconf.h

Configuration:

  Install path:                          (not used)
  binary path:                            ..
  config path:                            /Users/jasonroot/documents/frogcomposband-7.1.salmiak/lib/
  lib path:                              /Users/jasonroot/documents/frogcomposband-7.1.salmiak/lib/
  doc path:                              /Users/jasonroot/documents/frogcomposband-7.1.salmiak/doc/
  var path:                              /Users/jasonroot/documents/frogcomposband-7.1.salmiak/lib/

-- Frontends --
- Curses                                  No; missing libraries
- X11                                    No; missing libraries
- SDL                                    Disabled
- Windows                                Disabled
- Test                                    No
- Stats                                  No

- SDL sound                              Disabled
jasonroot@Jasons-MacBook-Pro frogcomposband-7.1.salmiak %


smbhax January 9, 2022 05:10

Quote:

Originally Posted by Grotug (Post 156905)
Code:

checking for ncursesw5-config... no
checking for ncurses - wide char support... no
*** The ncursesw5-config script installed by ncursesw could not be found
*** If ncursesw was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the NCURSES_CONFIG environment variable to the
*** full path to ncursesw5-config.

Code:

-- Frontends --
- Curses                                  No; missing libraries
- X11                                    No; missing libraries
- SDL                                    Disabled
- Windows                                Disabled
- Test                                    No
- Stats                                  No

- SDL sound                              Disabled


In Cygwin, I get that ncursesw script missing configure message too, which for Frog disables compiling the Curses front end. With no front ends enabled, as in your case, the game won't work (I think your first problem is launching the game with the correct syntax though--see next post).

Cygwin doesn't have an ncurses 5 package, just 6--so I worked around the ncursesw5-config thing by going into my /cygwin/bin/ directory, copying the ncurses6-config and ncursesw6-config files, and changing "6" to "5" in the names of the copied files. ; ) To my surprise, that hack actually worked, and I was able to compile and run the game.

Angband vanilla has kind of worked around this problem by changing the ncursesw config error to just a warning, so it doesn't disable the Curses front end. But maybe Frog actually uses a wide character set, unlike Vanilla? Although hm no wait Frog seems to look fine on angband.live in Droid Sans Mono, which is not a (very) wide font (alas!), so probably not.

Not sure why Vanilla and Frog haven't updated their config settings to detect ncurses/w 6 as well as 5, though. Ncurses 6 has been out since 2015, and is source-compatible with 5 https://invisible-island.net/ncurses/announce-6.0.html--but if the user only has 6, and the config script is hard-coded to check only for 5's filenames or whatever, then this sort of silly problem will occur.

UPDATE 1/11: backwardsEric has the elegant solution for this curses detection problem in the next page or two of the thread:

Quote:

Originally Posted by backwardsEric (Post 156917)
For compiling on a Mac, try

Code:

./configure --with-no-install NCURSES_CONFIG=/usr/bin/ncurses5.4-config
. That worked with Angband on a system with macOS 11.6.2 and Xcode 13.2.1 installed. That path in /usr/bin is where the ncurses configuration tool is. This also worked for Angband:

Code:

./configure --with-no-install --with-ncurses-prefix=/usr LIBS=-lncurses

(The latter worked for me on Cygwin.)

smbhax January 9, 2022 05:23

Quote:

Originally Posted by Grotug (Post 156894)
I enter /src directory and type frogcomposband but says command not found.

Not sure how things work on Mac, but in Cygwin, running an exe with just its name doesn't work; you have to use "./[file name]"; also, as Sideways mentioned, you would tend to do that outside the /src folder (or even outside the game folder entirely). For instance, in Cygwin I have the game in a folder named "frogcomposband" in my home/[username]/ folder, so after starting Cygwin, from my username folder, to launch the game I type

Code:

./frogcomposband/src/frogcomposband
^ You have the "./" on the front (that was what looked missing in what you wrote--but again, not sure exactly what syntax may be required on Mac).

(And if you want subwindows--this is covered down near the bottom of the readme--you can enter more parameters, like mine with 3 subwindows is

Code:

./frogcomposband/src/frogcomposband -mgcu -- -right 40x25,* -bottom *x7
)

backwardsEric January 9, 2022 16:31

For compiling on a Mac, try

Code:

./configure --with-no-install NCURSES_CONFIG=/usr/bin/ncurses5.4-config
. That worked with Angband on a system with macOS 11.6.2 and Xcode 13.2.1 installed. That path in /usr/bin is where the ncurses configuration tool is. This also worked for Angband:

Code:

./configure --with-no-install --with-ncurses-prefix=/usr LIBS=-lncurses

Pete Mack January 10, 2022 02:52

He does not always have an object drop. But he always drops the gold he steals.

Sideways January 10, 2022 03:46

Quote:

Originally Posted by Pete Mack (Post 156923)
He does not always have an object drop. But he always drops the gold he steals.

That's (modern) Vanilla. Thieves in FrogComposband drop any stolen objects, but not stolen gold (although thieves do drop extra gold at the same rate as droppers of good and excellent objects).

HugoVirtuoso January 10, 2022 03:51

In Frogcomposband, I notice that enemies, especially thieves, don't pick up money from the ground. What's up with that? :D

Sideways January 10, 2022 13:05

That's a good point; I could make thieves drop stolen gold, but also pick up floor gold. Although it would change the money balance a bit, and make the Thieves' Hideout quest less of a warning about giving all your money away.

lea2501 January 11, 2022 02:08

How can i compile Frogcomposband in OpenBSD 7.0 -current? i tried the following with no success:

Code:

$ ./configure --prefix $HOME/.frogcomposband --without-x --with-no-install
$ gmake clean
$ gmake

But i get this output:
Code:

gmake[1]: Entering directory '/home/lea/src/frogcomposband'
Entering directory src
gmake[2]: Entering directory '/home/lea/src/frogcomposband/src'
gmake[3]: Entering directory '/home/lea/src/frogcomposband/src'
gmake[3]: Leaving directory '/home/lea/src/frogcomposband/src'
gmake[3]: Entering directory '/home/lea/src/frogcomposband/src'
Generating dependencies...
gmake[4]: Entering directory '/home/lea/src/frogcomposband/src'
In file included from monk.c:1:
In file included from ./angband.h:19:
In file included from ./h-basic.h:66:
./h-system.h:43:12: fatal error: 'sys/timeb.h' file not found
#  include <sys/timeb.h>
          ^~~~~~~~~~~~~
1 error generated.
In file included from monspell.c:1:
In file included from ./angband.h:19:
In file included from ./h-basic.h:66:
./h-system.h:43:12: fatal error: 'sys/timeb.h' file not found
#  include <sys/timeb.h>
          ^~~~~~~~~~~~~


backwardsEric January 11, 2022 02:46

Quote:

Originally Posted by lea2501 (Post 156958)
How can i compile Frogcomposband in OpenBSD 7.0 -current? i tried the following with no success:

Code:

$ ./configure --prefix $HOME/.frogcomposband --without-x --with-no-install
$ gmake clean
$ gmake


A quick way is to tell it you're using an SGI (looks like the only effect of that is to skip the problematic header file):

Code:

./configure --prefix $HOME/.frogcomposband --without-x --with-no-install CFLAGS=-DSGI
gmake


lea2501 January 11, 2022 10:35

Quote:

Originally Posted by backwardsEric (Post 156959)
A quick way is to tell it you're using an SGI (looks like the only effect of that is to skip the problematic header file):

Code:

./configure --prefix $HOME/.frogcomposband --without-x --with-no-install CFLAGS=-DSGI
gmake


Sadly i have the same exact error

Code:

Generating dependencies...
gmake[4]: Entering directory '/home/lea/src/frogcomposband/src'
In file included from ninja.c:1:
In file included from ./angband.h:19:
In file included from ./h-basic.h:66:
./h-system.h:43:12: fatal error: 'sys/timeb.h' file not found
#  include <sys/timeb.h>
          ^~~~~~~~~~~~~


backwardsEric January 11, 2022 15:27

Quote:

Originally Posted by lea2501 (Post 156968)
Sadly i have the same exact error

Code:

Generating dependencies...
gmake[4]: Entering directory '/home/lea/src/frogcomposband/src'
In file included from ninja.c:1:
In file included from ./angband.h:19:
In file included from ./h-basic.h:66:
./h-system.h:43:12: fatal error: 'sys/timeb.h' file not found
#  include <sys/timeb.h>
          ^~~~~~~~~~~~~


Hmm, setting SGI should have excluded that; it worked on OpenBSD 6.9. Commenting out line 43 of h-system.h should do the trick; replace it with

Code:

/* # include <sys/timeb.h> */

lea2501 January 11, 2022 17:01

Quote:

Originally Posted by backwardsEric (Post 156974)
Hmm, setting SGI should have excluded that; it worked on OpenBSD 6.9. Commenting out line 43 of h-system.h should do the trick; replace it with

Code:

/* # include <sys/timeb.h> */

Thanks! i managed to compiled it with this:
Code:

$ ./configure --prefix $HOME/.frogcomposband --without-x --with-no-install CFLAGS="-DSGI -DULTRIX"
$ gmake

because i saw this in the "src/h-system.h" file:
Code:

# if !defined(SGI) && !defined(ULTRIX)
    # include <sys/timeb.h>
# endif

and it compiled! but it doesn't work
Code:

v ~/src/frogcomposband [master]
lea@openbsd > ./src/frogcomposband -uUser -mgcu -- -n1
./src/frogcomposband: Unable to prepare any 'display module'!
x ~/src/frogcomposband [master]
lea@openbsd > ./src/frogcomposband -uUser
./src/frogcomposband: Unable to prepare any 'display module'!
x ~/src/frogcomposband [master]
lea@openbsd > ./src/frogcomposband
./src/frogcomposband: Unable to prepare any 'display module'!


backwardsEric January 11, 2022 17:22

Quote:

Originally Posted by lea2501 (Post 156975)
Code:

v ~/src/frogcomposband [master]
lea@openbsd > ./src/frogcomposband -uUser -mgcu -- -n1
./src/frogcomposband: Unable to prepare any 'display module'!
x ~/src/frogcomposband [master]
lea@openbsd > ./src/frogcomposband -uUser
./src/frogcomposband: Unable to prepare any 'display module'!
x ~/src/frogcomposband [master]
lea@openbsd > ./src/frogcomposband
./src/frogcomposband: Unable to prepare any 'display module'!


When I compiled it on OpenBSD 6.9, it did not recognize the installed version of ncurses by default but did recognize the X11 libraries which were also installed. Adding "--with-ncurses-prefix=/usr LIBS=-lncurses" to the options to configure let it build the curses front end. That worked, at least as far as getting to the splash screen and the prompt for what sort of game to start.

lea2501 January 11, 2022 17:32

Quote:

Originally Posted by backwardsEric (Post 156976)
When I compiled it on OpenBSD 6.9, it did not recognize the installed version of ncurses by default but did recognize the X11 libraries which were also installed. Adding "--with-ncurses-prefix=/usr LIBS=-lncurses" to the options to configure let it build the curses front end. That worked, at least as far as getting to the splash screen and the prompt for what sort of game to start.

It managed to compile like this:
Code:

$ ./configure --prefix $HOME/.frogcomposband --with-ncurses-prefix=/usr LIBS=-lncurses --without-x --with-no-install CFLAGS="-DSGI -DULTRIX"
But then i get this (new) error:
Code:

x ~/src/frogcomposband [master]
lea@openbsd > ./src/frogcomposband -uUser
./src/frogcomposband: Fatal Error.


backwardsEric January 11, 2022 17:55

The "Fatal Error." means it didn't find the lib directory. Check the output of configure to see what it said the "lib path" would be. I suspect that configure wants the LIBS= option at the end of the command line (after any of the --with, --without, --enable, --prefix, ...) and ignored the --with-no-install.

smbhax January 11, 2022 18:52

Quote:

Originally Posted by backwardsEric (Post 156917)
This also worked for Angband:

Code:

./configure --with-no-install --with-ncurses-prefix=/usr LIBS=-lncurses

Aha! That one solves the ncurses5/6 detection problem on Cygwin. Thanks! : D

GrimaTheBold January 12, 2022 18:01

A quick Ninja question - is there any downside to adding light sources as long as they're offset by darkness sources?

I have a Feanoran Lamp of Darkness which decreases light by 3. Is there any penalty to using Sting, or an Amulet with Lu, as long as they are still offset by the -3 on the Lamp and I'm not getting the "Icky light" message? Is there a benefit to having a larger negative light (darkness)?

Sideways January 12, 2022 21:26

Quote:

Originally Posted by GrimaTheBold (Post 156997)
A quick Ninja question - is there any downside to adding light sources as long as they're offset by darkness sources?

No, actually negative total light simply gets rounded up to no light. As long as any light gets offset by darkness, you're good.

mariari January 16, 2022 20:31

I got the game to compile fine on Linux, however it seems if I try to press !, or { (inscribe then select any item) the game crashes with the message given in the below code snippet .

Note this happens both with the master branch on github and the 7.1 salmiak release. Does anyone know if there is some library mismatch or any way to solve or better report this issue?

Code:

2 katya@Babylon-4:~/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak % ./frogcomposband
=================================================================
==3746037==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffe9fbb8ec0 at pc 0x555c18d6a3a2 bp 0x7ffe9fbb8c70 sp 0x7ffe9fbb8c60
WRITE of size 1 at 0x7ffe9fbb8ec0 thread T0
    #0 0x555c18d6a3a1 in askfor_aux /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/util.c:2720
    #1 0x555c18d6abbc in askfor /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/util.c:2904
    #2 0x555c18a85133 in _inscriber /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/obj.c:979
    #3 0x555c18a9cb97 in obj_prompt /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/obj_prompt.c:147
    #4 0x555c18a85555 in obj_inscribe_ui /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/obj.c:999
    #5 0x555c1884cb35 in _dispatch_command /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:4031
    #6 0x555c1884e516 in process_command /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:4499
    #7 0x555c18853232 in process_player /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:5018
    #8 0x555c1885793c in dungeon /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:5432
    #9 0x555c18860566 in play_game /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:6464
    #10 0x555c18e8adbe in main /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/main.c:779
    #11 0x7f9e56cfeb24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    #12 0x555c1863fa5d in _start (/home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/frogcomposband+0x1d6a5d)

Address 0x7ffe9fbb8ec0 is located in stack of thread T0 at offset 128 in frame
    #0 0x555c18a84d6b in _inscriber /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/obj.c:959

  This frame has 2 object(s):
    [48, 128) 'insc' (line 966) <== Memory access at offset 128 overflows this variable
    [160, 415) 'name' (line 965)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/util.c:2720 in askfor_aux
Shadow bytes around the buggy address:
  0x100053f6f180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100053f6f190: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f1 f1 04 f2
  0x100053f6f1a0: 04 f2 00 00 00 00 00 00 00 00 00 00 00 00 04 f3
  0x100053f6f1b0: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
  0x100053f6f1c0: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f1 f1 00 00
=>0x100053f6f1d0: 00 00 00 00 00 00 00 00[f2]f2 f2 f2 00 00 00 00
  0x100053f6f1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100053f6f1f0: 00 00 00 00 00 00 00 00 00 00 00 07 f3 f3 f3 f3
  0x100053f6f200: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
  0x100053f6f210: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 04 f2 00 00
  0x100053f6f220: 00 00 00 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:          00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:      fa
  Freed heap region:      fd
  Stack left redzone:      f1
  Stack mid redzone:      f2
  Stack right redzone:    f3
  Stack after return:      f5
  Stack use after scope:  f8
  Global redzone:          f9
  Global init order:      f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:          fe
  Left alloca redzone:    ca
  Right alloca redzone:    cb
  Shadow gap:              cc

2 1 katya@Babylon-4:~/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak % ./frogcomposband
=================================================================
==3746105==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffc69e3ad40 at pc 0x55f9d91b63a2 bp 0x7ffc69e3aae0 sp 0x7ffc69e3aad0
WRITE of size 1 at 0x7ffc69e3ad40 thread T0
    #0 0x55f9d91b63a1 in askfor_aux /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/util.c:2720
    #1 0x55f9d91b6bbc in askfor /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/util.c:2904
    #2 0x55f9d91b6c02 in get_string /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/util.c:2932
    #3 0x55f9d8bb00bc in do_cmd_pref /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/cmd4.c:1770
    #4 0x55f9d8c997ea in _dispatch_command /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:4275
    #5 0x55f9d8c9a516 in process_command /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:4499
    #6 0x55f9d8c9f232 in process_player /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:5018
    #7 0x55f9d8ca393c in dungeon /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:5432
    #8 0x55f9d8cac566 in play_game /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/dungeon.c:6464
    #9 0x55f9d92d6dbe in main /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/main.c:779
    #10 0x7f0617c3ab24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    #11 0x55f9d8a8ba5d in _start (/home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/frogcomposband+0x1d6a5d)

Address 0x7ffc69e3ad40 is located in stack of thread T0 at offset 128 in frame
    #0 0x55f9d8baffdc in do_cmd_pref /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/cmd4.c:1763

  This frame has 1 object(s):
    [48, 128) 'buf' (line 1764) <== Memory access at offset 128 overflows this variable
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/katya/Desktop/Games/Rogue/Angband/frogcomposband/frogcomposband-7.1.salmiak/src/util.c:2720 in askfor_aux
Shadow bytes around the buggy address:
  0x10000d3bf550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10000d3bf560: 00 00 00 00 00 00 f1 f1 f1 f1 f1 f1 04 f2 04 f2
  0x10000d3bf570: 00 00 00 00 00 00 00 00 00 00 00 00 04 f3 f3 f3
  0x10000d3bf580: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10000d3bf590: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f1 f1 00 00
=>0x10000d3bf5a0: 00 00 00 00 00 00 00 00[f3]f3 f3 f3 00 00 00 00
  0x10000d3bf5b0: 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00
  0x10000d3bf5c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10000d3bf5d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10000d3bf5e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10000d3bf5f0: 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:          00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:      fa
  Freed heap region:      fd
  Stack left redzone:      f1
  Stack mid redzone:      f2
  Stack right redzone:    f3
  Stack after return:      f5
  Stack use after scope:  f8
  Global redzone:          f9
  Global init order:      f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:          fe
  Left alloca redzone:    ca
  Right alloca redzone:    cb
  Shadow gap:              cc


Nick January 16, 2022 22:49

Quote:

Originally Posted by mariari (Post 157042)
I got the game to compile fine on Linux, however it seems if I try to press !, or { (inscribe then select any item) the game crashes with the message given in the below code snippet .

Looks to me like
Code:

    /* Paranoia -- Clip the default entry */
    buf[len] = '\0';

should be
Code:

    /* Paranoia -- Clip the default entry */
    buf[len - 1] = '\0';

(util.c line 2720). Or potentially you could use different call parameters in line 979 of obj.c, but that still leaves it open for error in other calls.

mariari January 16, 2022 23:57

Quote:

Originally Posted by Nick (Post 157043)
Looks to me like
Code:

    /* Paranoia -- Clip the default entry */
    buf[len] = '\0';

should be
Code:

    /* Paranoia -- Clip the default entry */
    buf[len - 1] = '\0';

(util.c line 2720). Or potentially you could use different call parameters in line 979 of obj.c, but that still leaves it open for error in other calls.

Yeah That seems to fix the two errors I've encountered.

I've since got other people to compile the game, and seems if they ran the make file without any options, the commands work, but pref crashes when you hit enter.

However when they do compile with
Code:

./configure SANITIZE_FLAGS=-fsanitize=address --with-no-install
This error happens for them, I'm guessing without fsantize=adresss the game just sees the errors writes to the memory location that is out of bounds and continues on. Should I make a pull request with this on the repo, it seems to lack any sort of issue tracking.

Thank you once again

smbhax January 17, 2022 08:38

Quote:

Originally Posted by smbhax (Post 156910)
Not sure why Vanilla and Frog haven't updated their config settings to detect ncurses/w 6 as well as 5, though.

Ah, Vanilla is detecting ncurses6 now. : )

Sideways January 17, 2022 13:12

Quote:

Originally Posted by mariari (Post 157042)
I got the game to compile fine on Linux, however it seems if I try to press !, or { (inscribe then select any item) the game crashes with the message given in the below code snippet .

Note this happens both with the master branch on github and the 7.1 salmiak release. Does anyone know if there is some library mismatch or any way to solve or better report this issue?

Thanks for reporting; and thanks to Nick for taking a look. (The choice of buf[len] rather than buf[len-1] was originally deliberate, but most other parts of the code forgot about it, with two or three exceptions.)

HugoVirtuoso January 17, 2022 15:16

I noticed the Brass Lantern of Extra Light {Lu} doesn't have 0 light radius when it has 0 turns of light. Shouldn't it have 0 light radius when its fuel runs out...? I already knew {Lu} had permanent light. But, if the light runs out, it's out...or maybe it is still supposed to have light to because of "Permanent Light?" I'm trying to confirm how the Brass Lantern of Extra Light game mechanics are intended to work in FrogComposband.

In Sil-Q, they, as Brass Lanterns of Brightness, actually causes the light radius to be 0 at 0 turns of light.

LordL January 22, 2022 17:33

Is it normal that walking through forest tiles takes 60 energy with fleet of foot demigod talent?

Sideways January 23, 2022 10:58

Quote:

Originally Posted by LordL (Post 157150)
Is it normal that walking through forest tiles takes 60 energy with fleet of foot demigod talent?

Provided that it's a character who would otherwise take 100 energy in forest tiles (e.g. a Ranger, a Scout, someone with passwall or levitation, etc.), yes.

budswell January 31, 2022 11:45

Just a thanks post.

Currently had a pet mystic for a couple of dungeons, and just started the chameleon cave. He summons "spiders" a LOT, but they're not spiders and things get pretty crazy pretty fast in the big open areas.

Most fun surprise I've had since I hit my first paranah trap (still my favourite *band moment ever).

Thanks again to all the maintainers for a great variant which can still surprise me after all these years.

GrimaTheBold February 1, 2022 01:08

My CL34 Priest (Life/Sorcery) just found the 4th Life book (Blessings of the Grail) in Haunted House, which is level 45. How ridiculously OOD is that? By far the earliest I've found a usable 4th Spellbooks in this game.

From reading the code, it looks like that spot (opposite the Hand Druj) is supposed to be depth+10. I thought that wasn't possible due to minimum depths for 4th spellbooks? I see that item has normal depth of 80.

Edit: And Old Castle coughed up Aule, first time I've gotten the preferred artifact in that quest in ages! I'm sure a YASD is coming up quickly...

HugoVirtuoso February 13, 2022 18:42

[13:40] HugoV4: Really sell an Amulet of the Magi (+4) {Sr(In} for 8950 gp? [y/n] => y. You sold an Amulet of the Magi (+4) {Sr(In} for 8950 gold.
[13:41] toeofwobbly: I spy hidden Dm or Es
[13:42] HugoV4: Oh
[13:42] HugoV4: So, that's why it sells so generously
[13:42] HugoV4: ?
[13:43] toeofwobbly: say so. Its not listed for classes that don't get access
[13:43] toeofwobbly: I mean +Sr is OP but its not worth that much $$$$
[13:43] MITZE: I wonder if a better way to handle that might be to just show it always, but do it in different colors depending on whether it's valid for your class

What MITZE said

animal_waves February 24, 2022 19:58

[oops, double posted]

animal_waves February 24, 2022 20:05

Hey Sideways, just a little post to thank you for this great variant, I'm having a blast since I discovered it!

I just lost a promising character (in beginner/coffee mode) to a deep gash: I tried to approach a great drake wyrm of balance (I think?) on DL40, I guess that was not my brightest idea, especially as I forgot to boost my stealth and speed with my spells beforehand... :D

I teleported away after the first breath but rested without paying attention to my status and then bled to death in a cold lonely corner of the dungeon. It was muscle memory, as I think Vanilla would interrupt the rest in case of wounds/poisonning, but I may be mistaken.

http://angband.oook.cz/ladder-show.php?id=24942

Sideways February 24, 2022 21:19

Quote:

Originally Posted by animal_waves (Post 157669)
Hey Sideways, just a little post to thank you for this great variant, I'm having a blast since I discovered it!

I just lost a promising character (in beginner/coffee mode) to a deep gash: I tried to approach a great drake wyrm of balance (I think?) on DL40, I guess that was not my brightest idea, especially as I forgot to boost my stealth and speed with my spells beforehand... :D

I teleported away after the first breath but rested without paying attention to my status and then bled to death in a cold lonely corner of the dungeon. It was muscle memory, as I think Vanilla would interrupt the rest in case of wounds/poisonning, but I may be mistaken.

http://angband.oook.cz/ladder-show.php?id=24942

Frog also interrupts rest in case of wounds/poisoning, but you can die from them much more quickly; it's not like V, where you only lose a couple HP per turn. You probably bled out in 1 or 2 turns.

Glad to hear you're enjoying the game!


All times are GMT +1. The time now is 15:38.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.