** SPOILER ALERT ** Having Magical Issues

Got something on your mind about the project? This is the correct place for that.


Forum rules

This forum is for feature requests, content changes additions, anything not a Bug in the software.
Please report all bugs on the Support Forums

Post Reply
blackrazor
Warrior
Warrior
Posts: 332
Joined: 18 Oct 2007, 13:38

** SPOILER ALERT ** Having Magical Issues

Post by blackrazor »

level 46,
magical bonus +2 (cotton boots, pinkie hat),
intelligence 26,
astral focus 1 (and I'm focused on that skill with Luca),
magical attack (from f2) 99
(general) magic 1, nature magic 2, war magic 2

1) I know that in order to gain XP, I need to cast a spell that uses ingredients, and not to cast the same spell consecutively. Is it sufficient to separate an XP spell with spells that don't give XP? For example, let's say I chain the knife spell (#chiza) with aggravate monster (#itenplz) and know my level (#abizit), and keep repeating that chain, will I gain XP on each #chiza cast?

2) Will I gain XP if doing this on the Manaplus 1.2.8.5 client? I'm using that so I can bind the spells to my shortcuts, is that okay?

===

3) If (1) and (2) are fine, then I seem to have a problem. I've been using knife (#chiza), maggot (#kalmurk), and slow heal (#lum), always mixed with aggravate (#itenplz) and level (#abizit), but I am NOT gaining any percentage. #Abizit still gives me "You feel completely overwhelmed by your magic." less than 10%, and if going from level 1 to 2 is only 100 xp, and the XP spells give 1 each, I know for sure that I've casted more than 10 of them total.

4) I started Life Magic with Elanore. It seemed to work, in that she gave me slow heal (#lum) and 1 lifestone, but I did NOT gain Life Magic level 1 in my magic skills tab (from f5). I am able to cast #lum though; it works.

===

Please if someone could help explain problem (3) and (4) for me. Am I doing something wrong? Is there something I overlooked? Is my character stuck or corrupted? Please help.

Thanks.

*** SECOND EDIT ***

After more research on forums, specifically this: http://forums.themanaworld.org/viewtopi ... 7&start=15

It seems that for (3), the spells that give no XP (#itenplz, #abizit, #miteyo, etc.) do NOT count in a chain as something to keep casting non-consecutive, and thus XP earning. For example, if you cast 50 iterations of #chiza + #itenplz + #abizit, you will get one XP for the first #chiza, and everything else will be wasted. If you want magic XP, you have to alternate between different spells that actually give XP, such as #chiza and #flar, for example.

Life Magic XP is even more tricky. You get no XP for healing yourself and you get no XP if the healed amount is too small. So if you're working on #lum to gain Life Magic 2 with Elanore, make sure to heal other players, not yourself, and heal them when they are as badly hurt as you can manage.

For (4), it seems that the various schools of magic, except (general) magic, don't show on the magic tab of skills (f5) at level one. They will show when the quests for them are complete and they are at level two.

This may end up answering my own query, but please keep this around, as it will probably help other players with similar concerns. I will test anew, based on these new parameters, and I will report back if I encounter more obstacles.

====

EDIT (not really related, but I figured I would keep all my SPOILER stuff in one post. Half the destruction, twice the fun. :D )

I was talking to King Crunch, and this info is for Nard, wiki admin:

Stuff missing from wiki

1) #skrimp is missing from the spell list at http://wiki.themanaworld.org/index.php/Spells

UPDATE on (1) Ched, from Tondar's Magic School in Tulimshar gives the #skrimp spell. I think it's involved with making or transmuting potions.

2) the Kylian's luggage quest is now much longer than indicated here http://wiki.themanaworld.org/index.php/ ... 7s_luggage

It goes on with numerous errands that he sends you on, searching for store permits, casinos, good spots to buy things and to eat, etc. etc. each time rewarding you with small tips of XP and gold. Finally, at least as far as I've gotten, he rewards you with a Desert Hat.

3) For daily quests, Imec's daily quest in Tulimshar for (regular) scorpion stingers is not listed.

http://wiki.themanaworld.org/index.php/ ... s_Stingers has a link, but does not currently exist in the wiki.

