Author Topic: Blind Players  (Read 46179 times)

0 Members and 2 Guests are viewing this topic.

Offline Bane

  • Coder
  • Full Member
  • *
  • Posts: 197
    • View Profile
    • Email
Re: Blind Players
« Reply #15 on: October 08, 2013, 02:12:54 pm »
I can upload this to my port and test it, but I cant upload it to main server.

And I dont think anyone meant to refer to them as they as an offence but Lharc is right they are "our" players.

Offline Calypso

  • Administrator
  • Full Member
  • *****
  • Posts: 133
    • View Profile
    • Email
Re: Blind Players
« Reply #16 on: October 09, 2013, 08:30:10 pm »
The "they" mentioned was referring to a group of individuals not yet members of our mud but rather considering it.  Wasn't really sure how else to refer to that specific group with a pronoun other than using 'they' since the group of individuals are not currently 'ours'.  Sorry to have ruffled feathers. Unintended.

Anyway, Thanks Bane for jumping on this. I really appreciate it. This is something that I feel should be a priority for the mud in as much as it can be.
I get my energy from my Inner G.

Offline Prometheus

  • the bang your head against the wall coder.
  • Administrator
  • Sr. Member
  • *****
  • Posts: 365
    • View Profile
Re: Blind Players
« Reply #17 on: October 15, 2013, 10:00:57 am »
I was going to say we need to add a couple of toggles for blind players. One would be color toggle to convert the colors into symbols or numbers. And a sound toggle might not be a bad one either.

If things stabilize for me which they should soon I can start doing some more coding. But we coders need to coordinate our efforts on this. So we don't step on each others toes. :)

Prometheus.

Offline Bane

  • Coder
  • Full Member
  • *
  • Posts: 197
    • View Profile
    • Email
Re: Blind Players
« Reply #18 on: October 15, 2013, 12:22:53 pm »
Thotters server crashed a few days ago, needs to be reloaded. But while its been down Ryanld was looking for some work and he said he would test this and see what else he could do since he codes locally.

Offline rynald

  • Administrator
  • Newbie
  • *****
  • Posts: 25
    • View Profile
Re: Blind Players
« Reply #19 on: October 16, 2013, 02:17:26 pm »
I used Lharc's post to make a start with the blind toggle. Btw, why do we need a braille and an audio toggle? I can imagine you want to skip the graphical stuff for both but what's the difference between them?

Anyway, here's the code. I only did worth and tier so far, should i keep working on it?

Code: [Select]
diff --git a/act.informative.cpp b/act.informative.cpp
index 5d086e1..581a6a3 100755
--- a/act.informative.cpp
+++ b/act.informative.cpp
@@ -751,7 +751,14 @@ void list_one_char ( Character *i, Character *ch )
  return;
  }
  }
