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

More control of ego effects or use activation instead? #5451

Closed
backwardsEric opened this issue Aug 7, 2022 · 1 comment · Fixed by #5569
Closed

More control of ego effects or use activation instead? #5451

backwardsEric opened this issue Aug 7, 2022 · 1 comment · Fixed by #5569
Milestone

Comments

@backwardsEric
Copy link
Contributor

The parsing of ego types currently (4.2.*) does not allow some of the control over added effects that's present for object kinds, curses, and activations. Namely, there's no provision for specifying the y and x parameters of an effect (effect-yx directive) or binding an expression (expr directive). Also, there's no control over the message when an ego item is activated.

Could add the parsing so ego types have the same level control over the added effects, but would it be better to have them link to an activation instead? That would reduce the amount of code needed, and when changes are made to how activations are handled, it wouldn't have to be done in more than one place. The drawbacks are that there likely would have to be additional data with each activation to signal whether it was appropriate for inclusion on a random artifact (and likely would want that mechanism to be general if we are using activations in multiple contexts) and that, for someone reading/editing the data files, there's the extra level of indirection (have to look up the activation in activation.txt) to see what's happening if an ego item is activated.

Also could use activations to replace the effect chains for object kinds and curses, again with the aim to have one place where effect chains for objects are configured. If that was done, would want to do some renaming (for curses and most object kinds the effect chain isn't invoked by activation) to avoid confusion. Is "effect_chain"/"effect-chain" good enough?

@NickMcConnell
Copy link
Member

FAangband uses activations on ego items, but then it actually has some ego items which can be activated, whereas Angband currently has none. I'd be inclined to use activations, and I don't think it's likely that activations suitable for ego items would be unsuitable for randarts.

I'm inclined to leave effect chains in object.txt and curse.txt, because of the extra level of indirection you mention.

@NickMcConnell NickMcConnell added this to the Future milestone Oct 29, 2022
backwardsEric added a commit to backwardsEric/angband that referenced this issue Dec 4, 2022
…and#5451 .  Since Vanilla has no egos with effect chains, there's no impact on savefile compatibility; modded games with such egos do have savefile compatibility issues (loss of the effect for the ego item when loading an old save into a version with this change).
@NickMcConnell NickMcConnell modified the milestones: Future, 4.2 Dec 4, 2022
NickMcConnell pushed a commit that referenced this issue Jan 20, 2023
…. Since Vanilla has no egos with effect chains, there's no impact on savefile compatibility; modded games with such egos do have savefile compatibility issues (loss of the effect for the ego item when loading an old save into a version with this change).
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 a pull request may close this issue.

2 participants