4) Rauk will not transmute iron to iron powder and ash to sulfur powder until you trigger very specific events. For me, I needed to ask the sister sword (Dimont) where I could obtain sulfur for the #flar spell she taught me, before Rauk would offer his services. Similarly, although I haven't gotten this far yet, I think you must ask the sword where to obtain iron powder, presumably for the #ingrav spell, before Rauk will offer his services for that, as well.

UPDATE on (4): I have confirmed that Rauk's ability to make iron powder is indeed triggered by learning the #ingrav spell from sister sword (Dimont), as that is the required reagent. Furthermore, the same options open up on Auldsbel, as well, with the same triggers (#flar and asking where to get sulfur for it, and #ingrav for iron powder). Auldsbel will transmute 1 ash into 5 sulfur for 280 gold (the price might vary a bit, I believe depending how far along you are in the "helping with experiments" quest), but if you ask about iron powder, Auldsbel will tell you to look elsewhere for it, at least that was my experience with those options, as they became available for the asking.

5) The wiki makes sparse mention of a Trader NPC (the one that teaches the trade skill level 1) that will also trade iron for iron powder, sulfur for sulfur powder, and small potions for medium potions. He is much more expensive and inefficient, but a good alternative to getting these items for those with very low magic or no magic.

The info is listed in trade skill http://wiki.themanaworld.org/index.php/Trade_Skill, but someone looking for it will probably be searching:
the NPC list http://wiki.themanaworld.org/index.php/Category:NPC
or iron powder http://wiki.themanaworld.org/index.php/Iron_Powder
or sulfur powder (unlisted)
In all of those places, no mention is made of the Trader's services, although other methods are listed.

6) EDIT (again) 6) For general magic level 2, you do not need a second mana potion, as is indicated here:
http://wiki.themanaworld.org/index.php/ ... agic_Skill

It's enough just to touch the mana seed for level 2, once "You feel in perfect control of your magic", i.e. 100% with #abizit.

7) More EDIT 7)

In http://wiki.themanaworld.org/index.php/Stats it gives the formula for how many stat points you will have to distribute at any given level, as [BaseLevel/5] + 2, which is the official Ragnarok formula for this. It is not right in Mana World.

Ragnarok = trunc (BaseLevel/5) + 2
Mana World = round (BaseLevel/4) + 3

Basically, you get more points in Mana World. Note the the formula for how much a stat costs to upgrade is the same as Ragnarok, and is correctly stated.

8 ) Still yet more EDIT 8 )

In the spell description of #parum (log transmutation) in http://wiki.themanaworld.org/index.php/Spells , it says that the only known argument is "boo", used for a Mouboo Figurine, for example, "#parum boo".

There is also #parum lurk, which is useful in forcing the creation of a warped log, for those players who like to collect strange oddities, but have leveled their magic too high to fail on it anymore. It comes with the message: "You have no idea what a Skrytlurk looks like".

9) More edit by popular demand 9)

For the Mallard's Eye quest, the wiki gives a good description of the first part of the mini-game. The thing to realize is that you are shooting at a target directly to the north. If there is a wind blowing north, into your face (headwind), you must strengthen the power of your shot to compensate. If there is a wind blowing south, into your ... ummm (tailwind), you must weaken the power of your shot to compensate. If the wind is blowing to the west (left), you must compensate by aiming to the east (right). If the wind is blowing to the east (right), you must compensate by aiming to the west (left). There can be two factors in play at once, for example, the wind could be blowing both north and to the west (left). So, you must adjust for both, in this case, both strengthening your shot and aiming to the east (right). The wiki gives a good table of how much you must adjust, based on the size (strength) of the wind. Less of an adjustment if it is a gentle breeze, more of an adjustment if it is a strong gale.

What the wiki doesn't mention is that there is often a second part to this mini-game, as indicated by Gwendolyn checking your bull's-eye and reporting that your shot missed by a hair's breadth. Quick, you have to adjust before the wind changes! If she tells you the shot was a little low, add one more power. If she tells you the shot was a little high, reduce by one power. If she tells you the shot was a little to the left, then aim one more step to the right. If she tells you the shot was a little to the right, then aim one more step to the left. I think two factors can be in play here, but it just means you compensate for both, just like in the first part of the mini-game.
Last edited by blackrazor on 17 Sep 2012, 16:03, edited 5 times in total.
User avatar
Nard
Knight
Knight
Posts: 1113
Joined: 27 Jun 2010, 12:45
Location: France, near Paris