- ch->Send ( "%s%s", TIER_COLOUR_LIST ( ( IS_NPC ( i ) ? MOB_TIER ( i ) : current_class_is_tier_num ( i ) ) ) , CBCYN ( ch, C_NRM ) );
+
+ if ( PRF_FLAGGED ( ch, PRF_BRAILLE ))
+
+    char tier_string[] = "T0.";
+    tier_string[1] += ( IS_NPC ( i ) ? MOB_TIER ( i ) : current_class_is_tier_num ( i ) );
+    ch->Send ( "%s%s", tier_string, CBCYN ( ch, C_NRM ) );
+ }
+ else ch->Send ( "%s%s", TIER_COLOUR_LIST ( ( IS_NPC ( i ) ? MOB_TIER ( i ) : current_class_is_tier_num ( i ) ) ) , CBCYN ( ch, C_NRM ) );
 
  if ( AFF_FLAGGED ( i, AFF_POLY_TOAD ) )
  {
@@ -4868,7 +4875,7 @@ ACMD ( do_toggle )
      "     Keep Title: %-3s    "
      "     IC Channel: %-3s\r\n"
      "    Color Level: %-8s"
-     "  NoBattlespam: %-3s     "
+     "  NoBattlespam: %-3s    "
      "  NoMail Prompt: %-3s\r\n"
      "        NOCTalk: %-3s    "
      "        AFKTELL: %-3s    "
@@ -4888,7 +4895,9 @@ ACMD ( do_toggle )
      "         NOGATE: %-3s    "
      "      FishTally: %-3s    "
      "     NOTELEPORT: %-3s\r\n"
-     " NoDisplayTitle: %-3s    ",
+     " NoDisplayTitle: %-3s    "
+     "     Audio Mode: %-3s    "
+     "   Braille Mode: %-3s\r\n",
      ONOFF ( PRF_FLAGGED ( ch, PRF_DISPHP ) ),
      ONOFF ( PRF_FLAGGED ( ch, PRF_BRIEF ) ),
      ONOFF ( !PRF_FLAGGED ( ch, PRF_SUMMONABLE ) ),
@@ -4935,7 +4944,9 @@ ACMD ( do_toggle )
      ONOFF ( !PRF_FLAGGED ( ch, PRF_GATEABLE ) ),
      ONOFF ( !PRF_FLAGGED ( ch, PRF_FISHPROMPT ) ),
      ONOFF ( !PRF_FLAGGED ( ch, PRF_TELEPORTABLE ) ),
-     ONOFF ( !PRF_FLAGGED ( ch, PRF_NOTITLE) )
+     ONOFF ( !PRF_FLAGGED ( ch, PRF_NOTITLE) ),
+     ONOFF ( PRF_FLAGGED ( ch, PRF_AUDIO) ),
+     ONOFF ( PRF_FLAGGED ( ch, PRF_BRAILLE) )
      );
 
 }
@@ -5287,6 +5298,48 @@ ACMD ( do_worth )
  if ( GET_MASTERY ( ch, i ) )
  len += snprintf ( buf+len, sizeof ( buf ) - len, "%c ", UPPER ( *pc_class_types[i] ) );
 
+ if ( PRF_FLAGGED ( ch, PRF_BRAILLE ))
+ {
+    ch->Send ( "\r\n"
+       "{cwRemorts: {cg%-3d{cy 1:%3s 2:%3s 3:%3s      \r\n"
+               "{cwNatural Accuracy Rating: {cg%-3d{cy         \r\n"
+               "{cwNatural Evasion Rating: {cg%-3d{cy         \r\n"
+               "{cwRegenerating per mud hour:{cy          \r\n"
+               "{cyHp:{cc%-3d{cy  Ma:{cc%-3d{cy  Mv:{cc%-3d{cy  St:{cc%-3d{cy        \r\n"
+               "{cwHead And Neck Armor: {cL%%%-3d{cy        \r\n"
+               "{cwUpper Left Body Armor: {cL%%%-3d{cy        \r\n"
+               "{cwUpper Right Body Armor: {cL%%%-3d{cy        \r\n"
+               "{cwTorso Armor: {cL%%%-3d{cy        \r\n"
+               "{cwLower Left Body Armor: {cL%%%-3d{cy        \r\n"
+               "{cwLower Right Body Armor: {cL%%%-3d{cy        \r\n"
+               "{cwCoolness: {cg%-3d{cy       \r\n"
+               "{cwAward Points: {cg%-3d{cw Ethos: {cg%-3s{cy   \r\n"
+               "{cwStamina: {cC%d/%d{cw Detector: {cg%-3s{cy \r\n"
+                      "{cwMastered Classes: {cg%s{cy\r\n"
+               "{cwElemental Weakness: {cr%s{cy\r\n"
+               "{cwElemental Strength: {cc%s{cy\r\n",
+               REMORTS ( ch ),
+               GET_REMORT ( ch ) == -1 ? "---" : class_abbrevs[ ( int ) GET_REMORT ( ch ) ],
+               GET_REMORT_TWO ( ch ) == -1 ? "---" : class_abbrevs[ ( int ) GET_REMORT_TWO ( ch ) ],
+               GET_REMORT_THREE ( ch ) == -1 ? "---" : class_abbrevs[ ( int ) GET_REMORT_THREE ( ch ) ],
+               GET_PERM_ACCURACY ( ch ),
+               GET_PERM_EVASION ( ch ),
+             hit_gain ( ch ), mana_gain ( ch ), move_gain ( ch ), stamina_gain ( ch ),
+       chance_hit_part ( ch, PART_HEAD ),
+               chance_hit_part ( ch, PART_LEFT_ARM ),
+               chance_hit_part ( ch, PART_RIGHT_ARM ),
+               chance_hit_part ( ch, PART_TORSO ),
+               chance_hit_part ( ch, PART_LEFT_LEG ),
+               chance_hit_part ( ch, PART_LEFT_LEG ),
+               GET_COOLNESS ( ch ),
+               update_award ( ch ), *ethos,
+               GET_STAMINA ( ch ), GET_MAX_STAMINA ( ch ), *detector,
+                     buf,
+               print_elemental ( GET_CLASS ( ch ), TRUE, buf1, sizeof ( buf1 ) ),
+               print_elemental ( GET_CLASS ( ch ), FALSE, buf2, sizeof ( buf2 ) ) );
+    return;
+ }
+
  ch->Send ( "\r\n{cy"
             "O=====================================================================O\r\n"
             "|%-32s{cy|#|   {cwRemorts: {cg%-3d{cy 1:%3s 2:%3s 3:%3s      \r\n"
diff --git a/act.other.cpp b/act.other.cpp
index ca465af..060f51c 100755
--- a/act.other.cpp
+++ b/act.other.cpp
@@ -1528,8 +1528,11 @@ ACMD ( do_gen_tog )
  {   "You will NOT automaticly agree to group people when they request to follow.\r\n",
      "You will automaticly agree to group people when they request to follow.\r\n"},
  {"You will no longer see players' full titles.\r\n",
- "You can now see players' full titles.\r\n"}
-
+ "You can now see players' full titles.\r\n"},
+ {"Audio mode off.\r\n",
+ "Audio mode on.\r\n"},
+ {"Braille mode off.\r\n",
+ "Braille mode on.\r\n"},
 
  };
 
