diff options
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/marriage.txt | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/npc/functions/marriage.txt b/npc/functions/marriage.txt deleted file mode 100644 index d9e48bf5..00000000 --- a/npc/functions/marriage.txt +++ /dev/null @@ -1,293 +0,0 @@ -// Evol functions. -// Author: -// 4144 -// Description: -// Functions for marriage - -// check is player is near marriage npc -// args: -// 0 - player name -// returns: -// true if player located near npc. -function script marriagecheckname { - .@name$ = getarg(0); - if (.@name$ == "") - { - // no other registrand - return false; - } - .@id = getcharid(0, .@name$); - .@accoundId = getcharid(3, .@name$); - if (isloggedin(.@accoundId, .@id) == false) - { - // registrant not logged in - return false; - } - getmapxy(.@mapname$, .@x, .@y, 0, .@name$); - if (.@mapname$ != strnpcinfo(4)) - { - // registrant on other map - return false; - } - if (distance(.@x, .@y, .x, .y) > .distance) - { - // registrant too far - return false; - } - return true; -} - -// return player name registered with same gender like attached player -function script getmarriageregistrant { - if (Sex) - { - .@name$ = getvariableofnpc(.maleName$, strnpcinfo(3)); - } - else - { - .@name$ = getvariableofnpc(.femaleName$, strnpcinfo(3)); - } - return .@name$; -} - -// return registered marriage partner name -function script getmarriagepartner { - if (Sex) - { - .@name$ = getvariableofnpc(.femaleName$, strnpcinfo(3)); - } - else - { - .@name$ = getvariableofnpc(.maleName$, strnpcinfo(3)); - } - if (marriagecheckname(.@name$)) - return .@name$; - return ""; -} - -// register attached player as partner for marriage -function script marriageregisterself { - if (Sex) - { - set getvariableofnpc(.maleName$, strnpcinfo(3)), strcharinfo(0); - set getvariableofnpc(.maleName_partner$, strnpcinfo(3)), ""; - } - else - { - set getvariableofnpc(.femaleName$, strnpcinfo(3)), strcharinfo(0); - set getvariableofnpc(.femaleName_partner$, strnpcinfo(3)), ""; - } - return; -} - -// return player name what was accepted by partner -function script getmarriagepartneraccepted { - if (Sex) - { - .@name$ = getvariableofnpc(.femaleName_partner$, strnpcinfo(3)); - } - else - { - .@name$ = getvariableofnpc(.maleName_partner$, strnpcinfo(3)); - } - return .@name$; -} - -// return true if partner present near and partner accepted you -function script ismarriagepartneraccepted { - .@partner$ = getmarriagepartner(); - if (.@partner$ == "") - return false; - .@name$ = getmarriagepartneraccepted(); - if (.@name$ == strcharinfo(0)) - return true; - return false; -} - -// accept for attached player his/her partner -// args: -// 0 - partner name -function script marriageacceptpartner { - .@name$ = getarg(0); - if (Sex) - { - set getvariableofnpc(.maleName_partner$, strnpcinfo(3)), .@name$; - } - else - { - set getvariableofnpc(.femaleName_partner$, strnpcinfo(3)), .@name$; - } - return; -} - -function script askmarry { - speech l("Do you want to marry @@?", getarg(0)); - if (askyesno() == ASK_YES) - return true; - return false; -} - -// start marriage registration process -function script marriageregister { - .@partner$ = getmarriagepartner(); - if (.@partner$ == "") - { // no partner registered - speech l("Ok I add your name... @@...", strcharinfo(0)); - marriageregisterself(); - next; - speech lg("Now wait for your partner, then talk to me again."); - npctalk l("@@ registered for marriage. Waiting for partner...", strcharinfo(0)); - close; - } - else - { // partner already registered - if (askmarry(.@partner$) == true) - { - marriageregisterself(); - marriageacceptpartner(.@partner$); - npctalk l("@@ registered for marriage and accepted partner @@!", strcharinfo(0), .@partner$); - npctalk l("Waiting for @@...", .@partner$); - close; - } - else - { - close; - } - } - return; -} - -// remove all marriage registations -function script marriageclear { - set getvariableofnpc(.maleName$, strnpcinfo(3)), ""; - set getvariableofnpc(.femaleName$, strnpcinfo(3)), ""; - set getvariableofnpc(.maleName_partner$, strnpcinfo(3)), ""; - set getvariableofnpc(.femaleName_partner$, strnpcinfo(3)), ""; - return; -} - -// do actual marriage -function script domarriage { - .@name$ = strcharinfo(0); - .@partner$ = getarg(0); - if (marriage(.@partner$)) - { - speech l("You got married to @@!", .@partner$); - npctalk l("@@ and @@ just got married!", .@name$, .@partner$); - } - else - { - npctalk l("Marriage failed."); - } - marriageclear(); - return; -} - -// marry main code -function script marriagemarry { - .@registrant$ = getmarriageregistrant(); - if (marriagecheckname(.@registrant$) == true) - { - if (.@registrant$ == strcharinfo(0)) - { - if (ismarriagepartneraccepted()) - { - .@partner$ = getmarriagepartner(); - if (marriagecheckname(.@partner$) == false) - { - speech l("Partner not ready."); - } - else if (askmarry(.@partner$) == true) - { - domarriage(.@partner$); - } - } - else - { - speech l("You already registered. Waiting for your partner..."); - } - } - else - { - speech l("Sorry, I'm busy with other registrations."), - l("Come after a little while."); - } - close; - } - - speech l("What can I do for you?"); - switch (select(l("I want to register for marriage."), - l("Nothing"))) - { - case 1: - marriageregister; - break; - case 2: - break; - } - return; -} - -// divorce main code -function script marriagedivorce { - speech l("What can I do for you?"); - switch (select(l("I want to divorce."), - l("Nothing"))) - { - case 1: - speech lg("Are you sure?"); - if (askyesno() == ASK_YES) - { - if (divorce()) - { - speech l("You are now divorced!"), - l("Good look."); - npctalk l("@@ divorced!", strcharinfo(0)); - } - else - { - speech l("Divorce error!"); - } - } - break; - case 2: - break; - } - return; -} - -// main function for marriage -function script marriagemain { - if (Sex > 1) - { - speech l("Sorry i can't help you. Go away!"); - close; - } - - if (getpartnerid() != 0) - { // have partner - marriagedivorce(); - } - else - { // no partner - marriagemarry(); - } - - return; -} - -// check registration list by timer -function script marriagecheck { - .@name$ = getvariableofnpc(.maleName$, strnpcinfo(3)); - if (.@name$ != "" && marriagecheckname(.@name) == false) - { - set getvariableofnpc(.maleName$, strnpcinfo(3)), ""; - set getvariableofnpc(.maleName_partner$, strnpcinfo(3)), ""; - } - .@name$ = getvariableofnpc(.femaleName$, strnpcinfo(3)); - if (.@name$ != "" && marriagecheckname(.@name) == false) - { - set getvariableofnpc(.femaleName$, strnpcinfo(3)), ""; - set getvariableofnpc(.femaleName_partner$, strnpcinfo(3)), ""; - } -} |