Re: ** SPOILER ALERT ** Having Magical Issues

Post by Nard »

I have not verified all scripts involving magic but I have trained enough chars until the higher magic levels to be sure that the advices of Auldsbel, Wyara and Elanore, thus of the wiki are good ones:
github magic.conf.template
→to magic beginners: do not confuse "experience" and "magic experience". The second is a hidden status parameter that can be seen only with abizit.
  • alternate spells: casting twice or more the same spell consecutively brings no magic experience. magic level 1 such as #abizit and #itenplz work for this task (PROCEDURE gain_xp(gain)).
  • a spell which uses items brings more magic experience than those which use none. Thus #kalmurk and #flar are better than itenplz.
  • at level 2, prefer the level 2 spells which bring more exp than level 1 or 0 ones.
  • healing: #lum badly wounded chars is far better. Heal experience: healing yourself doesn't bring any (if I understand the code well). If you can heal only wounded chars that bring you about 400 regular exp you need less than 20 stones for Elanore to accept you as a student.
The following level 0 spells bring No magic exp.:
abizit, itenplz, miteyo.
The following level 0 spells bring 1 magic exp.:
chiza, flar, parum ( with boo), gole, lum, kalmurk
The following level 1 spells bring No magic exp.:
upmarmu, chipchip, inwilt, inzuwilt
The following level 1 spells bring 1 magic exp.:
kularzufrill, plugh, joyplim, kaflosh, kalrenk, kalakarenk, manpahil
The following level 1 spells bring 2 magic exp.:
patloree, patviloree, patmuploo, ingrav, frillyar, betsanc, anwitltyp
The following level 1 spells bring 3 magic exp.:
zukminbirf, asorm
inma (level 1) brings variable magic experience with a maximum of 4

Abizit answer is subject to random result and it's indications are stepwise, thus it is difficult to measure progression especially at the beginning, where it is slow. As soon as "You feel somewhat in control of your magic." use the #parum spell (boo) it seems to bring a lot more magic experience than the others and accelerates progression up to level 2 (the same applies to #zukminbirf spell at level 2).

For reasons I ignore there is NO Life, Transmutation, War or Astral magic level 1, thus #kalmurk and #parum ... are level 0 spells. And school level is not required to cast level 0 spells, only to level 1 ones where both general magic and school skill levels are required to be strictly greater than the spell level.

#skrimp: this spell is actually completely useless as it was designed to transmute a weak concentration potion into a regular one. and the weak potion is not available in game. There is a level 2 spell to make concentration potions that could make it useful but as magic level 3 is not yet available... :?

Thank you very much for the remarks about wiki, the spells page is inexact too. I'll try to update it quickly at least for the content part.
"The language of everyday life is clogged with sentiment, and the science of human nature has not advanced so far that we can describe individual sentiment in a clear way." Lancelot Hogben, Mathematics for the Million.
“There are two motives for reading a book; one, that you enjoy it; the other, that you can boast about it.” Bertrand Russell, Conquest of Happiness.
"If you optimize everything, you will always be unhappy." Donald Knuth.
User avatar
Nard
Knight
Knight
Posts: 1113
Joined: 27 Jun 2010, 12:45
Location: France, near Paris

Re: ** SPOILER ALERT ** Having Magical Issues

Post by Nard »

blackrazor wrote:
7) More EDIT 7)

In http://wiki.themanaworld.org/index.php/Stats it gives the formula for how many stat points you will have to distribute at any given level, as [BaseLevel/5] + 2, which is the official Ragnarok formula for this. It is not right in Mana World.

Ragnarok = trunc (BaseLevel/5) + 2
Mana World = round (BaseLevel/4) + 3

Basically, you get more points in Mana World. Note the the formula for how much a stat costs to upgrade is the same as Ragnarok, and is correctly stated.
The correct formula is:

Incr. = Int((BaseLevel+2)/4) + 3 (Integer part) or
Incr. = Quotient((BaseLevel+2),4) + 3 (Integer part)