@@ -1723,6 +1726,12 @@ ACMD ( do_gen_tog )
  case SCMD_NOTITLE1:
  result = PRF_TOG_CHK ( ch, PRF_NOTITLE );
  break;
+ case SCMD_AUDIO:
+ result = PRF_TOG_CHK ( ch, PRF_AUDIO );
+ break;
+ case SCMD_BRAILLE:
+ result = PRF_TOG_CHK ( ch, PRF_BRAILLE );
+ break;
  default:
  log ( "SYSERR: Unknown subcmd %d in do_gen_toggle.", subcmd );
  return;
diff --git a/interpreter.cpp b/interpreter.cpp
index 2131c05..8d0e6a6 100755
--- a/interpreter.cpp
+++ b/interpreter.cpp
@@ -500,6 +500,7 @@ const command_info cmd_info[] =
  { "ask"      , "ask" , POS_RESTING , do_spec_comm, 0, SCMD_ASK, 0 },
  { "auction"  , "auc"  , POS_RESTING , do_auction  , 1, 0, 0 },
  { "auctalk"  , "auct"     , POS_SLEEPING, do_gen_comm , 0, SCMD_AUCTION, 0 },
+ { "audio"    , "audio", POS_DEAD    , do_gen_tog  , 0, SCMD_AUDIO, 0 },
  { "autoassist","autoa", POS_DEAD    , do_gen_tog  , 0, SCMD_AUTOASSIST, 0 },
  { "autocompress","autoc", POS_DEAD    , do_gen_tog  , 0, SCMD_AUTOZLIB, 0 },
  { "autoexit" , "autoe", POS_DEAD    , do_gen_tog  , 0, SCMD_AUTOEXIT, 0 },
@@ -520,6 +521,7 @@ const command_info cmd_info[] =
  { "bid"      , "bid"  , POS_RESTING , do_bid      , 1, 0, 0 },
  { "blowup"   , "blow" , POS_STANDING, do_blowup   , LVL_SEN, 0, WIZ_IMPL_GRP},
  { "bprompt"   , "bpromp", POS_DEAD    , /*do_display*/ do_prompt_new  , 0, SCMD_BPROMPT, 0 },
+ { "braille"  , "braille", POS_DEAD  , do_gen_tog  , 0, SCMD_BRAILLE, 0 },
  { "brief"    , "br"   , POS_DEAD    , do_gen_tog  , 0, SCMD_BRIEF, 0 },
  //{ "brew"     , "brew"   , POS_SITTING , do_assemble , 0, SUB_BREW, 0 },
  { "buildwalk", "buildwalk", POS_STANDING, do_gen_tog,   LVL_IMMORT, SCMD_BUILDWALK, WIZ_OLC_GRP },
