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

Revised^n Report on the god Nemelex #916

Merged
merged 21 commits into from Dec 19, 2018
Merged

Conversation

ebering
Copy link
Contributor

@ebering ebering commented Dec 2, 2018

This is currently a WIP revision of Nemelex along the lines of what I've written on the wiki. It's still rough around the edges, but runs and is playable.

Remaining Todo pre-experimental

  • Make drawing each deck a separate ability
  • Have the deck chooser use the ability hot-keys for the corresponding decks within triple draw, deal four, and stack five.
  • Add tiles for drawing decks
  • Add tiles to the deck select menu (similar iconography to the above).
  • Deck description for abilities

Remaining Todo

  • Add a deck display to ^ (on hold until a general auxiliary pane added to ^)
  • Show cards remaining in the ability menu or deck description or somewhere quick to get to
  • Streamline the Stack Five UI, or restrict it to a single deck.
  • Adjust piety values and ability costs
  • (Maybe unnecessary) Save compat for games saved in the uncancellable state for stack five and triple draw.
  • set default force_mores for some gifts (alexjurkiewicz) every gift is probably overboard, but 0->1 and 12->13 are important.
  • show max cards in deck descriptions
  • clarify the order of stacked decks in the describe screen.
  • do something about Velocity, maybe look at other card effects (danger zone don't spiral into a full card review)
  • consider adjusting the card gift type distribution
  • Fix the bug pointed out below with cancelling cards.
  • Show next card in the stack in the a menu.

@ebering ebering added big change Likely to involve a very large and complicated change removal Related to the removal of some aspect of dcss labels Dec 2, 2018
@ebering ebering force-pushed the rnrnemelex branch 2 times, most recently from 13d7ec3 to bd6a8b6 Compare December 3, 2018 06:08
@ebering
Copy link
Contributor Author

ebering commented Dec 8, 2018

From @alexjurkiewicz bug report: if you get a confirm prompt while targeting a destruction spell (eg "your line of fire to the x is blocked by a bush") and answer N, the card is cancelled rather than returning you to the targeter.

@semitonal
Copy link
Member

semitonal commented Dec 9, 2018

Deal Four shouldn't still be able to draw from Punishment - the reason for that behaviour is gone if deck numbers are known, so it'd be simpler and pretty much equivalent for it to just be unusable with < 4 cards. It'd also probably be fine to just deal as many as you have left (with no discount on the piety cost), alternatively - maybe that's the better option in fact.

@ebering
Copy link
Contributor Author

ebering commented Dec 9, 2018

@MarvinPA Thanks for the feedback. I agree, and will be pushing the second alternative (if < 4 just deal what's left) momentarily.

I've also reduced the piety cost to zero: since it clears the deck the ability is already indirectly piety gated. The cost was (debatably) too high for old Nem, but definitely too high for this iteration.

@b-crawl
Copy link

b-crawl commented Dec 15, 2018

Deal 4 doesn't seem to actually clear decks. I'll be keeping it that way, but you might want to change it.

Step one of abilifying decks is to remove the different rarities. All
decks are now roughly ornate in power, but the exact distribution of
card_level has changed somewhat, and is now

card_level = x_chance_in_y(power, 900) + x_chance_in_y(power, 2700)

with power a function of piety and invocations:

power = (invocations * 9) + (piety * (invocations + 25)) / 27 + piety * (3/2)

Further attempts at balance are not considered at this stage, since
subsequent commits will further modify Nemelex significantly.
Subsequent commits will return decks to Nemelex worshippers without
going through the legacy of having them be actual items.

This commit removes the deck item type, confiscates any remaining decks on
load in save-compatibility, and removes as much of the item handling
code for decks as possible.

Any pre-change Nemelex worshippers transferring their save get a raw
deal, but that's been done once before for the evocations to invocations
change.
Nemelex deals cards into the player's decks on the gift timeout and
empties them on wrath.
Add a menu for all Nemelex abilities to select the deck to use. Toggles
to describe the decks, listing their cards.
Draws from one of the abstract decks the player has, and is the only
interface to decks.
Deals four from one of the player's abstract decks, emptying the
remaining cards. The player is still permitted to deal four without
sufficient cards (with a prompt), if they do they get a deal from
Punishment.
Reimplementation of the old ability, which is otherwise totally
unchanged.
The player draws five cards, one at a time, and then organizes them into
a stack, which can be subsequently drawn from in draw one. Re-using this
ability discards the current stack.

This commit refactors an internal function to simplify displaying card
descriptions.
This removes an extra keypress that will add up over time. For user
consistency, the deck hotkeys in the deck chooser are now the same as
the ability hotkeys for drawing from them. If this behavior is
undesirable for some users, an options toggle can be added.
Move old deck icons to UNUSED. Recolour and relocate the remaining ones
to fit the colour scheme of Nemelex's other abilities.
These are automatically built to reflect the current state of the deck
being described.
The piety cost of deal four was a relic from old Nemelex, was too high
(according to some) for even old Nemelex, and definitely too high for
new Nemelex. The loss of cards means that deal four is piety gated in
the new scheme already, so the piety cost for dealing four is now zero.

Additionally, with card counts known, the punishment mechanic doesn't
make sense (too flavour).

Triple Draw is very good, and knowing deck counts means it can always be
used on 3 cards, so its piety cost is increased.
At power level zero Velocity was far more likely to be actively harmful
to the player than to help. With the changes to Nemelex, this particular
blind-draw downside is too harsh.

The new card no longer removes haste at power zero, and has the
following effects based on card level.

- level chance in 2 to remove slow from the player
- for each enemy in sight there is a (level + 1) chance in 3 to slow
- for each ally in sight there is a level chance in 2 to haste
This gives a force_more for every gift. As the gift timeout hasn't
changed this is hopefully not too obtrusive. If it really is, a separate
message for when a deck goes from zero to non-zero card count should be
added and made the default along with the deck is full message.
Currently 'the Pentagram' is 13 characters, so there isn't space in the
Cost column of the ability menu for the string
'A Card (the Pentagram, n more)' using a shorter string than this makes
it even harder to parse. Since a player concerned about how many cards
remain in their stack is probably also interested in which cards those
are it doesn't seem too bad to not have the count in the ability
display.
The player has already seen the card, so we can't put it back, but if
they want to waste it that's their prerogative. If we see a hup we also
cancel the card.
Instead of repeatedly calling the deck chooser menu in a clunky fashion,
implement a fancier deck chooser that displays the cards crawn so far on
the bottom line.
Add a flag MF_UNCANCEL that indicates to a Menu that it is
uncancellable. Menus run with this flag should be run from within a
run_uncancel to behave correctly under HUPs.
@ebering ebering merged commit 760965b into crawl:master Dec 19, 2018
@ebering ebering mentioned this pull request Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
big change Likely to involve a very large and complicated change removal Related to the removal of some aspect of dcss
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants