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

Enchantment Values (Organization) #33837

Open
51 of 66 tasks
KorGgenT opened this issue Sep 6, 2019 · 15 comments
Open
51 of 66 tasks

Enchantment Values (Organization) #33837

KorGgenT opened this issue Sep 6, 2019 · 15 comments
Labels
Artifacts Otherworldly items with special effects [C++] Changes (can be) made in C++. Previously named `Code` Organization General development organization issues stale Closed for lack of activity, but still valid.

Comments

@KorGgenT
Copy link
Member

KorGgenT commented Sep 6, 2019

This Issue is a general organization issue for Enchantment Values. There are quite a lot of them, and they are scattered throughout the code, so it will be necessary to break it up into more than one PR.
The available enums, and therefore suggested values for enchantments are as follows:

  • STRENGTH,
  • DEXTERITY,
  • PERCEPTION,
  • INTELLIGENCE,
  • SPEED,
  • ATTACK_COST,
  • ATTACK_SPEED,
  • MOVE_COST,
  • METABOLISM,
  • MAX_MANA,
  • REGEN_MANA,
  • SPELL_LEVEL,
  • BIONIC_POWER,
  • MAX_STAMINA,
  • REGEN_STAMINA,
  • MAX_HP, // for all limbs! use with caution
  • REGEN_HP,
  • THIRST, // cost or regen over time
  • FATIGUE, // cost or regen over time
  • PAIN, // cost or regen over time
  • BONUS_DODGE,
  • BONUS_BLOCK,
  • BONUS_DAMAGE,
  • ATTACK_NOISE,
  • SPELL_NOISE,
  • SHOUT_NOISE,
  • FOOTSTEP_NOISE,
  • SIGHT_RANGE,
  • CARRY_WEIGHT,
  • CARRY_VOLUME,
  • SOCIAL_LIE,
  • SOCIAL_PERSUADE,
  • SOCIAL_INTIMIDATE,
  • ARMOR_BASH,
  • ARMOR_CUT,
  • ARMOR_STAB,
  • ARMOR_HEAT,
  • ARMOR_COLD,
  • ARMOR_ELEC,
  • ARMOR_ACID,
  • ARMOR_BIO,
    // effects for the item that has the enchantment
  • ITEM_DAMAGE_BASH,
  • ITEM_DAMAGE_CUT,
  • ITEM_DAMAGE_STAB,
  • ITEM_DAMAGE_HEAT,
  • ITEM_DAMAGE_BULLET
  • ITEM_DAMAGE_COLD,
  • ITEM_DAMAGE_ELEC,
  • ITEM_DAMAGE_ACID,
  • ITEM_DAMAGE_BIO,
  • ITEM_DAMAGE_PURE,
  • ITEM_DAMAGE_AP, // armor piercing
  • ITEM_ARMOR_BASH,
  • ITEM_ARMOR_CUT,
  • ITEM_ARMOR_STAB,
  • ITEM_ARMOR_HEAT,
  • ITEM_ARMOR_COLD,
  • ITEM_ARMOR_ELEC,
  • ITEM_ARMOR_ACID,
  • ITEM_ARMOR_BIO,
  • ITEM_WEIGHT,
  • ITEM_ENCUMBRANCE,
  • ITEM_VOLUME,
  • ITEM_COVERAGE,
  • ITEM_ATTACK_SPEED,
  • ITEM_WET_PROTECTION,

Suggestions and questions on this issue are encouraged.

@KorGgenT KorGgenT added Organization General development organization issues [C++] Changes (can be) made in C++. Previously named `Code` Artifacts Otherworldly items with special effects labels Sep 6, 2019
@Fris0uman
Copy link
Contributor

What about affecting :

  • Warmth ? Either warmth given by the armor or directly affecting warmth of the player
  • Character height
  • Character weight
    Those are quite minor but could be usefull later, maybe an enchantement that makes your huge mutant small again to fit in vehicle could be usefull ^^ .

@foulman
Copy link
Contributor

foulman commented Sep 6, 2019

I'm not entirely sure what BIONIC_POWER is supposed to be, but if it's anything like say MAX_MANA then I would recommend a REGEN_BIONIC/POWER as well, and if that doesn't increase the power pool then consider adding a MAX_POWER value to go along with it, I can see that being useful for magic and tech items.

@foulman
Copy link
Contributor

foulman commented Sep 6, 2019

Also perhaps a DAYTIME and NIGHTTIME flag for the enchantment conditions?

@crazykiddeath
Copy link
Contributor

Maybe To-Hit Bonus and on hit effects like blind/stun etc?

@KorGgenT
Copy link
Member Author

KorGgenT commented Sep 7, 2019

and on hit effects like blind/stun etc?

that would be a separate thing. This list is for modifiable values only.

@foulman
Copy link
Contributor

foulman commented Sep 8, 2019

Ah, silly me for not including this sooner: Skill values. Both positive and negative would be simply fantastic. Imagine boots of dodging or a knife that gave you 2 extra points in cutting weapons. Now that I think about it, this could also be used as a basis to do things like a cyberpunk skillchip as well. Need to make a homemade bomb? Pop in that chip of Cooking +3 you found on that scientist in the last lab. Or rifles +2 from the dead cyborg SpecOps sniper. Negative could obviously be used for cursed objects, or to simulate a reduction in some other skills due to your brain being forced to cognitively handle the extra knowledge on a skill you are enhancing.