diff --git a/interpreter.h b/interpreter.h
index eadace9..164e98a 100755
--- a/interpreter.h
+++ b/interpreter.h
@@ -193,7 +193,9 @@ struct alias_data {
 #define SCMD_FISHTALLY  48
 #define SCMD_NOTELEPORT 49
 #define SCMD_AUTOGROUP  50
-#define SCMD_NOTITLE1    51
+#define SCMD_NOTITLE1   51
+#define SCMD_AUDIO      52
+#define SCMD_BRAILLE    53
 
 /* do_wizutil */
 #define SCMD_REROLL 0
diff --git a/structs.h b/structs.h
index 0fd987d..534979d 100755
--- a/structs.h
+++ b/structs.h
@@ -665,6 +665,8 @@ class Room;
 #define PRF_RETIRED      55    /* For retired clan leaders */
 #define PRF_NOTITLE    56
 #define PRF_DEED_MASTER 57
+#define PRF_AUDIO 58    /* For players with an audio converter */
+#define PRF_BRAILLE 59    /* For players with a braille converter */
 
 /* Descriptor flags */
 #define DESC_CANZLIB     (1 << 0)  /* Client says compression capable.   */

Offline lharc

  • Newbie
  • *
  • Posts: 5
    • View Profile
    • Email
Re: Blind Players
« Reply #20 on: October 18, 2013, 12:29:59 pm »
rynald: Thats great!
I would be glad if you could finish it into production quality, since I cant continue any further with your patch.

Regarding your question.
I've based the toggles depending on the user-interface.
The other option would be user-condition toggles like blind, dyslexia, deaf, etc. But that doesn't make sense (in my opinion).

The toggles would give hints for the code on how to produce/output text the best way for the end-user equipment. Though I have no experience no how a braille display works.

Doing my initial work I didn't figured out what the PRF_BRIEF toggle is. So I ignored it ;) ... maybe there is some redundant work if that toggle is already supposed to produce leaner text?

Thanks for giving my patch some love!

love,
lharc

Offline rynald

  • Administrator
  • Newbie
  • *****
  • Posts: 25
    • View Profile
Re: Blind Players
« Reply #21 on: October 19, 2013, 09:03:14 am »
BRIEF gags room descs. Blind players can turn this on if they want to, but it doesn't remove the graphics from worth for example. What if we make a single toggle, NOGRAPHICS for example? I'll move the implementation to the coders forum, that's where it belongs i guess.

Offline rynald

  • Administrator
  • Newbie
  • *****
  • Posts: 25
    • View Profile
Re: Blind Players
« Reply #22 on: October 20, 2013, 02:45:21 pm »
Here are the effects for the blind toggle as it is now:

Worth:

Remorts: 9   1:War 2:War 3:War     
Natural Accuracy Rating: 5           
Natural Evasion Rating: 5           
Regenerating per mud hour: Hp:25  Ma:0   Mv:12  St:62
Head And Neck Armor: %0         
Upper Left Body Armor: %0         
Upper Right Body Armor: %0         
Torso Armor: %0         
Lower Left Body Armor: %0         
Lower Right Body Armor: %0         
Coolness: 0         
Award Points: 0   Ethos: None.   
Stamina: 158/158 Detector: Low
Mastered Classes: W G
Elemental Weakness: fire electricity
Elemental Strength: ice earth

Gold:

4 DIMENSIONS FINANCIAL SERVICES
Gold in Bank: [                  0]
Gold Carried: [             15,000]
Total Balance: [             15,000]
Tokens on file:     0 brass,     0 bronze,     0 silver,     0 gold.
Tradepoints:     0
Total Deeds:     0

Score:

Name: Bill             Level: 50 [ Hun - Forager      - 1 ]
Race: Indian           Align: -93   [ War - Mercenary    - 3 ]
Sex: Male          Practices: 1168                               
Clan: <none>            Rank: 0                               
Hit  Points: [  3465][  3465] Speed: [  1000] AC: [  98]
Mana Points: [  8402][  8402] Hitroll: [   0] Dam-Bonus: [   0]
Move Points: [  5019][  5019] Accuracy: [  96] Evasion: [ 115]
PKwin: [     0] PKloss: [     0] PK-Points: [     0]
Kills: [     4] Deaths: [     2] Deathtraps: [   0]
Primary Weapon:   30 to 360    Secondary Weapon:   18 to 128
Primary Weapon:   32 to 396    Shield Block Chance: 24.00%
[Mining] Speed:  15 Bonus: -20 Protection:   0 Stealth:  20
STR: 15/0   INT: 22 WIS: 18 CON: 13 DEX: 15 CHA: 13
Hunger: [100%] Thirst: [100%] Intoxication: [  0%]
Exp. Total: 889,397,485     Needed To Level: No More       
Age: 36  You have been playing for [  2] days and [ 8] hours
You are standing.
You are gateable by other players.
You are teleportable.
You are single.

Tier:

T2.A cityguard is here, guarding the gate.
T0.A cityguard is here, guarding the gate.

look <dir>:

You see the North Gate of the City of Olde Yorke.
You see an alley cat, the cityguard (2) and a stray dog close by south.
You see the vagabond far off to the south.

look in <container>:

When you look inside, you see:
a traveller's backpack (carried):
 12% - max 100
a big pot pie
a yellow potion of see invisible

As for the skills/spells list, you get to see percentages when you have 22 int.
Is there anything you want to see changed or added?

Offline Bane

  • Coder
  • Full Member
  • *
  • Posts: 197
    • View Profile
    • Email
Re: Blind Players
« Reply #23 on: October 26, 2013, 11:19:01 am »
Hmm didnt get an email notification on you posting here but anyways.

As far as the skill percentage on skills/spells if no one objects go ahead and remove the requirement for 22 int to see. Just go ahead and let everyone see it. It doesn't give anyone a advantage or anything so I would go ahead and remove that.

Other then that, everything looks good. Go ahead and push it and let Xerxes/Thotter know. I might suggest emailing them rather then trying to catch them in game.


Good Work Rynald.

Offline Prometheus

  • the bang your head against the wall coder.
  • Administrator
  • Sr. Member
  • *****
  • Posts: 365
    • View Profile
Re: Blind Players
« Reply #24 on: October 26, 2013, 02:38:22 pm »
Made this topic sticky since it is an important one :)

