Page 1 of 2

Forge Dwarf Upload

PostPosted: Sunday, 6th November 2011, 23:49
by File200
I am trying to upload a patch for the "Forge Dwarf" species on gitorious, but I am stuck. What is an "SSH key" is and how do I generate one?

(I will update the OP when the upload is finished.)

Until I figure this out, here are the modified files:

Re: Forge Dwarf Upload

PostPosted: Monday, 7th November 2011, 03:48
by edlothiol
An SSH key is a cryptographic key used to authenticate you to the server. You can generate one using the command:
  Code:
ssh-keygen

(If you're on windows, you have to use the "Git Bash" shell for this.) Let it save to the default location, and use a good passphrase. It will generate two files, id_rsa and id_rsa.pub. id_rsa is the secret part; id_rsa.pub contains the public part, which you can paste on gitorious.

Re: Forge Dwarf Upload

PostPosted: Monday, 7th November 2011, 04:48
by File200
Uploading finished. You should now be able to get the files by cloning into "git@gitorious.org:crawlfd/crawlfd.git" This will apparently clone all of the files in crawl, so it may be more convenient to manually add the changes form the .txt files.

If appropriate, I will add an issue to the mantis.

Re: Forge Dwarf Upload

PostPosted: Monday, 7th November 2011, 13:19
by evktalo
Looks like your git branch does not in fact have the changes. You need to commit the changes with "git commit -a" (which commits all the changes and asks you for the commit message). Then do "git push" to push it to gitorious.

--Eino

Re: Forge Dwarf Upload

PostPosted: Monday, 7th November 2011, 14:15
by File200
The changes have now been committed.

Re: Forge Dwarf Upload

PostPosted: Monday, 7th November 2011, 22:23
by nicolae
What's the quickest way for someone who's pretty much new at working with git to try out the FD branch? Is there a way to get a precompiled version from the repository page?

Re: Forge Dwarf Upload

PostPosted: Monday, 7th November 2011, 22:28
by dpeg
Perhaps we can get Napkin to host the version on CDO. No promises, but I'll ask him (and tell you the result).

File200: I made a comment on the FD wiki about a potential new innate ability: Enchanting items. Any comments?

Re: Forge Dwarf Upload

PostPosted: Monday, 7th November 2011, 23:41
by nicolae
dpeg wrote:Perhaps we can get Napkin to host the version on CDO. No promises, but I'll ask him (and tell you the result).


Ahhh, geez, that means I gotta play console to try out FDs? :P

Seriously, though, I really like the FD idea and I hope enough people like it in practice to want to see it in 0.11.

Re: Innate enchanting: Would that work on ammo stacks? With -1 Hexes and 3 Crossbows, and the ability to enchant their starting ammo, FDs might make pretty good Arcane Marksmen. (Though, I did see a request on the wiki and in the tavern, to remove ammo enchantment so you don't have a thousand stacks of the same base type ammo.)

Re: Forge Dwarf Upload

PostPosted: Monday, 7th November 2011, 23:49
by dpeg
nicolae: I didn't see a reason to except ammunition, at least for a start. In my experience, you do find enough ?EW to enchant all your bolts or arrows, so the ability is more about the decision whether to use it (i.e. spend MP to enchant right away or hold out for more scrolls).

Re: Forge Dwarf Upload

PostPosted: Tuesday, 8th November 2011, 02:04
by File200
@dpeg

Added a comment to the wiki. The story is that a permanent cost like 1 MP feels like too much for a temporary (and small, and unreliable etc.) boost like enchantment. MP+food feels like too little, unless there's a limit.

Re: Forge Dwarf Upload

PostPosted: Tuesday, 8th November 2011, 02:41
by nicolae
File200 wrote:Added a comment to the wiki. The story is that a permanent cost like 1 MP feels like too much for a temporary boost like enchantment.


True, though DD's ability to recharge a wand is ultimately temporary as well. Then again, being able to recharge a wand of healing instantaneously is more of a life-saver than being able to add +1 or +2 to your armor.

If there is demand for an ability reflecting the FD's affinity for crafting and forging, I got some ideas:
1. Starting with better armor and weapons, which would make thematic sense, and would probably be easiest to code, to boot. It would give an early-game bonus, similar to enchanting your armor in the early-game.
2. Identify all weapon, armor, and ammo enchantments on pickup. The FD's keen eye for craftsmanship allows them to immediately discern the qualities in a piece of armor or weaponry that make it better or worse.
3a. More likely to get more enchantments from enchant armor/enchant weapon scrolls. Using their forging talents, they supplement the magics of the scroll with their own hands. Could be combined with all members of the species having those scrolls auto-ID'ed.
3b. With similar reasoning, enchanting armor or weapons has a chance to make the given item dwarven, when applicable.

Re: Forge Dwarf Upload

PostPosted: Tuesday, 8th November 2011, 13:57
by Roderic
Sounds good but also OP... any notorious drawback ?

Re: Forge Dwarf Upload

PostPosted: Tuesday, 8th November 2011, 15:22
by dpeg
File200 wrote:@dpeg

Added a comment to the wiki. The story is that a permanent cost like 1 MP feels like too much for a temporary (and small, and unreliable etc.) boost like enchantment. MP+food feels like too little, unless there's a limit.

I also gave this argument on the wiki but for the sake of discussion let me repeat it here: Assume that FD had an innate ability of enchanting an item (mundane weapon or armour) to +8 at the cost of one permanent MP. Would it be useful? Yes. Would it be overpowered? I think so.
So between "permanent cost of 1 MP feels too expensive for a small enchantment boost" and "permanent cost of 1 MP for enchanting to +8" there should be a satisfying middle ground. (Note that my original proposal already suggested enchanting by more than one, at negative and low enchantment levels.)

Re: Forge Dwarf Upload

PostPosted: Tuesday, 8th November 2011, 16:28
by absolutego
i wouldn't know how to explain it flavour-wise, but you could always penalize HP instead of MP (or both).
or the effective enchantment could be 1d3.

Re: Forge Dwarf Upload

PostPosted: Tuesday, 8th November 2011, 16:33
by File200
(Last comment for a while)

I've restored the "Reforge weapon" FD ability to my local version. It applies X enchant weapon scrolls to the weapon and makes it dwarven.This has the effect you're looking for in terms "Better at low enchantment." I'll try adjusting the number upward to make it more useful. Can't test it for a while though. Look for an update to the repository in a few days.

"Reforge armour" is a little trickier because extra body slots have an enchantment cap of +2, and enchanted items/enchant weapon scrolls are common enough that your reforged item will become obsolete quickly.

Re: Forge Dwarf Upload

PostPosted: Tuesday, 8th November 2011, 17:38
by JeffQyzt
Perhaps the effects for the "dwarven" flag could be increased for Forge Dwarves (rather than just flat out increasing the amount of enchantment bonus). This would provide (mildly) greater incentive to reforge a piece of armour in the dwarven style, even for non-body armor pieces.

Perhaps something along the lines of a "set bonus" for increasing percentage of slots filled with dwarven gear?

Re: Forge Dwarf Upload

PostPosted: Wednesday, 9th November 2011, 05:42
by File200
I've added the weapon reforging ability to crawlfd. It currently applies 2-3 enchant weapon scrolls to your equipped weapon and gives it the "Dwarven" racial trait. It cannot be used on missiles or artifacts.

After thinking about the ability for a bit, I'm happier with it. It's optional, and it really just acts as a hedge against bad item drops in the early game. It does make the early game pretty easy if you find the next upgrade for your chosen weapon, though.

Oh and since I'm here, what is the file that gives the data for brands and ego types?

Re: Forge Dwarf Upload

PostPosted: Wednesday, 9th November 2011, 06:53
by galehar
File200 wrote:Oh and since I'm here, what is the file that gives the data for brands and ego types?

The enums are in itemprop-enum.h and the functions in itemprop.cc

Re: Forge Dwarf Upload

PostPosted: Wednesday, 9th November 2011, 16:45
by XuaXua
I added a suggested revision to the Forging / Make Dwarven ability:

Cost of Enchant should be -X maxMP, where X is a value equal to the target +Y.
COST
-1 maxMP to go from +0 to +1,
-5 maxMP to go from +4 to +5, etc.
Minimum cost (going from -1 to 0, etc.) is -1 maxMP.
Maximum value of Y is 2x XP Level. Only level 18+ can increase from +8 to +9.
This assumes the Forging has a 100% success rate.

In the case of weapons, Forging always improves the lower value first.
Regarding artefacts, it either doesn't work, or could work at double cost.

Alternately, Cost of Enchant could be -X maxMP, where X equals target +Y/2, rounded up.

Re: Forge Dwarf Upload

PostPosted: Wednesday, 9th November 2011, 17:45
by dpeg
XuaXua: If I understand your proposal correctly, it is way too expensive. FD might need some MP for himself :)

File200: I don't think you have to exclude ammunition. Let's make the power as good as possible. More choices = better. If ammunition enchantment turns out to be too strong, we can remove it or, probably better, make it more expensive (e.g. only +1 per 1 maxMP invested, in contrast to weapons).
Do you allow enchanting armours, too?
By the way, you said that you tried "make dwarven" as an ability and that is was not good enough. That seems reasonable, but I'd suggest to make an item dwarven the first time the ability is used on it (requirements: item has no racial property yet: cannot make an elven or orcish item dwarven). The cool thing about this is that an FD can run around in purely dwarven gear, which is flavourful (and actually yields a little bit). It also makes it more attractive to use the power on side gear (helmets etc.)

Re: Forge Dwarf Upload

PostPosted: Wednesday, 9th November 2011, 18:41
by nicolae
dpeg wrote:By the way, you said that you tried "make dwarven" as an ability and that is was not good enough. That seems reasonable, but I'd suggest to make an item dwarven the first time the ability is used on it


It does :D The original implementation didn't enchant anything, it just Dwarfified the item, and that wouldn't be good enough to spend maxMP on. However, now the dwarfification happens in addition to the item enchantment, which makes it better.

Re: Forge Dwarf Upload

PostPosted: Wednesday, 9th November 2011, 20:17
by XuaXua
dpeg wrote:XuaXua: If I understand your proposal correctly, it is way too expensive. FD might need some MP for himself :)


