Sapphire_Languages

by sapphiremagus
Allows you to add languages to your games. Only people who know a language will understand someone speaking that language. Finally, Orcs speak Orc and no-one understands them! [More]
To download this library for your Linux/Mac installation, enter this on your command line:

DreamDownload byond://sapphiremagus.Sapphire_Languages##version=4

Emulator users, in the BYOND pager go to File | Open Location and enter this URL:

byond://sapphiremagus.Sapphire_Languages##version=4

809 downloads
Version 4
Date added: Jul 8 2002
Last updated: Jul 29 2009
0 fans
Ever wonder how all those races in the world spoke the same language? Solve that problem.
This simple yet effective library allows you to add and remove languages from players and
allows them to change what they're speaking.

UPDATED 12/07/03


Increased robustness. Languages now work more naturally.
Before, the message was fubbed based on an average of the speaker and the listener's
fluency. Not any more. The speaker has a chance to speak correctly based on his/her
fluency (prob(fluency)). If they fail, the message has (100-fluency) percent fubbing.
That is to say that if someone says a message with 10 characters in it and has a 30%
proficiency, they will actually say something with 7 characters fubbed.

Then everyone who hears the message has the same chance to hear it correctly (as spoken)
based on (prob(fluency)). Once again, if they fail, the message is further fubbed based
on (100-fluency). So if you have two people speaking with 10% fluency, it's likely that
the message will be serious screwed.
  • Removed most instances of direct access to variables (encapsulation)
  • Added two more procs, query_language() and query_languages() (see reference)
  • Removed most built in messages. You are responsible for letting the players know what's going on.
  • COMPLETELY COMPATABLE WITH PREVIOUS VERSION


UPDATED 06/08/03


Due to popular demand, the sm_say proc now supports targeting.
By that I mean that you can direct the output to a single mob
or a list of mobs. The default target is oview(src).

UPDATED!


  • Better functionality. No more hardwired verbs. Everything is a proc that can be called
    from your custom verb
  • Added percentages to languages. How well you know the language and how well the other
    guy knows it matters! If you perferred the old "know it or don't" method, simply make sure
    that all your calls to add_language use 100 as the second argument.

There's a demo at Language Demo