Note: In TMW scripts all divisions are integer divisions (quotient).

I will update wiki on these two points. (and development part too)

EDIT: o11c could you confirm please?
"The language of everyday life is clogged with sentiment, and the science of human nature has not advanced so far that we can describe individual sentiment in a clear way." Lancelot Hogben, Mathematics for the Million.
“There are two motives for reading a book; one, that you enjoy it; the other, that you can boast about it.” Bertrand Russell, Conquest of Happiness.
"If you optimize everything, you will always be unhappy." Donald Knuth.
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: ** SPOILER ALERT ** Having Magical Issues

Post by o11c »

Nard wrote:EDIT: o11c could you confirm please?
I don't have time to look at this in depth, but this is the level-up logic.

Code: Select all

src/map/pc.cpp-5101    -        sd->status.base_level++;
src/map/pc.cpp:5102    :        sd->status.status_point += (sd->status.base_level + 14) / 4;
There may or may not be a precomputed table of the sums somewhere.
Former programmer for the TMWA server.
User avatar
tux9th
TMW Adviser
TMW Adviser
Posts: 428
Joined: 09 Mar 2012, 20:21
Location: -67.067433,54.433587

Re: ** SPOILER ALERT ** Having Magical Issues

Post by tux9th »

https://github.com/themanaworld/tmwa-se ... tpoint.txt
here is the table for that.
I hope you're talking about Status Points per Level.

Line 99 eq Level 99 = 1592 Statpoints

Greets
User avatar
Nard
Knight
Knight
Posts: 1113
Joined: 27 Jun 2010, 12:45
Location: France, near Paris

Re: ** SPOILER ALERT ** Having Magical Issues

Post by Nard »

o11c wrote: src/map/pc.cpp-5101 - sd->status.base_level++;
src/map/pc.cpp:5102 : sd->status.status_point += (sd->status.base_level + 14) / 4;
[/code]

There may or may not be a precomputed table of the sums somewhere.
tux9th wrote:https://github.com/themanaworld/tmwa-se ... tpoint.txt
here is the table for that.
I hope you're talking about Status Points per Level.

Line 99 eq Level 99 = 1592 Statpoints

Greets
  1. the formula I gave and o11c's one are the same:

    Code: Select all

    14=3x4+2 thus:
    (status.base_level + 14) / 4 =(status.base_level+3x4 + 2) / 4 =(status.base_level + 2) / 4 +3
    
  2. The statpoint.txt is different: while the increments are correct, it starts with an initial status points of 48 though it is 30 in game (24+6).
This explains the mysterious difference that you get when you use Jenalya's Debug NPCs on testing server:
  1. Create a brand new char
  2. @blvl 99; you are lvl 100. Status point should read 1572 ( you already used the 30 initial points, thus a total of 1602, 1596 only available)
  3. With Debug0,"Reset everything". You are still level 1 and have now 1620 status points (1620=1602+18 like 48=30+18)
  4. With Debug0,"Reset everything" again. You are still level 1 and have now 48 status points (48=30+18).
Conclusion: There are two bugs:
  1. The statpoint.txt is false: all values are +18 too high.
  2. the debug0 script should reset to an initial status available point value of: 30-6=24 to take into account the 1 minimal values of the 6 parameters
Attachments
Statuspoints.csv
Status points data, measured and computed.
(3.08 KiB) Downloaded 159 times
"The language of everyday life is clogged with sentiment, and the science of human nature has not advanced so far that we can describe individual sentiment in a clear way." Lancelot Hogben, Mathematics for the Million.
“There are two motives for reading a book; one, that you enjoy it; the other, that you can boast about it.” Bertrand Russell, Conquest of Happiness.
"If you optimize everything, you will always be unhappy." Donald Knuth.
User avatar
Nard
Knight
Knight
Posts: 1113
Joined: 27 Jun 2010, 12:45
Location: France, near Paris

Re: ** SPOILER ALERT ** Having Magical Issues

Post by Nard »