Prometheus.

Offline Molly

  • Administrator
  • Hero Member
  • *****
  • Posts: 691
    • View Profile
Blind Players and MAPS
« Reply #25 on: December 16, 2013, 11:05:50 am »
One of the things we could do for blind players is to add more readable maps and improve the existing ones.

As it is our maps and directions are a jumble between plain language directions, ascii art and the oldfashioned method (3n,5e,2n,2w). The reason why they are so different is mostly historic, it varies with the builder and age of the zone.

However, I am pretty convinced that the blind players prefer the oldfashioned 3n,7e,etc system.
And since the blind players already have a handicap by not being able to see graphical maps, it would probably be a great help for them to have access to maps of the other type.

This alone would make it worth the work to set up a full map system for all Dimensions, but it would also be helpful for other newbies.

Maps are usually most important for new players, the more experienced ones generally have set up aliases for speedwalk to all important locations.

One of our next projects will be to set up a map system for all Dimensions, where the maps are objects that would be sold in shops at the entrance of each Dimension.
This means a bit of OLC work, but that is not the most time consuming part. What really takes a bit of work is to map out the directions to each location. Unless you've already done it, of course.

And this is where you guys come in.
I am pretty certain that most of you oldbies have notes or speedwalks to all your favourite zones, set up like n n e e s s s  or 2n, 2e,3s. (The second would be preferable, but both are usable).
All put together, we'll hopefully be able to cover most of the Realms.

What I am asking for is that you share those notes, either in this thread, or by mailing them to me (molly.4d@tele2.se) if you don't want them to become public. (The latter is preferable, since all zones should not have exact directions, since their location is supposed to be a secret).

Below is and example of how I'd like the system set up:

MEDIEVAL DIMENSION, EASTERN REALMS
From where the Timewarp lands you in Yorke Square:
Eastern Crossroads:    <directions>
Tournament Place:       <directions>
Convent and Nunnery: <directions>
Robber Baron Castle:   <directions>
Sherwood Forest:        <directions>
Nottingham City:         <directions>
Pirate Bay:                  <directions>
Green Fen:                  <directions>
Fenizia:                       From Green Fen south through Lostlands
Dun Shivaar:               <directions>
Serf Village:                 <directions>




Offline Molly

  • Administrator
  • Hero Member
  • *****
  • Posts: 691
    • View Profile
Re: Blind Players
« Reply #26 on: December 17, 2013, 04:15:07 am »
Thanks to Loria, for mailing me a whole bunch of alias directions,
for Tournament Place, Camelot, Midlands, Elven Forest, Elven Metropolis, Robber Baron Castle, Enchanted Lands, Aussie, VE and Dry Gulch.

I could still use more, so if you have aliases or speedwalks for any more zones, please mail them to me, don't post them here, since we don't want secrets about hidden entrances and stuff revealed publically, (they won't be in the maps either).

These maps could be a great help for blind players and maybe help us getting more newbies as well, see this thread on TMC:
http://www.mudconnect.com/SMF/index.php?topic=78293.msg202142#new

Offline Molly

  • Administrator
  • Hero Member
  • *****
  • Posts: 691
    • View Profile
Re: Blind Players
« Reply #27 on: December 22, 2013, 03:15:55 am »
Thanks to Rynald, for mailing me speedwalks for all Oldwest zones, all Greek Islands from Kea, and most of the Medieval zones that Loria hadn't already provided.

Thanks to Rynald and Loria we now have more than enough to start working with the actual maps.

By now it would be easier to set up a list of what directions we DON'T have, so please confer with me, Loria or Rynald first, if you want to do some mapping of the remaining zones, so we don't do double work.

For instance we don't yet have any speedwaks for the Future, which is one giant grid, with several smaller grids for the planet systems. We need some directional maps there, for players that like to travel by spaceship or spacebike rather than shuttle.

There should be an overall map, starting fom The Future spaceport, with a safe route to the Centerpoing of all Planet systems. Then there should be a map for each Planet system, with directions to each planet there, starting with the Centerpoint.

The main priority would be the Alpha Centauri system, which doesn't even have a shuttle. But since all locations in Space have x,y,z-coordinates, moving around with brief mode on should be relatively easy, even if you are blind.

So, if you are used to space travel, here is something that we still need.
 
---------------
The first map is already in the game, a map over Old Carthage, sold by the Tourist guide at the Timewarp entrance. If any of our blind players would like to check it out, and make suggestions of improvements, that would be greatly appreciated.

We'll keep you posted each time a new bunch of maps is put in the game.

« Last Edit: December 22, 2013, 06:25:44 am by Molly »

Offline Prometheus

  • the bang your head against the wall coder.
  • Administrator
  • Sr. Member
  • *****
  • Posts: 365
    • View Profile
Re: Blind Players
« Reply #28 on: March 06, 2014, 10:46:20 pm »
Unless another coder is going to do this I will work on a self report command. It will probably be srep or sreport. I will see how far i get this weekend on it.

Prometheus

Offline Molly

  • Administrator
  • Hero Member
  • *****
  • Posts: 691
    • View Profile
Re: Blind Players
« Reply #29 on: March 07, 2014, 01:58:43 am »
So the medieval maps are in now, thanks to Loria and Rynald, who did the work.

What we have is a map over the entrance zone Olde Yorke, and then one map for each cardinaql direction from that point, north, east, south and west. The Olde Yorke map will be sold by the bartender south of Recall, the other medieval maps in the Cartography shop in Olde Yorke.

Coming up next are maps over the Prehistoric Dimensions, starting with the Aegean Island and Greek Mainland. These are more tricky, sine the entire Meditteranean area is set up as one large grid, but the maps witjj goa from the Timewarp starting points, Islands of Kea and Carpathos, Cape Aulis and Harbour of Mycenae.

Later we will also have maps of the Nile, leading to Egypt, the Land of Kush and the Land of Punt.

We'd like some input from the visually impaired of course. If you would like the maps set up inm a different way, now is the time to let us know.