Use the /2 penalty instead and apply some enchant scrolls.

Re: Forge Dwarf Upload

PostPosted: Thursday, 10th November 2011, 02:58
by File200
The reforging ability as it stands is now available from git@gitorious.org:crawlfd/crawlfd.git. If there are any problems with it, let me know.

@XuaXua

I have no idea to code something that complicated. I mean, I see the principle but Crawl has syntax that I haven't figured out yet. And it still sounds too expensive; a marginal +1 enchantment isn't really that useful.

---

Missiles were excluded because I didn't think it made sense for one guy to be personally reforging a stack of 100+ missiles. They will be included next time.

My current goal for the ability is to add (1) a menu that shows eligible items, (2) a (non-buggy) system for handling different cases after selection, and (3) a boost that symmetrically affects weapons, armour and ammunition.

My idea for (3) is a new ego type that takes the racial flag slot (sorry ISDWARVEN) that provides an "Effective +1" in addition to dwarven racial bonuses. By this, I mean +1 to hit and +1 guaranteed damage for weapon; +1 AC for armour; and +1 to hit AND damage for missiles. The working title is "Splendid."

Re: Forge Dwarf Upload

PostPosted: Thursday, 10th November 2011, 03:14
by dpeg
File200 wrote:Missiles were excluded because I didn't think it made sense for one guy to be personally reforging a stack of 100+ missiles. They will be included next time.

