SphereCommunity
Race-specific Words of Power - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Submissions (/Forum-Script-Submissions)
+--- Thread: Race-specific Words of Power (/Thread-Race-specific-Words-of-Power)



Race-specific Words of Power - Shidhun - 09-26-2013 10:55 AM

Hello,

perhaps some of you allways wanted to give their Races a specific langugage. Although this is not "really possible" for normal sentences, you could give your races (and NPCs) specific words of power in their own language.

This script (with use of many "languages" for races and different kind of monsters) has been used on our shard for a very long time.
It was not "made" by me, but i think it would be beneficial on other shards as well

It is really simple, if you apply the events/functions in the right way. For an example :

As a player (Human) you would only need to add e_wop_hum to all Human-Charakters. For Elves it would be e_wop_elv.

If you want to let your NPCs cast in their own languange, it depends on how your magery-system works.
If you only use the standard-spells, you can just add the event to every monster ( ex : Events +e_wop_demon )
If you change the Spell @spellcast by altering ARGN1, adding the event won't work. In this case, you need to add the following entry to every monster (The cause is the order, in which the trigger/events are fired) :

on=@spellcast
....
.....
.....
f_wop_hum <SERV.SPELL.<ARGN1>.RUNES>
return 0

Perhaps someone might want to try it, since it is very easy.
Code:
[EVENTS e_wop_hum]
ON=@SPELLCAST
f_wop_hum <SERV.SPELL.<ARGN1>.RUNES>
RETURN 0

[FUNCTION f_wop_hum]
IF (<ARGV>)
    LOCAL.WOP=<f_wop_hum_get <ARGV[0]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[1]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[2]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[3]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[4]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[5]>>
    SAY <STRSUB 0 100 <LOCAL.WOP>>
ENDIF

[FUNCTION f_wop_hum_get]
DOSWITCH <ARGN1>
    RETURN ""
    RETURN " An"
    RETURN " Bet"
    RETURN " Corp"
    RETURN " Des"
    RETURN " Ex"
    RETURN " Flam"
    RETURN " Grav"
    RETURN " Hur"
    RETURN " In"
    RETURN " Jux"
    RETURN " Kal"
    RETURN " Lor"
    RETURN " Mani"
    RETURN " Nox"
    RETURN " Ort"
    RETURN " Por"
    RETURN " Quas"
    RETURN " Rel"
    RETURN " Sanct"
    RETURN " Tym"
    RETURN " Uus"
    RETURN " Vas"
    RETURN " Wis"
    RETURN " Xen"
    RETURN " Ylem"
    RETURN " Zan"
    RETURN ".*speaks incomprehensible words*."
ENDDO

Example for a elven-like-language :

Code:
[EVENTS e_wop_elv]
ON=@SPELLCAST
f_wop_elv <SERV.SPELL.<ARGN1>.RUNES>
RETURN 0

[FUNCTION f_wop_elv]
IF (<ARGV>)
    LOCAL.WOP=<f_wop_elv_get <ARGV[0]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[1]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[2]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[3]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[4]>>
    LOCAL.WOP=<LOCAL.WOP><f_wop_me_get <ARGV[5]>>
    SAY <STRSUB 0 100 <LOCAL.WOP>>
ENDIF

[FUNCTION f_wop_elv_get]
DOSWITCH <ARGN1>
    RETURN ""
    RETURN " u"
    RETURN " eidinn"
    RETURN " nuru"
    RETURN " torn"
    RETURN " fairiĆ«"
    RETURN " naur"
    RETURN " melehte"
    RETURN " gwaew"
    RETURN " casta"
    RETURN " haru"
    RETURN " nahame"
    RETURN " calad"
    RETURN " cuil"
    RETURN " ihoer"
    RETURN " sairina"
    RETURN " rine"
    RETURN " furu"
    RETURN " ahya"
    RETURN " varile"
    RETURN " anann"
    RETURN " eria"
    RETURN " tura"
    RETURN " gul"
    RETURN " ulunn"
    RETURN " hru"
    RETURN " fume"
    RETURN ".*speaks incomprehensible words*."
ENDDO

I just entered the wops into an sindarin-translater, so not every wop is "correct"



RE: Race-specific Words of Power - Anarch Cassius - 09-29-2013 06:02 PM

Actually language totally works if you do a major script overhaul. I have a system for it. I'll try and dust it off and upload it. As usual for me it's based on older scripts.