Difference between revisions of "User:Maunder/Suggestions"
From The Shartak Wiki
Jump to navigationJump to search (→Whistles and Shouts: added syllable limit) |
|||
Line 3: | Line 3: | ||
== Whistles and Shouts == | == Whistles and Shouts == | ||
− | Note: all distances in this suggestion are calculated the cartesian way [ d = sqrt (dx^2 + dy^2) ] see | + | Note: all distances in this suggestion are calculated the cartesian way [ d = sqrt (dx^2 + dy^2) ] see below for graphical representation of ranges. |
[[Image:Shoutrange.PNG]] | [[Image:Shoutrange.PNG]] | ||
Line 10: | Line 10: | ||
{| border="1" | {| border="1" | ||
− | |+ possible | + | |+ possible Whistle messages |
! label !! descriptor !! message text | ! label !! descriptor !! message text | ||
|- | |- | ||
Line 26: | Line 26: | ||
# The whistler gets the message '''W0'''. | # The whistler gets the message '''W0'''. | ||
# Any player in the same location will get the identified message '''W1'''. | # Any player in the same location will get the identified message '''W1'''. | ||
− | # Any player within '''base range''' (distance <= 3) will get the distant message '''W2''' | + | # Any player within '''base range''' (distance <= 3) will get the distant message '''W2'''. |
# If the whistler is outside, then: | # If the whistler is outside, then: | ||
#* all inhabitants of huts within distance 1 ('''base range''' -2) of the whistler will also get '''W2'''. | #* all inhabitants of huts within distance 1 ('''base range''' -2) of the whistler will also get '''W2'''. | ||
Line 36: | Line 36: | ||
* option: '''base range''' is 6 for whistlers underground (inside tunnels). | * option: '''base range''' is 6 for whistlers underground (inside tunnels). | ||
− | === Part II | + | === Part II : Shout === |
For 2 AP, any human player over level 4 may Shout a short message (a few syllables). (See below.) Shouts have '''base range''' 5. | For 2 AP, any human player over level 4 may Shout a short message (a few syllables). (See below.) Shouts have '''base range''' 5. | ||
Line 71: | Line 71: | ||
#* Otherwise, the listener gets '''S1N'''. | #* Otherwise, the listener gets '''S1N'''. | ||
# Any player within distance 3 ('''base range''' -2) of the shouter will get an intelligible message, again, depending on whether they understand the language: | # Any player within distance 3 ('''base range''' -2) of the shouter will get an intelligible message, again, depending on whether they understand the language: | ||
− | #* If the listener is on the same side, or has the ''Expert Language'' skill, the listener gets '''S2L'''. | + | #* If the listener is on the same side, or has the ''Expert Language'' skill, and the message has less than 5 syllables, the listener gets '''S2L'''. |
#* Otherwise, the listener gets '''S2N'''. | #* Otherwise, the listener gets '''S2N'''. | ||
# Any player not within distance 3, but within '''base range''' (distance 5) of the shouter will get the distant message '''S3'''. | # Any player not within distance 3, but within '''base range''' (distance 5) of the shouter will get the distant message '''S3'''. | ||
# If the shouter is outside, then: | # If the shouter is outside, then: | ||
− | ## all inhabitants of huts within distance 1 ('''base range''' -4) of the shouter will get the intelligible message | + | ## all inhabitants of huts within distance 1 ('''base range''' -4) of the shouter will get |
+ | ##* message '''S2N''' if the message has more than four syllables, or else | ||
+ | ##* the intelligible message '''S2L''' or '''S2N''', depending on language comprehension. | ||
## all inhabitants of huts greater than distance 1 but within distance 3 ('''base range''' -2) of the shouter will get the distant message '''S3'''. | ## all inhabitants of huts greater than distance 1 but within distance 3 ('''base range''' -2) of the shouter will get the distant message '''S3'''. | ||
# If the shouter is inside a hut, then: | # If the shouter is inside a hut, then: | ||
− | ## all players outside within distance 1 ('''base range''' -4) of the hut will get the intelligible message '''S2L''' or '''S2N''', depending on language. | + | ## all players outside within distance 1 ('''base range''' -4) of the hut will get |
+ | ##* message '''S2N''' if the message has more than 4 syllables, or else | ||
+ | ##* the intelligible message '''S2L''' or '''S2N''', depending on language comprehension. | ||
## all players outside greater than distance 1 but within distance 3 ('''base range''' -2) of the hut will also get the distant message '''S3'''. | ## all players outside greater than distance 1 but within distance 3 ('''base range''' -2) of the hut will also get the distant message '''S3'''. | ||
# Enraged animals within distance 10 (double '''base range''') will move preferentially towards the shouter for a while(?). | # Enraged animals within distance 10 (double '''base range''') will move preferentially towards the shouter for a while(?). |
Revision as of 05:51, 10 January 2010
This is a page for me to write at length about my suggestions for improvement to the game.
Whistles and Shouts
Note: all distances in this suggestion are calculated the cartesian way [ d = sqrt (dx^2 + dy^2) ] see below for graphical representation of ranges.
Part I : Whistle
For 1 AP, any human player over level 4 may Whistle. Whistles have base range 3.
label | descriptor | message text |
---|---|---|
W0 | self | You whistle. |
W1 | identified | (Maunder) whistles. |
W2 | distant | Someone whistles to the (northeast). |
Results:
- The whistler gets the message W0.
- Any player in the same location will get the identified message W1.
- Any player within base range (distance <= 3) will get the distant message W2.
- If the whistler is outside, then:
- all inhabitants of huts within distance 1 (base range -2) of the whistler will also get W2.
- If the whistler is inside a hut, then:
- all players outside within distance 1 (base range -2) of the hut will also get W2.
- Enraged animals within distance 6 (double base range) will move preferentially towards the whistler for a while(?).
Further options:
- option: whistles cannot be heard by spirits
- option: base range is 6 for whistlers underground (inside tunnels).
Part II : Shout
For 2 AP, any human player over level 4 may Shout a short message (a few syllables). (See below.) Shouts have base range 5.
label | descriptor | L (language) | N (no language) |
---|---|---|---|
S0 | self | You shout, "(Leave me alone!)". | |
S1 | identified | (Maunder) shouts, "(Leave me alone!)". | (Maunder) shouts something. |
S2 | intelligible | To the (northeast), someone shouts "(Leave me alone!)". | To the (northeast), someone shouts something. |
S3 | distant | You hear someone shout to the (northeast). |
Results:
- The shouter gets the message S0.
- Any player in the same location will get one of the two identified messages, depending on whether they understand the language:
- If the listener is on the same side (Native/Outsider), or has the Expert Language skill, the listener gets message S1L.
- Otherwise, the listener gets S1N.
- Any player within distance 3 (base range -2) of the shouter will get an intelligible message, again, depending on whether they understand the language:
- If the listener is on the same side, or has the Expert Language skill, and the message has less than 5 syllables, the listener gets S2L.
- Otherwise, the listener gets S2N.
- Any player not within distance 3, but within base range (distance 5) of the shouter will get the distant message S3.
- If the shouter is outside, then:
- all inhabitants of huts within distance 1 (base range -4) of the shouter will get
- message S2N if the message has more than four syllables, or else
- the intelligible message S2L or S2N, depending on language comprehension.
- all inhabitants of huts greater than distance 1 but within distance 3 (base range -2) of the shouter will get the distant message S3.
- all inhabitants of huts within distance 1 (base range -4) of the shouter will get
- If the shouter is inside a hut, then:
- all players outside within distance 1 (base range -4) of the hut will get
- message S2N if the message has more than 4 syllables, or else
- the intelligible message S2L or S2N, depending on language comprehension.
- all players outside greater than distance 1 but within distance 3 (base range -2) of the hut will also get the distant message S3.
- all players outside within distance 1 (base range -4) of the hut will get
- Enraged animals within distance 10 (double base range) will move preferentially towards the shouter for a while(?).
Further options:
- option: shouts cannot be understood by spirits (treat as if they don't understand the language)
- option: base range is 10 for shouters underground (inside tunnels).
Implementation Notes
Below are some pseudocode algorithms for tricky parts of implementing the above suggestions.
implementation of direction:
# assuming not at same location (dx!=0 or dy!=0) # given listener coord xl,yl, and whistler coord xw,yw # result is direction string. dx = xw-xl dy = yw-yl ns = ew = if dx==0 or abs(dy/dx)>sqrt(2)-1 { ns = (dy>0)? 'north':'south' } if dy==0 or abs(dy/dx)<sqrt(2)+1 { ew = (dx>0)? 'east':'west' } result = ns.ew
rough-counting syllables in a message:
# given distance d = sqrt (dx^2 + dy^2), and copy of message msg # result is rough count of number of syllables msg =~ s/e\s+/ /g; # remove trailing e's (silent) while (msg =~ s/[b-df-hj-np-tv-z]//) { syll++ } while (msg =~ s/([aeiou]{1,2}|y)//i) { syll++ } ...wip...