Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(See the other PRs first!) This is the merge of all my other PRs + some fixes and adjustments. #587

Open
wants to merge 278 commits into
base: master
Choose a base branch
from

Conversation

AquariusPower
Copy link
Contributor

@AquariusPower AquariusPower commented Mar 24, 2020

This was split on several PRs, but there is still code here that are not on them, so, let this be the last PR considered.


I think this is overall ready, I made some basic tests during implementations, and let it for hours on auto-play mode (but it does not test everything/flow). What is mainly missing is more tests on normal gameplay.

Many new things:

  • Lights (ready?): Weaker lights from small rocks feels ok now, but it would be better more extensive testing (ex.: crafting daggers from crystal rocks) before changing/removing the related default (disabled) option.
  • new sfx (ready): New sfx for cutting webs, is it ok? (also cutting will provide a bit of spider silk lump)
  • crafting skill progress (ready),
  • CustomMoveKeys(ready?): not only move keys, all keys now can be customized but not in-game, the cfg file must be edited (after it is generated in game, somewhat complex for now...)
  • ItemInfo(ready?): More info when looking at items on floor #588 (is it working well?)
  • GodFavours(ready?): Mana (MagicPower) usage: #586 (should I move some other pray effect to favour?)
  • Crafting(ready): basic/simple tailoring added (TODO one day with graphics: (Done)tailoring bench 3x requirements of building a workbench; sewing thread should drop from webs instead of spider silk lump; as tools should have scissors and needles and pins crafted from meltables, all with graphics). Will work with any CAN_BE_TAILORED material.
  • Independent SFX volume control (ready)
  • Auto drop item after Offering it at an altar (in case it is rejected) optional (ready)

Bugfixes (some may only happen when using Wizard Auto Play mode):

And command line --help with some info and functionalities:
--defgen Generate defines validator source file. (NEW)
--defval Validate defines. (NEW)
--version Show current game version.

Who have access to edit this PR, feel free to make any adjustments, even if minor.

Obs.: developer console is still broken tho but wont cause trouble if you dont use it. developer console is working again! I think cuz of this: #589 :)

Added command line options to generate and validate the definesvalidator.h
…ent framework;

WIP-craft: fixing crash in case a key (or anything that has a missing BROKEN .dat config) breaks when crafted;
…ent framework;

WIP-craft: fixing crash in case a key (or anything that has a missing BROKEN .dat config) breaks when crafted;
…ent framework;

WIP-craft: fixing crash in case a key (or anything that has a missing BROKEN .dat config) breaks when crafted;
…ent framework;

craft: fixed crash in case a key (or anything that has a missing BROKEN .dat config) breaks when crafted;
better commandline --help and info.
… 1cm3 receives full light strength. 2nd - player w/o any light source receives the same light. 3rd - the dungeon map square where it was cut receives that same light;
… feature to lower light emitation from small crystals;
…lculateAll() is called after volume change);
@AquariusPower AquariusPower changed the title - Many new things (check last, after other related PRs) This is the merge of all my other PRs + some fixes and adjustments. See the other PRs first! Jun 15, 2020
@AquariusPower AquariusPower changed the title This is the merge of all my other PRs + some fixes and adjustments. See the other PRs first! (See the other PRs first!) This is the merge of all my other PRs + some fixes and adjustments. Jun 15, 2020
also fixed load game about recipedata;
@red-kangaroo
Copy link
Contributor

@AquariusPower Does this branch contain all your changes, then? I'd like to try playing with all of them at once. :)

@AquariusPower
Copy link
Contributor Author

@AquariusPower Does this branch contain all your changes, then? I'd like to try playing with all of them at once. :)

yup, this contains them all! I think this is the easiest way to test them too :>

@AquariusPower
Copy link
Contributor Author

I am checking this conflict

@red-kangaroo
Copy link
Contributor

Many nice changes here.

  • Stairs now look like stairs! I like it, though I will have to get used to that. ;) I've grown accustomed to the up/down arrows so long ago.

  • Earthquake code is finally in one place!

  • As you scroll on the main menu, parts of the background image start to disappear:

