//===== Hercules Script ====================================== //= Player Marriage //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 1.2 //===== Description: ========================================= //= [Aegis Conversion] //= Official Marriage script. //= Added isloggedin() check, even though Aegis doesn't do it. //= Currently does not support same-sex marriages. //= Old script located in: npc/custom/marriage.txt //= - Variable in use: wedding_sign (max 1) //= - Variable in use: $Wedding (max 1) //= - Variab;e in use: $wed_groom$ $wed_bride$ //===== Additional Comments: ================================= //= 1.0 First version. [L0ne_W0lf] //= 1.1 Fixed a missing ")" [L0ne_W0lf] //= 1.2 Corrected duration of Wedding status. [L0ne_W0lf] //============================================================ prt_church,97,100,4 script Wedding Staff#w 71,{ cutin "wedding_marry01",2; if (Upper == 2) { mes "[Marry Happy]"; mes "Hello~"; mes "My name is Marry Happy"; mes "and I'm here to provide you"; mes "with information related to"; mes "marriage. Now, did you"; mes "have any questions?"; next; if (select("I want to get married.:I don't need your help!") == 1) { mes "[Marry Happy]"; mes "Oh, I'm sorry, but"; mes "adopted characters"; mes "aren't allowed to get"; mes "married. For now, why"; mes "don't you enjoy the simple"; mes "pleasures of childhood?"; goto L_End; } mes "[Marry Happy]"; mes "Oh, of course you"; mes "don't! Little children"; mes "can't get married-- there"; mes "are too many laws against"; mes "that~ Aren't you the most"; mes "adorable little thing?"; goto L_End; } mes "[Marry Happy]"; mes "Marriage is the beautiful"; mes "union of two souls that have"; mes "chosen to be together forever,"; mes "to share their joy and lives."; mes "Is there a special someone"; mes "like that in your life?"; next; switch(select("Ask about Wedding Ceremony:Ask about Procedure:Apply for Wedding:We are the Invincible Single Army!")) { case 1: mes "[Marry Happy]"; mes "Wise and benevolent"; mes "King Tristram III used to"; mes "conduct wedding ceremonies,"; mes "but he's no longer able to do"; mes "so because of his royal duties"; mes "and freneticly paced schedule."; next; mes "[Marry Happy]"; mes "Bishop Vomars, the bishop"; mes "of love, is now the officiator"; mes "of the marriage ceremony."; mes "He is truly a treasure to the"; mes "Rune-Midgarts Kingdom."; next; mes "[Marry Happy]"; mes "When you marry someone,"; mes "it's for the rest of your life, so think carefully before making or"; mes "accepting a marriage proposal."; mes "Keep in mind that a man can only"; mes "marry a woman and vice versa."; next; mes "[Marry Happy]"; mes "If you're lucky enough to"; mes "find someone that you really"; mes "want to spend the rest of your"; mes "life with, you might want to pop the question. I hope everyone"; mes "finds their perfect match~"; break; case 2: mes "[Marry Happy]"; mes "The first part of the"; mes "wedding procedure is to"; mes "complete the application."; mes "Once the bride and bridegroom"; mes "have finished applying, they"; mes "must form a party of two."; next; mes "[Marry Happy]"; mes "After forming a party of two,"; mes "the couple must then speak to"; mes "Bishop Vomars. The bridegroom"; mes "speaks first and must tell his"; mes "bride's exact name to the Bishop. Otherwise, the ceremony will stop."; next; mes "[Marry Happy]"; mes "Afterwards, the bride will"; mes "speak to the Bishop and tell"; mes "him the name of her groom."; mes "If these names are correctly"; mes "told to the Biship, they will"; mes "be able to exchange rings."; next; mes "[Marry Happy]"; mes "Once the wedding rings are"; mes "exchanged, the couple is forever bound in matrimony. Of course,"; mes "before this point, there are many chances to change your mind, so..."; next; mes "[Marry Happy]"; mes "If there are too many"; mes "couples who want to get"; mes "married at one time, please"; mes "form a line and speak to Bishop"; mes "Vomars in order since only one couple can be married at a time."; next; mes "[Marry Happy]"; mes "Finally, be sure to tell"; mes "Bishop Vomars your partner's"; mes "exact name without wasting too much time. If you take too long,"; mes "the ceremony will automatically stop and you'll have to try again."; next; mes "[Marry Happy]"; mes "Brides need to remember"; mes "that they only have 3 minutes"; mes "to finish speaking to Bishop"; mes "Vomars after their grooms"; mes "have finished speaking to him."; next; if (select("Thanks, that helps a lot!:Easiest way to say my partner's name?") == 1) { mes "[Marry Happy]"; mes "Well, I'm here to help"; mes "weddings proceed as"; mes "smoothly as possible."; mes "If there was something"; mes "you didn't understand,"; mes "feel free to ask me again."; goto L_End; } mes "[Marry Happy]"; mes "The easiest way to write"; mes "your partner's name for the"; mes "bishop is to send a private"; mes "message to your partner, and"; mes "then left-click the name section that is left of the chat prompt."; next; mes "[Marry Happy]"; mes "Press the ''Ctrl'' and ''C''"; mes "keys to copy the name. Then,"; mes "you can paste the name into"; mes "the input prompt by pressing"; mes "the ''Insert'' and ''Shift'' keys. That sounds easy, right?"; next; mes "[Marry Happy]"; mes "Alright, now let's try"; mes "it. Practice giving me the"; mes "name of your partner using"; mes "the method I just described."; next; input .@partner$; mes "[Marry Happy]"; mes "Alright, after you've"; mes "decided to get married,"; mes "come back to me and"; mes "submit your application."; mes "I'll see you later, adventurer~"; break; case 3: cutin "wedding_marry02",2; if (sex) { mes "[Marry Happy]"; mes "So you'd like to get married?"; mes "As a groom, you need to prepare"; mes "^3377FF1 Tuxedo^000000 and pay ^3377FF1,300,000 zeny^000000."; mes "Brides have to provide their own Wedding Dresses and pay a fee"; mes "of 1,200,000 zeny."; } else { mes "[Marry Happy]"; mes "So you'd like to get married?"; mes "As a bride, you need to prepare"; mes "1 Wedding Dress and pay a fee"; mes "of 1,200,000 zeny. Grooms must"; mes "bring a Tuxedo and pay 1,300,000 zeny to get married."; } next; mes "[Marry Happy]"; mes "Brides and grooms also need"; mes "to have ^3377FF1 Diamond Ring^000000 to be"; mes "exchanged with their partners."; mes "You'll need all of these items"; mes "prepared when you submit your"; mes "wedding ceremony application."; next; mes "[Marry Happy]"; mes "The prospective bride and"; mes "groom must both complete"; mes "application process before"; mes "the wedding can take place."; mes "Now, would you like to"; mes "apply for marriage?"; next; if (select("Yes:No") == 1) { if (getpartnerid()) { cutin "wedding_marry02",2; mes "[Marry Happy]"; mes "I'm sorry, but you can't"; mes "apply for another marriage!"; mes "I can't allow you to betray"; mes "your spouse like that, and"; mes "besides, polygamy isn't"; mes "legal here in Rune-Midgarts."; break; } else if (wedding_sign == 1) { mes "[Marry Happy]"; mes "Didn't you already"; mes "complete the application?"; mes "Hmm, make sure that your"; mes "partner also finished the"; mes "application process, and"; mes "then talk to Bishop Vomars."; break; } else if (BaseLevel < 45) { mes "[Marry Happy]"; mes "Hmm, you need to be"; mes "strong enough to protect"; mes "the one that you love before"; mes "you can consider marriage."; mes "After you grow stronger,"; mes "come and talk to me again."; goto L_End; } else if (countitem(2613) < 1) { mes "[Marry Happy]"; mes "Mm? Did you forget to"; mes "bring the Diamond Ring"; mes "to exchange with your partner"; mes "during the wedding ceremony?"; mes "Look for it carefully and come"; mes "back after you find it, okay?"; goto L_End; } else if (sex) { if (zeny < 1300000) { mes "[Marry Happy]"; mes "I'm sorry, but you don't"; mes "have the 1,300,000 zeny"; mes "that all grooms must pay"; mes "for the wedding ceremony."; mes "Did you misplace your money?"; goto L_End; } else if (countitem(7170) < 1) { mes "[Marry Happy]"; mes "Where's your Tuxedo?"; mes "You absolutely have to"; mes "wear it during the wedding"; mes "ceremony! Find it, bring it"; mes "to me, and then we can finally"; mes "begin the wedding, okay?"; goto L_End; } } else if (sex == 0) { if (zeny < 1200000) { mes "[Marry Happy]"; mes "I'm sorry, but all brides"; mes "must pay the 1,200,000"; mes "zeny fee to proceed with the"; mes "wedding ceremony. Perhaps"; mes "you could ask your partner"; mes "to help you with the funds?"; goto L_End; } else if (countitem(2338) < 1) { mes "[Marry Happy]"; mes "Oh dear, did you forget"; mes "your Wedding Dress?"; mes "Hurry and find it, then"; mes "bring it to me-- you"; mes "absolutely need it"; mes "for the wedding!"; goto L_End; } } mes "[Marry Happy]"; mes "Well, it looks like you"; mes "have everything ready."; mes "Although I'm not sure who"; mes "your partner is, let me be"; mes "the first to congratulate you"; mes "on your upcoming wedding~"; next; mes "[Marry Happy]"; mes "Now, let's begin the"; mes "application. Please write"; mes "down your exact name here."; next; while(1) { input .@name$; if (.@name$ != strcharinfo(0)) { mes "[Marry Happy]"; mes "Hmmm, you have to write"; mes "down your name exactly as"; mes "it is displayed. Maybe you"; mes "need to copy and paste it?"; mes "Anyway, let's try it again."; next; } else break; } mes "[Marry Happy]"; mes "Great, it looks like we"; mes "finished your application."; mes "Remember that you'll need"; mes "to tell Bishop Vomars your"; mes "partner's exact name when"; mes "you talk to him later, okay?"; next; mes "[Marry Happy]"; mes "When your partner is"; mes "finished with the application"; mes "process, both of you should"; mes "speak to the Bishop to begin"; mes "the wedding ceremony."; Emotion e_lv; next; mes "[Marry Happy]"; if (sex) { mes "Since you're the groom,"; mes "you need to speak to the"; mes "Bishop first. When you're"; mes "finished, it will be your"; mes "bride's turn to speak to"; mes "Bishop Vomars."; set zeny,zeny-1300000; delitem 7170,1; //Tuxedo } else { mes "Since you're the bride,"; mes "you need to wait for the"; mes "groom to speak to Bishop"; mes "Vomars first. When he's"; mes "finished, it'll be your turn"; mes "to speak to Bishop Vomars."; set zeny,zeny-1200000; delitem 2338,1; //Wedding_Dress } delitem 2613,1; //Diamond_Ring set wedding_sign,1; goto L_End; } mes "[Marry Happy]"; mes "No...?"; mes "Well, when you're"; mes "ready for marriage,"; mes "feel free to come back to"; mes "me so that you can apply,"; mes "okay? Have a good day~"; break; case 4: cutin "wedding_marry02",2; donpcevent "Single Army#Prontera::OnEnable"; donpcevent "Single Army#Geffen::OnEnable"; donpcevent "Single Army#Morocc::OnEnable"; donpcevent "Single Army#Payon::OnEnable"; donpcevent "Single Army#Amatsu::OnEnable"; donpcevent "Single Army#Gonryun::OnEnable"; Emotion e_omg; mes "[Single Army]"; mes "^CC9933You have to refine"; mes "items on your own to"; mes "make great equipment!^000000"; emotion e_rock,0,"Single Army#Prontera"; next; mes "[Single Army]"; mes "^330099It's a waste to"; mes "form parties in"; mes "dungeons! I can"; mes "make it on my own!^000000"; emotion e_rock,0,"Single Army#Geffen"; next; mes "[Single Army]"; mes "^666666Hell, I've trained"; mes "all by myself since"; mes "birth, all the way"; mes "to my job change!^000000"; emotion e_rock,0,"Single Army#Morocc"; next; mes "[Single Army]"; mes "^666600I CHOOSE to spend"; mes "Christmas alone..."; mes "playing Solitaire and"; mes "doing crossword puzzles!^000000"; emotion e_rock,0,"Single Army#Payon"; next; mes "[Single Army]"; mes "^CC9966Women may break my"; mes "spirit, but they'll never"; mes "take... my FREEDOM!^000000"; emotion e_rock,0,"Single Army#Amatsu"; next; mes "[Single Army]"; mes "^669900...We're the free! We're"; mes "the Invincible Single Army!^000000"; emotion e_rock,0,"Single Army#Gonryun"; close2; cutin "wedding_marry01",255; Emotion e_swt; donpcevent "Single Army#Prontera::OnInit"; donpcevent "Single Army#Geffen::OnInit"; donpcevent "Single Army#Morocc::OnInit"; donpcevent "Single Army#Payon::OnInit"; donpcevent "Single Army#Amatsu::OnInit"; donpcevent "Single Army#Gonryun::OnInit"; end; } close2; cutin "wedding_marry01",255; end; L_End: close2; cutin "",255; end; } prt_church,97,102,0 script Single Army#Prontera 105,{ mes "[Single Army]"; mes "^CC9933You have to refine"; mes "items on your own to"; mes "make great equipment!^000000"; close; OnInit: hideonnpc "Single Army#Prontera"; end; OnEnable: hideoffnpc "Single Army#Prontera"; emotion e_go; end; } prt_church,98,102,0 script Single Army#Geffen 705,{ mes "[Single Army]"; mes "^330099It's a waste to"; mes "form parties in"; mes "dungeons! I can"; mes "make it on my own!^000000"; close; OnInit: hideonnpc "Single Army#Geffen"; end; OnEnable: hideoffnpc "Single Army#Geffen"; emotion e_go; end; } prt_church,99,102,0 script Single Army#Morocc 707,{ mes "[Single Army]"; mes "^666666Hell, I've trained"; mes "all by myself since"; mes "birth, all the way"; mes "to my job change!^000000"; close; OnInit: hideonnpc "Single Army#Morocc"; end; OnEnable: hideoffnpc "Single Army#Morocc"; emotion e_go; end; } prt_church,100,102,0 script Single Army#Payon 708,{ mes "[Single Army]"; mes "^666600I CHOOSE to spend"; mes "Christmas alone..."; mes "playing Solitaire and"; mes "doing crossword puzzles!^000000"; close; OnInit: hideonnpc "Single Army#Payon"; end; OnEnable: hideoffnpc "Single Army#Payon"; emotion e_go; end; } prt_church,101,102,0 script Single Army#Amatsu 767,{ mes "[Single Army]"; mes "^CC9966Women may break my"; mes " spirit, but they'll never"; mes "take... my FREEDOM!^000000"; close; OnInit: hideonnpc "Single Army#Amatsu"; end; OnEnable: hideoffnpc "Single Army#Amatsu"; emotion e_go; end; } prt_church,102,102,0 script Single Army#Gonryun 780,{ mes "[Single Army]"; mes "^669900...We're the free! We're"; mes "the Invincible Single Army!^000000"; close; OnInit: hideonnpc "Single Army#Gonryun"; end; OnEnable: hideoffnpc "Single Army#Gonryun"; emotion e_go; end; } prt_church,100,128,4 script Bishop#w 60,{ cutin "wedding_bomars01",2; if (Upper == 2) { mes "[Vomars]"; mes "Greetings, child."; mes "Are you lost? Hmmm."; mes "Do you know where your"; mes "mommy and daddy are?"; close2; cutin "wedding_bomars01",255; end; } if (!getpartnerid()) { if (!$wedding) { if (wedding_sign == 1) { getpartymember(getcharid(1)); set .@partymembercount,$@partymembercount; if (.@partymembercount == 2) { if (sex) { set $wedding,1; initnpctimer; mes "[Vomars]"; mes "Young lovers, please"; mes "remember this moment for"; mes "the rest of your lives. May your future be blessed with peace"; mes "and joy. May the love you share"; mes "grow with each passing day."; next; mapannounce "prt_church","It's the marriage proposal from the groom, Mr. " + strcharinfo(0) + "...",bc_map; mes "[Vomars]"; mes "Until the end of the"; mes "world, may you stand"; mes "by the side of the one"; mes "whom you love, to support"; mes "her and protect her. Now, may"; mes "I know the name of your bride?"; next; input $wed_bride$; mes "[Vomars]"; mes "Mr. " + strcharinfo(0) + "..."; mes "Do you swear on your life"; mes "that you will forever cherish"; mes "and care for your bride,"; mes "Miss " + $wed_bride$ + "?"; next; select("I do."); set $wed_groom$,strcharinfo(0); mes "[Vomars]"; mes "Now, it is time for"; mes "your bride to make"; mes "her wedding vows."; mes "If she will come forward..."; close2; mapannounce "prt_church","The groom, Mr. " + strcharinfo(0) + ", has made his vows to Miss " + $wed_bride$ + "...",bc_map; cutin "",255; end; } mes "[Vomars]"; mes "I'm sorry, but the groom"; mes "must speak to me first in"; mes "order to begin the wedding."; mes "It's old fashioned protocol,"; mes "but I'll admit that it does"; mes "keep things running smoothly."; goto L_End; } mes "[Vomars]"; mes "Before you can be"; mes "married, you must"; mes "first form a party of"; mes "two with your partner."; mes "Then, we can proceed"; mes "with the ceremony."; goto L_End; } mes "[Vomars]"; mes "You must apply for"; mes "marriage with Happy Marry"; mes "before you can get married."; mes "Happy Marry will let you know"; mes "what else you'll need to do"; mes "to prepare for marriage."; goto L_End; } else if ($wedding == 1) { if (wedding_sign == 1) { getpartymember(getcharid(1)); set .@partymembercount,$@partymembercount; if (.@partymembercount == 2) { if (sex == 0) { if (strcharinfo(0) == $wed_bride$) { mes "[Vomars]"; mes "Young lovers, please"; mes "remember this moment for"; mes "the rest of your lives. May your future be blessed with peace"; mes "and joy. May the love you share"; mes "grow with each passing day."; next; mapannounce "prt_church","Let's hear what the bride, Miss "+$wed_bride$+", has to say...",bc_map; mes "[Vomars]"; mes "Miss "+$wed_bride$+"..."; mes "Do you swear to stay"; mes "true to "+$wed_groom$+","; mes "to be by his side, no matter"; mes "what the dangers may be?"; next; if (select("^FF0000No.^000000:I do.") == 1) { cutin "wedding_bomars03",2; mapannounce "prt_church","Next couple, please proceed...",bc_map; mes "[Vomars]"; mes "So "+$wed_groom$; mes "isn't the one you"; mes "want to marry? Hmm."; mes "I'm truly sorry for this"; mes "misunderstanding..."; set $wedding,0; close2; stopnpctimer; cutin "",255; end; } mes "[Vomars]"; mes "Do you truly swear"; mes "fidelity and patience?"; mes "Will you marry "+$wed_groom$+"?"; next; if (select("Yes, I do.:^FF0000No.^000000") == 1) { if (isloggedin(getcharid(3,$wed_groom$))) { if (marriage($wed_groom$)) { //Call Wedding effect wedding; //Give ring to Bride, and change to wedding sprite. sc_start SC_Wedding,3600000,1; getitem 2635,1; //Bride_Ring //Give ring to Groom, and change to wedding sprite. attachrid(getcharid(3,$wed_groom$)); sc_start SC_Wedding,3600000,1; getitem 2634,1; //Bridegroom_Ring detachrid; //Switch Script progression back to Bride attachrid(getcharid(3,$wed_bride$)); cutin "wedding_bomars02",2; mapannounce "prt_church","I now pronounce you, "+$wed_groom$+" and "+$wed_bride$+", husband and wife.",bc_map; mes "[Vomars]"; mes "By the power invested"; mes "in me as Royal Bishop of"; mes "the Rune-Midgarts Kingdom,"; mes "I now pronounce you husband"; mes "and wife. May your future be"; mes "blessed with many great joys."; next; mes "[Vomars]"; mes "And lastly..."; mes "Always be happy,"; mes "dear "+$wed_bride$+"..."; set $wed_groom$,""; set $wed_bride$,""; set $wedding,0; close2; stopnpctimer; cutin "",255; detachrid; end; } } cutin "wedding_bomars03",2; mes "[Vomars]"; mes "Hm. It seems that"; mes "your groom left before"; mes "the ceremony has finished"; mes "Please try again once he's"; mes "returned."; goto L_End; } else { cutin "wedding_bomars03",2; mapannounce "prt_church","Alas! "+$wed_bride$+" has rejected "+$wed_groom$+"'s marriage proposal!",bc_map; mes "[Vomars]"; mes "Hm. It seems that"; mes "you've changed your"; mes "mind. Although I feel"; mes "sorry for the groom, you"; mes "must do what your heart"; mes "tells you is right. Now, run!"; } set $wed_groom$,""; set $wed_bride$,""; set $wedding,0; close2; stopnpctimer; cutin "",255; end; } callsub S_Busy; } callsub S_Busy; } callsub S_Busy; } if (strcharinfo(0) == $wed_bride$) { mes "[Vomars]"; mes "Hm? It appears that"; mes "Happy Marry still hasn't"; mes "received your marriage"; mes "application. Please speak"; mes "to her so that we can begin"; mes "the wedding ceremony."; goto L_End; } callsub S_Busy; } callsub S_Busy; } mes "[Vomars]"; mes "I wish you eternal"; mes "happiness. No matter"; mes "how dark the present may"; mes "be, always stand by your"; mes "loved one's side and look"; mes "to the future with hope."; L_End: close2; cutin "",255; end; S_Busy: if ($wed_groom$ != "" && $wed_bride$ != "") { mes "[Vomars]"; mes "The wedding of"; mes "Miss "+ $wed_bride$ +" and"; mes "Mister "+ $wed_groom$; mes "is currently in progress."; mes "Please keep your voice down."; goto L_End; } mes "[Vomars]"; mes "I'm conducting a wedding"; mes "for another couple now, so"; mes "please wait patiently for your"; mes "turn. Thanks for understanding... ^FFFFFF ^000000"; goto L_End; OnInit: set $wedding,0; end; OnStop: stopnpctimer; end; OnReset: set $wed_groom$,""; set $wed_bride$,""; set $wedding,0; end; OnTimer180000: mapannounce "prt_church","You've responded too slowly... Next couple, please proceed.",bc_map; set $wed_groom$,""; set $wed_bride$,""; set $wedding,0; stopnpctimer; end; }