Attachments
statpoint.txt
(1.16 KiB) Downloaded 101 times
"The language of everyday life is clogged with sentiment, and the science of human nature has not advanced so far that we can describe individual sentiment in a clear way." Lancelot Hogben, Mathematics for the Million.
“There are two motives for reading a book; one, that you enjoy it; the other, that you can boast about it.” Bertrand Russell, Conquest of Happiness.
"If you optimize everything, you will always be unhappy." Donald Knuth.
blackrazor
Warrior
Warrior
Posts: 332
Joined: 18 Oct 2007, 13:38

Re: ** SPOILER ALERT ** Having Magical Issues

Post by blackrazor »

The initial value of 48 stat points at lvl 1 is correct. When you start a new character, you are able to add a total of 24 plus-stat gains to your six attributes, but no attribute can go past 9. For example, you could raise dexerity from 1 to 9 (+8 stat gains), and strength from 1 to 9 (+8 stat gains), and vitality from 1 to 9 (+8 stat gains). That's a total of 24 raised stat gains. Each of those raised stat gains is worth 2 stat points by the formulae, so 2 * 24 = 48 stat points. If you go to Malivox (resetter) at level one, just after creating your character, you should get 48 stat points to redistribute.

The formula I gave:

round (BaseLevel/4) + 3

is functionally the same as the one o11c gave, in terms of its results:

sd->status.status_point += (sd->status.base_level + 14) / 4

+12 of the +14 comes from handling the +3 inside the brackets, instead of outside them. The remaining +2 of the +14 comes from the difference between round() and truncate() for a division of 4.

The table that tux9th gave, https://github.com/themanaworld/tmwa-se ... tpoint.txt , seems to be correct, both in terms of the formula and in terms of actual observations within the game after a skill reset.

I don't think there is a bug here, it appears to be working as intended.

EDIT:
1620 stat points is correct at the hypothetical level of 100, if the game goes that high, but I don't think it does. Level 99 is 1592, and add another 28 points for reaching level 100, that gives 1620 total.
User avatar
Nard
Knight
Knight
Posts: 1113
Joined: 27 Jun 2010, 12:45
Location: France, near Paris

Re: ** SPOILER ALERT ** Having Magical Issues

Post by Nard »

blackrazor wrote:The initial value of 48 stat points at lvl 1 is correct. When you start a new character, you are able to add a total of 24 plus-stat gains to your six attributes, but no attribute can go past 9. For example, you could raise dexerity from 1 to 9 (+8 stat gains), and strength from 1 to 9 (+8 stat gains), and vitality from 1 to 9 (+8 stat gains). That's a total of 24 raised stat gains. Each of those raised stat gains is worth 2 stat points by the formulae, so 2 * 24 = 48 stat points. If you go to Malivox (resetter) at level one, just after creating your character, you should get 48 stat points to redistribute.

The formula I gave:

round (BaseLevel/4) + 3

is functionally the same as the one o11c gave, in terms of its results:

sd->status.status_point += (sd->status.base_level + 14) / 4

+12 of the +14 comes from handling the +3 inside the brackets, instead of outside them. The remaining +2 of the +14 comes from the difference between round() and truncate() for a division of 4.

The table that tux9th gave, https://github.com/themanaworld/tmwa-se ... tpoint.txt , seems to be correct, both in terms of the formula and in terms of actual observations within the game after a skill reset.

I don't think there is a bug here, it appears to be working as intended.
  • I forgot to take the conversion rate at level 1 into account. thus the initial status points at level 1 is not 24+6*1 but 24+6*2=36; because StatusPointCost=[(BaseOfStat - 1)/ 10] + 2, if BaseOfStat=1 it equals to 2. Anyway it does not change a thing since you cannot set any status parameter to zero. In consequence, the simplest is to update the table to reflect the available Status Points thus an initial value of 24. I update tables according to that.
  • apart from the fact that the round function does not exist in TMW,

    Code: Select all

    if the first dropped decimal is in {0,1,2,3,4} then: round(x)=Integer_part(x)
                      else:  round(x)=Integer_part(x)+1 
    which cannot fit the code result. On the opposite I showed that mine is the same.
In the attached file you will see the status points I got by raising a char'slevel one by one with "@blvl 1" on test server to establish the formula, and compared to the git file. If you shave difficulties with it, I can share a libreoffice/openoffice spreadsheet to make it more easy to understand.

Another way to convince you that I am right is the following:
  • Create a char on test server you have 24 points to dispatch plus the
  • use Debug0 char to "Reset everything"
  • you have now 48 points to dispatch with still all parameters set to 1 :)
I wrote: [*]the debug0 script should reset to an initial status available point value of: 36-12=24 to take into account the 1 minimal values of the 6 parameters[/list]
The debug0 script refers only to

Code: Select all

L_Level:
    mes "Which level do you want to be? (min: 1 - max: 255)";
    next;
    input @lvl;
    if (@lvl > 255)
        goto L_Leveltoohigh;
    if (@lvl < 1)
        goto L_Leveltoolow;
    if (BaseLevel == @lvl)
        goto L_Samelvl;
    set BaseLevel, @lvl;
    resetstatus;
    message strcharinfo(0), "New level: " + BaseLevel;
    goto L_Begin
;
thus the problem is not in the script as I wrongly supposed (sorry), but seems to be in "set BaseLevel, @lvl;" which seems to refer to the table instead of the function and don't take the min levels into account. As soon as I have done it, I'll give the formula to compute total status points as a function of level.
Attachments
Statuspoints.csv
(3.08 KiB) Downloaded 100 times
statpoint.txt
(1.16 KiB) Downloaded 101 times
Last edited by Nard on 09 Sep 2012, 14:41, edited 1 time in total.
"The language of everyday life is clogged with sentiment, and the science of human nature has not advanced so far that we can describe individual sentiment in a clear way." Lancelot Hogben, Mathematics for the Million.
“There are two motives for reading a book; one, that you enjoy it; the other, that you can boast about it.” Bertrand Russell, Conquest of Happiness.
"If you optimize everything, you will always be unhappy." Donald Knuth.
blackrazor
Warrior
Warrior
Posts: 332
Joined: 18 Oct 2007, 13:38

Re: ** SPOILER ALERT ** Having Magical Issues

Post by blackrazor »

Nard wrote: [*]The initial value of 48 is false sorry: 24 intial point plus 6x1 equals to 30 status points at level 1
[*]apart from the fact that the round function does not exist in TMW,
The 6 x 1 points are "free", you always have them, cannot remove them, and they are not included in any calculations. The 24 points are NOT points, they are stat-gains (up to a limit of stat=9). They are worth 2 stat points each. 24 x 2 = 48 stat points.

Round() function may not exist in TMW, but it exists in real-life pseudo-code. When comparing round() and truncate() for an integer division of 4:

with round():
(4x+0)/4 = x
(4x+1)/4 = x
(4x+2)/4 = x+1
(4x+3)/4 = x+1
(4x+4)/4 = x+1

with truncate():
(4x+0)/4 = x
(4x+1)/4 = x
(4x+2)/4 = x
(4x+3)/4 = x
(4x+4)/4 = x+1

You see how round() changes to x+1 two increments before truncate() for a division of 4 (or "a/2" increments for a division of "a") ? That's the functional difference between round() and truncate() in pseudocode, or any real computer code that employs both functions.

It doesn't matter whether TMWscript uses a specific function, when you are writing something in human-readable formulas, in terms of theoretical functional equivalency.

round(x/4)+3 == truncate((x+14)/4) ... you can plug both into any computer language that supports both and test the results, or ask a computer science or mathematics professor. Both are adequate to describe an expected result, whether your scripting language support one, both, or neither.
User avatar
Nard
Knight
Knight
Posts: 1113
Joined: 27 Jun 2010, 12:45
Location: France, near Paris

Re: ** SPOILER ALERT ** Having Magical Issues

Post by Nard »

Sorry I edited in interval to correc a mistake :oops:
blackrazor wrote:
with round():
(4x+0)/4 = x
(4x+1)/4 = x
(4x+2)/4 = x+1
(4x+3)/4 = x+1
(4x+4)/4 = x+1
If