Screenshot from 2020-09-28 17-31-58
Screenshot from 2020-09-28 17-32-10

  • Is it intentional that any keypress on main menu plays a random fighting sound? If it's intentional, can it be optional, please? :)

  • It would be nice if the god favours had F1 descriptions. I can try to write them, if you'd like.

  • How does the red work in favour selection menu? It's the only menu that uses red in the whole game. Does it mean that the god has a timer/too low favour? I don't think it's necessary to warn the player, they would have already learned not to pray too often and it shouldn't be safe to call in a favour from a god.

  • Favour names should probably be all capital, right now the capitalization is a bit inconsistent.

  • Favour cost should probably depend more on WISDOM than on MANA, as Wisdom is linked to your ability to negotiate with gods (it decreases prayer cooldown in IVAN, plus it was a primary stat for clerics in D&D where IVAN drew inspiration). Mana feels more like non-divine magic / magic item use, at least to me.

  • When reading the celestial monograph of Solicitus, you forget all gods and get your relation with them all set to 0, but right now you keep the knowledge of their favours. It should probably erase known favours, too.

  • I don't think overloaded fighting should be on option. We should either change it to allow fighting while overloaded, or leave it as is, because that's a pretty important thing that can mean one character dies where another lives. Anyone else has an option on this? (We can do a vote on the forums?)

Really great work!

@AquariusPower
Copy link
Contributor Author

AquariusPower commented Oct 4, 2020

* Stairs now look like stairs! I like it, though I will have to get used to that. ;) I've grown accustomed to the up/down arrows so long ago.

From the beginning I always felt strange a game with so many visual effects having arrows for stairs. But as I remember, the arrows are still there and it could be an option!

* As you scroll on the main menu, parts of the background image start to disappear:

Actually, there is one full background for each menu entry (it means each can be completely different), I actually thought a simple way to demonstrate it was to just remove parts of default background so I hadn't to draw anything new.

* Is it intentional that any keypress on main menu plays a random fighting sound? If it's intentional, can it be optional, please? :)

As I remember, each menu entry has a specific sound, and I just reused the existing sounds, yes there could have a config option to mute them easily.
I actually thought better sounds could be used when moving on the main menu, or may be just a single non annoying sound just like a feedback that we pressed a key there.

* It would be nice if the god favours had F1 descriptions. I can try to write them, if you'd like.

cool!

* How does the red work in favour selection menu? It's the only menu that uses red in the whole game. Does it mean that the god has a timer/too low favour? I don't think it's necessary to warn the player, they would have already learned not to pray too often and it shouldn't be safe to call in a favour from a god.

as I remember, favours can only be asked if the player is aligned with that god's alignment OR if the player is on that god's sacred ground!
So discovered favours from a god of other alignment cannot be called outside sacred grounds. They should show on the list but not necessarily in red, just inaccessible and greyed out.
Red had a meaning, did you play in wizard mode? if so, that is probably it. I will check the code and add some comment or just disable the red.

* Favour names should probably be all capital, right now the capitalization is a bit inconsistent.

If I am not wrong, I typed them like titles (of movies for example) that only more important words are capitalized. Actually they should be written in other font to pass some kind of ancient/magic feeling. But it could be simplified, like may be set it all to lower or upper case.

* Favour cost should probably depend more on WISDOM than on MANA, as Wisdom is linked to your ability to negotiate with gods (it decreases prayer cooldown in IVAN, plus it was a primary stat for clerics in D&D where IVAN drew inspiration). Mana feels more like non-divine magic / magic item use, at least to me.

Agreed, the formulas should be reviewed!

* When reading the celestial monograph of Solicitus, you forget all gods and get your relation with them all set to 0, but right now you keep the knowledge of their favours. It should probably erase known favours, too.

I didn't know that, agreed!

* I don't think overloaded fighting should be on option. We should either change it to allow fighting while overloaded, or leave it as is, because that's a pretty important thing that can mean one character dies where another lives. Anyone else has an option on this? (We can do a vote on the forums?)

