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

Spell and skill changes for boosting spells and skill, Re-enable morph, fix for energy worms #369

Merged
merged 8 commits into from
Oct 25, 2023

Conversation

omnidecker
Copy link
Contributor

Changes boost spells to allow benefit to having higher amounts of skill or spell power when casting.
New calculation is hm := hm/10+1;
if (hm>10)
hm := 10+((hm-10)/5)
This keeps the old calculation for lower level casting while allowing benefit at a massively reduced rate for those who are highly skilled and magically/divinely trained.
This also affects duration whic has been switched to hm*2. This means in a few cases you will need to cast more often but most of time time it will be a positive change.
Morphg also re-enabled. Most of the reasons it was disabled are no longer relevant to the mud in its current state.

Changes boost spells to allow benefit to having higher amounts of skill
or spell power when casting.
New calculation is hm := hm/10+1;
      if (hm>10)
    hm := 10+((hm-10)/5)
This keeps the old calculation for lower level casting while allowing
benefit at a massively reduced rate for those who are highly skilled and
magically/divinely trained.
This also affects duration whic has been switched to hm*2. This means in
a few cases you will need to cast more often but most of time time it
will be a positive change.
Morphg also re-enabled. Most of the reasons it was disabled are no
longer relevant to the mud in its current state.
Changed calculation to allow normal rampup through 150, then add at
every 50 instead of every 10.
Spell boost now uses 30% of hm instead of 50% for post 100 calculation
Spell duration now uses 20% instead of 10% for post 150 calculation
Fixed comment for spell bonus calc as the calculation was changed to /30
instead of /50, Prevent energy worms from eating bags by adding check to
see if the object is a bag and skipping it
Modified Berserk to use aa new bonus calc method for skills that
leverages the skill calculation already being used. Now can have
slightly larger boosts in some cases and duration based on skill roll.
@omnidecker omnidecker changed the title Spell changes for boosting spells, Re-enable morph Spell and skill changes for boosting spells and skill, Re-enable morph, fix for energy worms Oct 16, 2023
Remove immortal_level requirement from zone prompt variable
Copy link
Owner

@Seifert69 Seifert69 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please review my questions, you can reply inline or on Discord. I might have misread your code, etc.

return (2);
else if (hm > 150)
return (15);
return (2); // removed cap at 150 of 15.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like an error to me?
There's a ton of functions using skill_duration. Before the max was 15.
You've changed the max here from 15 to 2? But all the functions using
this appear to be unchanged. So isn't the end result that a spell like
"light" will get's it's duration reduced to max 2 ?

Perhaps what you wanted to do was:

hm := hm / 10;
if (hm < 2)
return 2;
if (hm > 10)
hm := 10 + (hm-10)/2;
return hm;

if (hm > 10)
hm := 10;

hm := bonusCalc(hm);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like your change means it cannot fail. Before it could fail (hm < 0) but now hm is never less than 10 and thus always succeeds.


addaff(tgt, ID_BLESS, 10, WAIT_SEC*30,
addaff(tgt, ID_BLESS, hm*2, WAIT_SEC*30,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are you multiplying by two? Before it was hm/10. so now it's 2 * hm / 10. Is that intentional?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

used to be 10 all the time. There actually is a problem here, it should be hm, not hm*2 as duration is 1/2 of the rest of the boost spells. I'll edit that. Note that at this point hm is already modified by the boost calculation so it is the roll divided by 10 for the first 10 increments, then divided by an additional 3 (so effectively divided by 30) for everything beyond that. This can actually mean a shorter duration for really low rolls.. I'll actually min that too so that the minimum will still be 10.

Good catch!

vme/zone/spells.zon Show resolved Hide resolved
Change to use max functions so that the default duration for
spells/skills is at least the same as the old default
Fixed the doubling of the bless/unholy blessing spell duration
Fixed Berserk no longer being able to fail
seriously, I spelled integer with 2 Is...
Newbie guides now destroy mobs instead of setting them to 0 hp.
@Seifert69 Seifert69 merged commit 1211ab4 into Seifert69:master Oct 25, 2023
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.

2 participants