with truncate():
(4x+0)/4 = x
(4x+1)/4 = x
(4x+2)/4 = x
(4x+3)/4 = x
(4x+4)/4 = x+1
Integer division (quotient) is rather truncate because you drop the fractional part of the rational division, It is possible to do the same with round with a data shift of 1/2. this is precisely what quotient[(lvl+14)/4]=quotient[(lvl+2+3*4)/4]=quotient[(lvl+2)/4]+3 does.
quotient is also available in computer languages, I may add that it is a low level functions on wich some others are buid. It is also the base of binary, octal and hexadecimal coding, pseudo-random number generation....
Attachments
statpoint.txt
available status points good version
(1.16 KiB) Downloaded 94 times
"The language of everyday life is clogged with sentiment, and the science of human nature has not advanced so far that we can describe individual sentiment in a clear way." Lancelot Hogben, Mathematics for the Million.
“There are two motives for reading a book; one, that you enjoy it; the other, that you can boast about it.” Bertrand Russell, Conquest of Happiness.
"If you optimize everything, you will always be unhappy." Donald Knuth.
blackrazor
Warrior
Warrior
Posts: 332
Joined: 18 Oct 2007, 13:38

Re: ** SPOILER ALERT ** Having Magical Issues

Post by blackrazor »

This will be my last post on the subject. I'm not going to debate this, because you cannot debate simple addition, multiplication, division with rounding, division with truncation, etc.

I only tried to help, but by all means, feel free to believe as you wish to believe. The information I posted is mathematically correct, both in terms of theory, and to describe the actual stat point gains of a TMW character. Tux9th's table is also correct. I never saw that table until today, but it agrees with what I have been predicting for my stat gains on my TMW character, over the course of his leveling, as I have planned out his stats with various builds. He is now level 77, so I have quite a few samples of actual data that agree with the expected results. Malivox and I are well acquainted; I like to experiment with many builds.

The synopsis:

You start with 48 stat points at level one. This has nothing to do with the starting values of "1" assigned to each of the six stats; those are free and not counted. There is no 6x1 or 6x2.

The 48 comes from your adding of 24 stat-increments (each stat cannot go above 9 during this process) during character creation, and each of these gains is worth 2 stat points each. 24 stat-increments x 2 stat points/increment = 48 stat points. Note that any stat from 2 to 11 cost 2 stat points to increment to that point (stat of 1 is free, and to get to 12 it starts to cost 3 points, but that is another formula), so certainly from 2 to 9 (the limit during character creation), each of 24 increments will be worth 2 stat points each.

The statement truncate((x+14)/4) == round(x/4)+3 is true. There may be other ways to express the same thing also, that is fine, and it does not invalidate the above. Either of those two algorithms will give the correct result for stat gains in TMW, when you plug newBaseLevel into x, for any level greater than one. As already indicated above, level one is a special case, where you have 48 points from the character creation process.

EDIT:
Quotient is a bit imprecise to use in casual conversation, without specifying a specific programming language. Quotient can either refer to the integer portion of a division result, dropping the remainder (making it functionally equivalent to truncate() ), or to the real result of a division, which is not what you would get with either truncate() or round(), which both return an integer result. So it really depends on context, when using quotient.

EDIT#2:
You will notice that the formula use the square-brackets. This is the old symbol for the operation floor(), which is functionally equivalent to truncate() as described here: http://en.wikipedia.org/wiki/Floor_and_ ... _functions

Not everyone is familiar with this symbol, some mistake it for either ceiling or parentheses. That's why I specified truncate() and round(), in an attempt to be as precise as I could in describing the result.
User avatar
Nard
Knight
Knight
Posts: 1113
Joined: 27 Jun 2010, 12:45
Location: France, near Paris

Re: ** SPOILER ALERT ** Having Magical Issues

Post by Nard »

blackrazor wrote: The 48 comes from your adding of 24 stat-increments (each stat cannot go above 9 during this process) during character creation, and each of these gains is worth 2 stat points each. 24 stat-increments x 2 stat points/increment = 48 stat points.
You are right and I am wrong on that point. Apologizes again. Thus there is no bug and no issue with Debug0 char or statpoint.txt file.
"The language of everyday life is clogged with sentiment, and the science of human nature has not advanced so far that we can describe individual sentiment in a clear way." Lancelot Hogben, Mathematics for the Million.
“There are two motives for reading a book; one, that you enjoy it; the other, that you can boast about it.” Bertrand Russell, Conquest of Happiness.
"If you optimize everything, you will always be unhappy." Donald Knuth.
Post Reply