The first missile enchantments are the most important ones. Why should someone spend precious maxMP on that when there are ?EW scrolls around? I don't think it'll be a no-brainer to use innate enchantment on missiles.

File200 wrote:... (3) a boost that symmetrically affects weapons, armour and ammunition.
My idea for (3) is a new ego type that takes the racial flag slot (sorry ISDWARVEN) that provides an "Effective +1" in addition to dwarven racial bonuses. By this, I mean +1 to hit and +1 guaranteed damage for weapon; +1 AC for armour; and +1 to hit AND damage for missiles. The working title is "Splendid."

I don't think this is necessary, at least not until we've tested the simpler version. As I see it, being able to enchant armours and weapons is good. We can make the power as good (cheap) or bad (expensive) as we like by deciding how much enchantment you get for one maxMP. Making the item dwarven upon first enchantment is just icing -- nice, additional flavour. Something feels wrong if you have to add a new ego just for one species; moreso if there is already one.

Your point might very well be that "dwarven" is too weak in itself. If so, the ego should be tweaked but that is a separate discussion.

Many thanks for the work and patch. Tell us when you think it is ready for public testing!

Re: Forge Dwarf Upload

PostPosted: Thursday, 10th November 2011, 03:25
by File200
If you want to mess with it I'll put "Reforge Armour" back in and upload when I get the chance.

E:N/M, racial bonuses were changed. I'll have to sort this out. Currently bug-fixing.

Wait a minute, public testing? As in adding it trunk?

Re: Forge Dwarf Upload

PostPosted: Thursday, 10th November 2011, 04:09
by twelwe
Yes! Trunk! I really love testing new species and don't have any experience with the above. While we're at it, throw Moon Trolls in too!

Re: Forge Dwarf Upload

PostPosted: Thursday, 10th November 2011, 05:10
by File200
Sorry for the problems with the upload. I just posted a major bug-fix. Will have to add enchant armour later, too much work now.

Re: Forge Dwarf Upload