@vlad1492
Copy link

One of the mouse mutations reduces the distance zombies notice you at.
Mighty handy enchantment, I'd think.
Not quite invisibility, but unnoticability.

While I am thinking about Jedi mind tricks, how about a remote noisemaker? Long range spell that makes sound. I know, off topic.

@foulman
Copy link
Contributor

foulman commented Sep 12, 2019

@vlad1492
Actually, I had proposed an item stealth modifier before (like crouching does), I'm not sure what happened with that.
There is a way to do noisemaking, and I tried making a spell for it, as the functionality does exist, but it was very... buggy. I could make it loud enough to deafen you even across the map but zombies generally didn't seem to care. I may look for other alternative methods of accomplishing it, like conjuring a loud invisible creature that keeps screaming.

@foulman
Copy link
Contributor

foulman commented Sep 17, 2019

ATTACK_COST,
MOVE_COST,
SKILL_VALUE
MAX_MANA,
REGEN_MANA,
BIONIC_POWER, (regen too?)
MAX_STAMINA,
REGEN_STAMINA,
MAX_HP, // for all limbs! use with caution
REGEN_HP,
BONUS_DODGE,
BONUS_BLOCK,
CARRY_WEIGHT,
CARRY_VOLUME,
METABOLISM,
FATIGUE, // cost or regen over time
PAIN, // cost or regen over time
BONUS_DAMAGE,
ATTACK_NOISE,
SPELL_NOISE,
FOOTSTEP_NOISE,
SIGHT_RANGE,
THIRST, // cost or regen over time

@foulman
Copy link
Contributor

foulman commented Sep 21, 2019

Effective spell level boost, including negative values. would be a good way to balance some magic items out. +1 means all spells cast at one level higher.

@foulman
Copy link
Contributor

foulman commented Sep 22, 2019

Now that I think about it, can we have conditions for specific classes/traits?
A magic staff that does certain things for everyone that holds it.. and a few extra things for a Druid? Based on has_trait I guess.

@KorGgenT KorGgenT moved this from To Do to In Progress in Rewrite Artifacts Sep 26, 2019
This was referenced Oct 6, 2019
@KorGgenT KorGgenT added this to the 0.F milestone Jan 9, 2020
@Hyperseeker
Copy link
Contributor

LEANING_SPEED,

BIONIC_REGEN, // passively regenerate or drain bionic power outside of the CBM interactions

CHARGE_REGEN, // passively regenerate or drain all battery charge items (including UPS, but not items depending on it) currently carried on the person

ITEM_REGEN, // passively regenerate the specified item (whether worn or not)

CLAIRVOYANCE, // where value is the range of sight behind walls

DRAW_SPEED, // as in "draw from your holster"

AIM_SPEED, // bonus to the weapon's base aim time(?)

BONUS_ACCURACY,

BONUS_RANGE, // for attacks

REPLENISH_AMMO_CHANCE, // chance to regenerate ammunition when firing for those weapons that have a magazine or internal ammo capacity (does not affect UPS, bows, or crossbows)

TRAP_DETECT // without increasing Perception

@KorGgenT
Copy link
Member Author

BIONIC_REGEN, // passively regenerate or drain bionic power outside of the CBM interactions

CHARGE_REGEN, // passively regenerate or drain all battery charge items (including UPS, but not items depending on it) currently carried on the person

ITEM_REGEN, // passively regenerate the specified item (whether worn or not)

i'm not sure these three fit into the definition of a "value", because they seem to need additional data. especially ITEM_REGEN

@Hyperseeker
Copy link
Contributor

Hyperseeker commented Feb 23, 2020

For the first two, I meant regeneration in general. You walk around, and your bionic power / charge in all your batteries changes by the specified value. No other parameters are necessary to make the value itself work. Or do you mean it needs additional code to make happen?

For ITEM_REGEN, I figured they'd be attached to an item anyway, so only spread the effect to this one particular item. I guess you might need to specify which item, either in the JSON definition or in the engine code. Prompting it 'cause I kinda need that for a mod, and I imagine self-healing materials could be used by other modders and by the game itself later. If this could still be used in a different way, that would be great.

Four more values:

READING_SPEED,

BIONIC_FUEL_EFFICIENCY, // straight efficiency increase; setting it to 1 would mean that any power-generating CBM would inevitably break the laws of physics (1 + 0.625 = super-efficient)

BIONIC_FUEL_EFFICIENCY_MULT, // multiplicative modifier; setting it to 1 would leave everything as is, and to 2 - increase all efficiency to 200%

ITEM_ATTACK_PENETRATE_CHANCE // chance for the projectile to pass through the first target (still damaging it) and hit the target behind it

That last one feels like ITEM_REGEN in that it might not work as I expect it to, from your perspective, but I thought it was neat to suggest.

Wording on the fuel efficiency effects could be better.

@kevingranade kevingranade removed this from the 0.F milestone Dec 14, 2020
@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Artifacts Otherworldly items with special effects [C++] Changes (can be) made in C++. Previously named `Code` Organization General development organization issues stale Closed for lack of activity, but still valid.
Projects
Rewrite Artifacts
  
In Progress
0.F Release Planning
  
Delayed blockers (for 0.G)
Development

No branches or pull requests

7 participants