diff options
Diffstat (limited to 'npc/other/marriage.txt')
-rw-r--r-- | npc/other/marriage.txt | 273 |
1 files changed, 210 insertions, 63 deletions
diff --git a/npc/other/marriage.txt b/npc/other/marriage.txt index 59771c077..88dcabad7 100644 --- a/npc/other/marriage.txt +++ b/npc/other/marriage.txt @@ -1,22 +1,25 @@ //===== Hercules Script ====================================== //= Player Marriage -//===== By: ================================================== +//===== By: ================================================== //= L0ne_W0lf -//===== Current Version: ===================================== -//= 1.2 -//===== Description: ========================================= -//= [Aegis Conversion] +//===== Current Version: ===================================== +//= 1.4 +//===== Description: ========================================= +//= [Official Conversion] //= Official Marriage script. //= Added isloggedin() check, even though Aegis doesn't do it. -//= Currently does not support same-sex marriages. +//= 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: ================================= +//= - Variable in use: $@wedding (max 1) +//= - Variable 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] +//= 1.3 Changed permanent global variables to temporary ones. [Euphy] +//= Added GM NPCs (commented). +//= 1.4 Added GM management function. [Euphy] //============================================================ prt_church,97,100,4 script Wedding Staff#w 71,{ @@ -179,7 +182,7 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ case 3: cutin "wedding_marry02",2; - if (sex) { + if (Sex) { mes "[Marry Happy]"; mes "So you'd like to get married?"; mes "As a groom, you need to prepare"; @@ -254,8 +257,8 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ mes "back after you find it, okay?"; goto L_End; } - else if (sex) { - if (zeny < 1300000) { + else if (Sex) { + if (Zeny < 1300000) { mes "[Marry Happy]"; mes "I'm sorry, but you don't"; mes "have the 1,300,000 zeny"; @@ -275,8 +278,8 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ goto L_End; } } - else if (sex == 0) { - if (zeny < 1200000) { + else if (Sex == 0) { + if (Zeny < 1200000) { mes "[Marry Happy]"; mes "I'm sorry, but all brides"; mes "must pay the 1,200,000"; @@ -338,17 +341,17 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ mes "process, both of you should"; mes "speak to the Bishop to begin"; mes "the wedding ceremony."; - Emotion e_lv; + emotion e_lv; next; mes "[Marry Happy]"; - if (sex) { + 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; + set Zeny, Zeny-1300000; delitem 7170,1; //Tuxedo } else { @@ -358,7 +361,7 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ mes "Vomars first. When he's"; mes "finished, it'll be your turn"; mes "to speak to Bishop Vomars."; - set zeny,zeny-1200000; + set Zeny, Zeny-1200000; delitem 2338,1; //Wedding_Dress } delitem 2613,1; //Diamond_Ring @@ -382,7 +385,7 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ donpcevent "Single Army#Payon::OnEnable"; donpcevent "Single Army#Amatsu::OnEnable"; donpcevent "Single Army#Gonryun::OnEnable"; - Emotion e_omg; + emotion e_omg; mes "[Single Army]"; mes "^CC9933You have to refine"; mes "items on your own to"; @@ -422,7 +425,7 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ emotion e_rock,0,"Single Army#Gonryun"; close2; cutin "wedding_marry01",255; - Emotion e_swt; + emotion e_swt; donpcevent "Single Army#Prontera::OnInit"; donpcevent "Single Army#Geffen::OnInit"; donpcevent "Single Army#Morocc::OnInit"; @@ -559,13 +562,13 @@ prt_church,100,128,4 script Bishop#w 60,{ } if (!getpartnerid()) { - if (!$wedding) { + if (!$@wedding) { if (wedding_sign == 1) { getpartymember(getcharid(1)); set .@partymembercount,$@partymembercount; if (.@partymembercount == 2) { - if (sex) { - set $wedding,1; + if (Sex) { + set $@wedding,1; initnpctimer; mes "[Vomars]"; mes "Young lovers, please"; @@ -583,23 +586,23 @@ prt_church,100,128,4 script Bishop#w 60,{ mes "her and protect her. Now, may"; mes "I know the name of your bride?"; next; - input $wed_bride$; + 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$ + "?"; + mes "Miss " + $@wed_bride$ + "?"; next; select("I do."); - set $wed_groom$,strcharinfo(0); + 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; + mapannounce "prt_church","The groom, Mr. " + strcharinfo(0) + ", has made his vows to Miss " + $@wed_bride$ + "...",bc_map; cutin "",255; end; } @@ -630,13 +633,13 @@ prt_church,100,128,4 script Bishop#w 60,{ mes "to prepare for marriage."; goto L_End; } - else if ($wedding == 1) { + 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$) { + if (Sex == 0) { + if (strcharinfo(0) == $@wed_bride$) { mes "[Vomars]"; mes "Young lovers, please"; mes "remember this moment for"; @@ -644,11 +647,11 @@ prt_church,100,128,4 script Bishop#w 60,{ 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; + mapannounce "prt_church","Let's hear what the bride, Miss "+$@wed_bride$+", has to say...",bc_map; mes "[Vomars]"; - mes "Miss "+$wed_bride$+"..."; + mes "Miss "+$@wed_bride$+"..."; mes "Do you swear to stay"; - mes "true to "+$wed_groom$+","; + mes "true to "+$@wed_groom$+","; mes "to be by his side, no matter"; mes "what the dangers may be?"; next; @@ -656,12 +659,12 @@ prt_church,100,128,4 script Bishop#w 60,{ cutin "wedding_bomars03",2; mapannounce "prt_church","Next couple, please proceed...",bc_map; mes "[Vomars]"; - mes "So "+$wed_groom$; + 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; + set $@wedding,0; close2; stopnpctimer; cutin "",255; @@ -670,25 +673,25 @@ prt_church,100,128,4 script Bishop#w 60,{ mes "[Vomars]"; mes "Do you truly swear"; mes "fidelity and patience?"; - mes "Will you marry "+$wed_groom$+"?"; + 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$)) { + 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$)); + 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$)); + 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; + 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"; @@ -700,10 +703,10 @@ prt_church,100,128,4 script Bishop#w 60,{ mes "[Vomars]"; mes "And lastly..."; mes "Always be happy,"; - mes "dear "+$wed_bride$+"..."; - set $wed_groom$,""; - set $wed_bride$,""; - set $wedding,0; + mes "dear "+$@wed_bride$+"..."; + set $@wed_groom$,""; + set $@wed_bride$,""; + set $@wedding,0; close2; stopnpctimer; cutin "",255; @@ -722,7 +725,7 @@ prt_church,100,128,4 script Bishop#w 60,{ } else { cutin "wedding_bomars03",2; - mapannounce "prt_church","Alas! "+$wed_bride$+" has rejected "+$wed_groom$+"'s marriage proposal!",bc_map; + 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"; @@ -731,9 +734,9 @@ prt_church,100,128,4 script Bishop#w 60,{ mes "must do what your heart"; mes "tells you is right. Now, run!"; } - set $wed_groom$,""; - set $wed_bride$,""; - set $wedding,0; + set $@wed_groom$,""; + set $@wed_bride$,""; + set $@wedding,0; close2; stopnpctimer; cutin "",255; @@ -745,7 +748,7 @@ prt_church,100,128,4 script Bishop#w 60,{ } callsub S_Busy; } - if (strcharinfo(0) == $wed_bride$) { + if (strcharinfo(0) == $@wed_bride$) { mes "[Vomars]"; mes "Hm? It appears that"; mes "Happy Marry still hasn't"; @@ -773,11 +776,11 @@ L_End: end; S_Busy: - if ($wed_groom$ != "" && $wed_bride$ != "") { + if ($@wed_groom$ != "" && $@wed_bride$ != "") { mes "[Vomars]"; mes "The wedding of"; - mes "Miss "+ $wed_bride$ +" and"; - mes "Mister "+ $wed_groom$; + mes "Miss "+ $@wed_bride$ +" and"; + mes "Mister "+ $@wed_groom$; mes "is currently in progress."; mes "Please keep your voice down."; goto L_End; @@ -789,25 +792,169 @@ S_Busy: 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; + 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; + donpcevent "Bishop#w::OnReset"; stopnpctimer; end; } + +prt_church,28,178,4 script The King of Midgart 108,{ + callfunc "F_GM_NPC"; + mes "[Vomars]"; + mes "Wh-who are you?"; + mes "You must know the"; + mes "password to invoke"; + mes "my awesome powers."; + next; + if (callfunc("F_GM_NPC",1854,0) < 1) { + mes "[Vomars]"; + mes "This is"; + mes "no place for"; + mes "fooling around."; + close2; + warp "prt_church",101,102; + end; + } + mes "[Wedding Switch]"; + mes "Is there a problem with"; + mes "the wedding ceremony?"; + mes "I can reset the Bishop"; + mes "Vomars NPC if you like."; + next; + switch(select("No, thanks:RESET")) { + case 1: + mes "[Wedding Switch]"; + mes "Alright, then."; + mes "However, if the"; + mes "Bishop Vomars"; + mes "NPC is stuck, it may"; + mes "be best to reset it."; + close; + case 2: + donpcevent "Bishop#w::OnStop"; + donpcevent "Bishop#w::OnReset"; + mapannounce "prt_church","You've responded too slowly... Next couple, please proceed.",bc_map; + mes "[Wedding Switch]"; + mes "The Bishop Vomars NPC"; + mes "has now been reactivated."; + mes "It should now be possible"; + mes "to proceed with weddings."; + close; + } +} + +prt_church,20,179,4 script Divorce Staff 71,{ + callfunc "F_GM_NPC"; + mes "[Bad Ending]"; + mes "Uh oh..."; + mes "You know I can't"; + mes "do anything for you."; + next; + if (callfunc("F_GM_NPC",1854,0) < 1) { + mes "[Bad Ending]"; + mes "Hmm..."; + mes "You really"; + mes "shouldn't be"; + mes "in this place..."; + close; + } + mes "[Bad Ending]"; + mes "Great, you know the"; + mes "password! Now, did you"; + mes "want me to remove the"; + mes "Wedding Ring in your"; + mes "inventory?"; + next; + switch(select("Drop 1 Wedding Ring.:Keep it.")) { + case 1: + set .@ring, (Sex)?2634:2635; //Bridegroom_Ring, Bride_Ring + if (countitem(.@ring)) { + delitem .@ring,1; + mes "[Bad Ending]"; + mes "It's done!"; + } else { + mes "[Bad Ending]"; + mes "I couldn't find"; + mes "the Wedding Ring..."; + mes "Please make sure"; + mes "that it's not equipped."; + } + close; + case 2: + mes "[Bad Ending]"; + mes "You sure you want"; + mes "to keep that ring?"; + mes "Alright, but if it becomes"; + mes "a problem, you come to me."; + close; + } +} + +prt_church,22,179,4 script Remarry Staff 71,{ + callfunc "F_GM_NPC"; + mes "[Wedding Again]"; + mes "Hmm...?"; + mes "What exactly are"; + mes "you doing here?"; + next; + if (callfunc("F_GM_NPC",1854,0) < 1) { + mes "[Wedding Again]"; + mes "Ahk!"; + mes "An adventurer"; + mes "like you shouldn't"; + mes "be in this place!"; + close; + } + if (getpartnerid()) { + mes "[Wedding Again]"; + mes "Hmm..."; + mes "I can only create"; + mes "a Wedding Ring if the"; + mes "character is married."; + close; + } + mes "[Wedding Again]"; + mes "Ah, I see that you"; + mes "know the password."; + mes "Alright, if you somehow"; + mes "lost your Wedding Ring,"; + mes "I can make you a new one."; + next; + switch(select("Make new Wedding Ring.:Cancel.")) { + case 1: + set .@ring, (Sex)?2634:2635; //Bridegroom_Ring, Bride_Ring + if (countitem(.@ring) || isequipped(.@ring)) { + mes "[Wedding Again]"; + mes "Wait, wait..."; + mes "You're wearing your"; + mes "Wedding Ring. I better"; + mes "not make you another since"; + mes "you don't need more than one."; + } else { + getitem .@ring,1; + mes "[Wedding Again]"; + mes "Here you go~"; + mes "It's your brand"; + mes "new Wedding Ring!"; + } + close; + case 2: + mes "[Wedding Again]"; + mes "Alright. If you ever"; + mes "lose your Wedding Ring,"; + mes "come to me if you happen"; + mes "to need a new one, okay?"; + close; + } +} |