PostPosted: Thursday, 10th November 2011, 12:09
by dpeg
Public testing as in making the patched version available on CDO. (This could come with a trunk branch at the same time.)

Re: Forge Dwarf Upload

PostPosted: Thursday, 10th November 2011, 17:13
by File200
Added a comment to the wiki. Further discussion of abilities will go there. This thread will be used when I update the repository or when someone has a comment/bug report on the branch.

Re: Forge Dwarf Upload

PostPosted: Thursday, 10th November 2011, 17:30
by XuaXua
FORGE DWARF ON THE WIKI

Because a link was missing.

Re: Forge Dwarf Upload

PostPosted: Saturday, 12th November 2011, 03:33
by File200
I can't figure out this menu thing and I don't want to wait forever for feedback on the species, so I think that it would be a good idea to start public testing now. The alternate forging ability will be added to the branch when I figure out how to make it work.

E: I have one more patch to upload, probably tomorrow, and then I'm going to say the species is finished. Reforge Weapon and Reforge Armour will be separate abilities. If you have any comments on the aptitudes or abilities before this upload, add them to the wiki sometime soon.

Re: Forge Dwarf Upload

PostPosted: Saturday, 12th November 2011, 22:08
by File200
The final update has been made to the repository. Forge Dwarves are now a complete species, ready for testing. Clone the repository "git@gitorious.org:crawlfd/crawlfd.git" to use them.

Re: Forge Dwarf Upload

PostPosted: Saturday, 12th November 2011, 23:11
by dpeg
File200: Many, many thanks! Would you open a Mantis ticket with the link to your patch?

Re: Forge Dwarf Upload

PostPosted: Saturday, 12th November 2011, 23:55
by nicolae
File200 wrote:The final update has been made to the repository. Forge Dwarves are now a complete species, ready for testing. Clone the repository "git@gitorious.org:crawlfd/crawlfd.git" to use them.


Now to figure out how the hell to get git working...

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 00:13
by File200
Issue added.

For those who are wondering about the changes to the reforging abilities: after further play-testing, I discovered that it was incredibly efficient to start as a fighter and just use all your MP for the improved reforge weapon and smash the early dungeon with ease. Delaying the ability makes it more appealing to start as a spellcaster, which was the original intention of the species. Reforge armour, I feel, is still pretty weak even for a fighter. The only time I legitimately benefited from using it was when I found rPois scale mail with a skald, and wanted the +4 effective armour skill. This can probably be remedied by improving the bonus that dwarven armour gives to dwarves, but that's a wider issue than what I'm working on.

@Nicolae

If you haven't gotten git to work yet try this:
1. Install git
2. Go to the directory you installed git. After looking around, you'll find a certain file titled "msys." Click it to start open the command prompt.
3. Follow the instructions here: "https://crawl.develz.org/wiki/doku.php?id=dcss:help:git" but substitute "git@gitorious.org:crawlfd/crawlfd.git" for "git@gitorious.org:crawl/crawl.git."
4. Type "cd (complete directory of downloaded crawl file, ending with /crawl/crawl-ref/source/)"
5. Type "make" or "make TILES=Y"
6. Type "crawl.exe"

I hope that all makes sense.

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 00:32
by dpeg
File200: Many thanks again.

I like your changing of cost from MP to HP. Regarding armour enchantment, it is just a question of costs, like before: if you get +5 from one HP, it is worth it (not on every body armour you wear, of course).

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 01:07
by File200
@Crap I just figured what I did wrong somewhere, gonna take a moment to fix it.

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 01:09
by dpeg
File200: Couldn't you recycle what's done for DD's MP payment?

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 01:16
by File200
That's sort of a different deal. The function for ABFLAG_PERMANENT_MP works differently, but I just realized what the problem was and now I'm kicking myself. I will change the cost back to permanent HP now.

But yes the solution lies in changing the syntax of my function to match the one for permanent MP.

Welp, one problem solved, another created. I'll let this stand for now. It's funny, this problem didn't happen with ABFLAG_PERMANENT_HP, even though the return string should be the same.

Nevermind, the function still doesn't work. I will revert the changes now.

I will need a moment to fix a bug I just created.

Now I am done for real. The problem with the permanent HP cost is the way that the variable is stored. I will figure this out in time, but for now, everything is finished.

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 02:17
by nicolae
File200 wrote:@Nicolae

If you haven't gotten git to work yet try this:
1. Install git
2. Go to the directory you installed git. After looking around, you'll find a certain file titled "msys." Click it to start open the command prompt.
3. Follow the instructions here: "https://crawl.develz.org/wiki/doku.php?id=dcss:help:git" but substitute "git@gitorious.org:crawlfd/crawlfd.git" for "git@gitorious.org:crawl/crawl.git."
4. Type "cd (complete directory of downloaded crawl file, ending with /crawl/crawl-ref/source/)"
5. Type "make" or "make TILES=Y"
6. Type "crawl.exe"

I hope that all makes sense.


I got up to "make TILES=Y" and got the message:
  Code:
$ make
cat: util/release_ver: No such file or directory
    * Need to build contribs: pcre zlib lua/src sqlite
make[1]: Entering directory `/crawlfd/crawl-ref/source/contrib'
**********************************************************

The 'pcre' directory exists, but the Makefile is missing!
Did 'git submodule update' work properly?
(It's probably better to install all native dependencies instead.)

**********************************************************
make[1]: *** [pcre] Error 1
make[1]: Leaving directory `/crawlfd/crawl-ref/source/contrib'
  * If you experience any problems building Crawl, please take a second look
  * at INSTALL.txt: the solution to your problem just might be in there!


Agh, I've always had trouble working with complicated compiler setups, this is why I got out of computer programming.

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 02:52
by File200
Try renaming "crawlfd" to "crawl" and then try again. In the meantime I will have to change something, because this seems like a problem I created.

Now testing something. This should get everything to work. Repository has been renamed.

It's back to git@gitorious.org:crawlfd/crawlfd.git. If anyone else has this problem, please reply. If anyone has advice for fixing it, please help. I am not good with computers.

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 08:44
by galehar
@nicolae: go to the crawlfd directory and type

  Code:
git submodule update --init

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 19:20
by absolutego
i get this, after a good while of building:

  Code:
[...]
CXX util/levcomp.lex.o
GEN build.h
No Git, and util/release_ver doesn't exist.


(that file doesn't exist in either crawl or crawlfd.)
any ideas? i have no problems compiling regular crawl.

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 19:30
by galehar
absolutego wrote:i get this, after a good while of building:

  Code:
[...]
CXX util/levcomp.lex.o
GEN build.h
No Git, and util/release_ver doesn't exist.


(that file doesn't exist in either crawl or crawlfd.)
any ideas? i have no problems compiling regular crawl.

If it cannot find the version from git, it will look into util/release_ver. Create the file and put some version number in it (like 1.0 for example).

Re: Forge Dwarf Upload

PostPosted: Sunday, 13th November 2011, 19:43
by absolutego
ah, i only tried creating the file, i don't know why, but i didn't think it'd be plain text.
that works, thanks.

Re: Forge Dwarf Upload

PostPosted: Monday, 14th November 2011, 00:47
by nicolae
Awww, yeah, now I'm a Forge Dwarf.

Though now it occurs to me I have no idea how to get a heavy-armor caster going.

Re: Forge Dwarf Upload

PostPosted: Monday, 14th November 2011, 04:21
by File200
@Nicolae

My method is to start as a pure caster, basically. Once I reach a depth where my main spells are at excellent and I have experience to spare (i.e. it takes a lot of experience to train magic skills further), I put on some leather armour and start focus-training armour. This will probably happen sometime in the Lair. After that, I gradually move up to heavier and heavier armours until I reach plate armour. You can hold off training armour and focus on shields instead. Vehumet and Ashenzari are both great god choices, and Chei is surprisingly useful. If you want to use a weapon, make it a staff: staff of earth/fire will probably do more damage than any other melee weapon you would want to use.

Re: Forge Dwarf Upload

PostPosted: Monday, 14th November 2011, 06:25
by nicolae
File200 wrote:I put on some leather armour and start focus-training armour.


I usually put leather armor on my casters anyway, I usually work off the spellcasting penalty soon enough.

If you want to use a weapon, make it a staff: staff of earth/fire will probably do more damage than any other melee weapon you would want to use.


Is this why FDs have a -2 Staves aptitude?

Re: Forge Dwarf Upload

PostPosted: Monday, 14th November 2011, 07:00
by absolutego
yeah, i don't get that. why long blades at -1? the differences between weapon apts are slight so they don't bar you from polearms or whatever, but given the choice you'll always go for m&f. i would stick with flat apts at 0 or as close to as possible. they just make the game more interesting.

staves at below-average might still make some sense, and the ranged weapon apts are fine as is.

i've only played a bit, so i have no feedback yet.

Re: Forge Dwarf Upload

PostPosted: Monday, 14th November 2011, 07:14
by File200
Yeah staves are low so that you are more likely to choose other weapon at some point.

My logic in deciding the weapon apts was like this: "They have short arms, so polearms would be unwieldy. Long blades are for elves, which are like the anti-dwarf."