If I am not wrong, we just cannot kick, but there is really no reason to prevent using the arms! (1st vote cast :))
We shouldnt be able to dodge either, but I am not sure if that was coded, may be not..

Really great work!

thx!

@red-kangaroo
Copy link
Contributor

Actually, there is one full background for each menu entry (it means each can be completely different), I actually thought a simple way to demonstrate it was to just remove parts of default background so I hadn't to draw anything new.
As I remember, each menu entry has a specific sound, and I just reused the existing sounds, yes there could have a config option to mute them easily.

Ah, I see. That could be interesting with different background images, but an option to turn it off would be nice.

If I am not wrong, we just cannot kick, but there is really no reason to prevent using the arms! (1st vote cast :)) We shouldnt be able to dodge either, but I am not sure if that was coded, may be not..

I will ask on the forums, but I'm also in favour of changing it (2nd vote cast). :)

@AquariusPower
Copy link
Contributor Author

AquariusPower commented Oct 11, 2020

Ah, I see. That could be interesting with different background images, but an option to turn it off would be nice.

actually, the easiest way to make it default right now to have just one image, is to copy the full one over the ones that have parts missing, the feature will remain active but will just not be visible.
As soon someone comes with something cool, they just change the images and it will work!

Long ago, I always imagined the butterflies could actually fly, or at least blink or move their wings, but that would be independent of changing the focus on a menu item, it would require a refresh there also every 0.5s at least I guess.

@red-kangaroo
Copy link
Contributor

BTW, majority of votes on forum is in favour of allowing attacks while overburdened.

@AquariusPower
Copy link
Contributor Author

Hi! I am having some trouble here...
It's about a few weeks now that my refrigerator broke (this means I got out of spare time), but all about it is already better now.
But a few days ago my main computer broke! now it will be complicated to implement/test things...

My guess is that you would like to prepare a release before christmas right?
I am not sure I will be able to prepare the requests til that time...
But I can review and give tips on any adjustments anyone may be willing to prepare. You can create a PR to my branch if you can't edit it directly here. I will only be able to read tho, not to test it. :>

@ryfactor
Copy link
Member

Hi! I am having some trouble here...
It's about a few weeks now that my refrigerator broke (this means I got out of spare time), but all about it is already better now.
But a few days ago my main computer broke! now it will be complicated to implement/test things...

My guess is that you would like to prepare a release before christmas right?
I am not sure I will be able to prepare the requests til that time...
But I can review and give tips on any adjustments anyone may be willing to prepare. You can create a PR to my branch if you can't edit it directly here. I will only be able to read tho, not to test it. :>

Hi @AquariusPower! Sorry for the late reply. I am very sorry to hear your refrigerator broke down, and even sorrier to learn your computer broke. Good on you for getting in touch, I hope you are going ok and are able to get all the machines you need to get back on track. Probably that refrigerator is top priority.
In the meantime, TravisCI is no more, so I am plugging the gap just now with some GitHub Actions. I'll try and get some Linux builds going on pull-request so things can seem as they were before.

Plus some phrasing.
@red-kangaroo
Copy link
Contributor

Oops, sorry @AquariusPower

I pushed some of my changes, but I thought I was pushing into my own fork of your branch, not directly into your branch. Strange that git let me...

@AquariusPower
Copy link
Contributor Author

Oops, sorry @AquariusPower

I pushed some of my changes, but I thought I was pushing into my own fork of your branch, not directly into your branch. Strange that git let me...

the spell I cast on OP "Who have access to edit this PR, feel free to make any adjustments, even if minor." apparently worked xD

# Conflicts:
#	Graphics/OLTerra.png
#	Main/Include/char.h
#	Main/Include/craft.h
#	Main/Include/game.h
#	Main/Include/iconf.h
#	Main/Source/cmdcraft.cpp
#	Main/Source/command.cpp
#	Main/Source/devcons.cpp
#	Main/Source/dungeon.cpp
#	Main/Source/game.cpp
#	Main/Source/human.cpp
#	Main/Source/iconf.cpp
#	Main/Source/main.cpp
#	NEWS
#	Script/olterra.dat
fixing merge
fixing merge
removed redundant checks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants