Pyrdacor / Ambermoon.net

Ambermoon rewrite in C#
GNU General Public License v3.0
422 stars 22 forks source link

[Gameplay Suggestion] Attributes cover more #86

Open Wickez opened 3 years ago

Wickez commented 3 years ago

Even in the original Ambermoon, the influence of attributes was not as clear as one would expect of a game with numerous cRPG mechanics; and the manual wasn't helpful. It was still a great upgrade over Amberstar, where attributes felt very cosmetic in the bigger picture, but since now it's a possibility, the overall system could use some "refinement" touch.

Here's some suggestions for each attribute and/or questions about their actual influence (if any at all).

Strength: the manual states it increases carry weight and (most likely a wrong concept) reduces the severity of a received injury. The gameplay numbers shows that more strength indeed boosts carry weight, but also the severity of a dealt injury. // The notion of Strength reducing the damage taken should be discarded and if the increased damage is not a thing (and only a placebo in my head), it should be made a real thing (for all melee and thrown ranged weapons; if inclined, maybe bows too, but those would "scale" better with Dexterity)

Intelligence: the manual is cryptic again here. Yet it's quite obvious it increases Spell Learning Points and Training Points; I'm not super sure about its influence on the number of Spell Points. In any case, this attribute should increase the amounts of the three mentioned secondary attributes on "level ups". Also, I'm confused about the use of Intelligence in the "spotting checks", but if it's a thing in the code somewhere, then it really should influence them.

Dexterity: discarding the manual, it looks like this attribute covers the abilities of disarming and finding traps plus lockpicking to some extent? No idea about its application in the "to hit" or "miss/evasion/dodge" processes, but it really should (for all melee, thrown, and bow weapons; maybe spells, if really, really inclined). Also, it could be used for bows damage output purposes?

Speed: pretty self explanatory. The manual and the gameplay tells everything about this attribute. Maybe it could add an extra attack if high enough (or two if really exceptional) per turn? If it doesn't do that, that is (you can never sure).

Stamina: the manual states the about reducing the severity of a received injury here. The game shows it increases the amount of Life Points gained at a "level up". The first concept, about lessening the damage is very interesting and could be implemented. Finally, maybe it could reduce damage from persisting afflictions, like poison or disease and so on (or reduce the duration of the debilitating temporary effects; or even somehow influence the chance of getting an affliction in the first place)?

Charisma: it does what the manual says and the gameplay confirms. It reduces the prices at shops. Maybe it could be extended to include all "vendors" (you know what I'm talking about). Maybe it could also influence damage done with certain spells?

Luck: increases the chance of fleeing and avoiding traps? The tests more or less confirms. But it could also influence the chance of hitting, dodging, using the traps related skills (or any skills), and almost any activity, but in a very, very minor way? Or avoiding a final "death blow" once per fight? Or scoring a critical hit (in a more substantial way than the other skills and maybe it only)?

Anti-magic: self explaining what it does. It works, too... or is it placebo again? If yes, it should be applied in such a way.

Pyrdacor commented 3 years ago

The exact effects are documented at the end of this page: https://github.com/Pyrdacor/Ambermoon/blob/master/FileSpecs/Enumerations/Attributes.md

We confirmed them by testing and reverse engineering.

Extend the attribute is indeed very likely. But then as an optional game extension or mod. I will keep the main releases as close to the original as possible except for bug fixing.

I have many ideas for Attribute effects as well. Some are similar to yours. ;)

Wickez commented 3 years ago

Too bad the Strength doesn't add to damage done and it was my placebo talking. Or that Stamina doesn't add to gained Life Points at a "level up" (it really should). xD

Anyway, if it's confirmed that it works and covers the basics of how the attributes should work, then yeah, let move any extended usage of them to a mod or something.

kermitfrog commented 3 years ago

Too bad the Strength doesn't add to damage done and it was my placebo talking. [..]

@Wickez But it does! STR increases ATT by 1 per full 25 points. And in case you're interested: the damage formula is ATT * rand(0.5, 1) - DEF * rand(0.5, 1)

@Pyrdacor: you forgot this in the documentation.

EDIT: by ATT I mean Attack Strength - not the skill

Pyrdacor commented 3 years ago

Tbh I didn't know it adds to attack. Did you find this in the code?

Wickez commented 3 years ago

So, Strength does add to Damage (the sword icon) and Stamina does add to Protection (the shield icon). Maybe Stamina does increase Life Points gain on a level up too? Call it a gut feeling, ha.

kermitfrog commented 3 years ago

@Pyrdacor

Tbh I didn't know it adds to attack. Did you find this in the code?

This was among the first things I found out. See https://github.com/Pyrdacor/Ambermoon.net/issues/51#issuecomment-749209696 The code is at the beginning of FUN_00238d6a (not shown in decompiler).

@Wickez

So, Strength does add to Damage (the sword icon) and Stamina does add to Protection (the shield icon). Maybe Stamina does increase Life Points gain on a level up too? Call it a gut feeling, ha.

I looked at the code again and... nope.. Stamina does not have any effect there. LP are increased by LP_per_lvl * rand(0.5, 1.0)

Pyrdacor commented 3 years ago

Ok i'll add this to the rework and docu. ;)

kermitfrog commented 3 years ago

Thought about it a bit and.. I think most of the attributes are fine as they are, but I can imagine to make 2 good changes: