summaryrefslogblamecommitdiff
path: root/npc/custom/card_remover.txt
blob: c3c6a35c263b0ea432eff6f59ddfcc871333be13 (plain) (tree)
1
2
3
4
5



                                            
                                            








































































































































































                                                                                                                                                                                                                     
 
// Card removal NPC by TyrNemesis^
// DANGEROUS! TODO: Think.. think 8) [Lupus]


prt_in,28,73,4	script	Wise Old Woman	78,{

UPGRADEROOT:
	mes "[Wise Old Woman]";
	mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?";
	next;
	menu "Yes, it does.",REMOVEMENU,
	     "What do you charge?",REMOVEPRICE,
	     "No thanks.",CLOSEOUT;

REMOVEPRICE:
	mes "[Wise Old Woman]";
	mes "I charge a flat fee of 200000 zeny, plus 25000 zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic.";
	next;
	menu "Very well. Let's do it.",REMOVEMENU,
	     "No thanks.",CLOSEOUT;

REMOVEMENU:
	mes "[Wise Old Woman]";
	mes "Very well. Which item shall I examine for you?";
	next;
	menu "I changed my mind.",CLOSEOUT,
	     getequipname(1),SLOT1,
	     getequipname(2),SLOT2,
	     getequipname(3),SLOT3,
	     getequipname(4),SLOT4,
	     getequipname(5),SLOT5,
	     getequipname(6),SLOT6,
	     getequipname(7),SLOT7,
	     getequipname(8),SLOT8,
	     getequipname(9),SLOT9,
	     getequipname(10),SLOT10;

SLOT1:
	set @part,1;
	goto CARDNUMCHECK;

SLOT2:
	set @part,2;
	goto CARDNUMCHECK;

SLOT3:
	set @part,3;
	goto CARDNUMCHECK;

SLOT4:
	set @part,4;
	goto CARDNUMCHECK;

SLOT5:
	set @part,5;
	goto CARDNUMCHECK;

SLOT6:
	set @part,6;
	goto CARDNUMCHECK;

SLOT7:
	set @part,7;
	goto CARDNUMCHECK;

SLOT8:
	set @part,8;
	goto CARDNUMCHECK;

SLOT9:
	set @part,9;
	goto CARDNUMCHECK;

SLOT10:
	set @part,10;
	goto CARDNUMCHECK;

CARDNUMCHECK:
	if(getequipcardcnt(@part) == 0) goto DENYCARDCOUNT;
	set @cardcount,getequipcardcnt(@part);
	if(@cardcount > 1) goto CARDNUMMULTIMSG;
	mes "[Wise Old Woman]";
	mes "This item has " + @cardcount + " card compounded on it. To perform my magic, I will need 225000 zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
	goto CARDNUMPOSTMSG;
CARDNUMMULTIMSG:
	mes "[Wise Old Woman]";
	mes "This item has " + @cardcount + " cards compounded on it. To perform my magic, I will need " + (200000+(@cardcount * 25000)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
CARDNUMPOSTMSG:
	next;
	menu "Very well. Do it.",REMOVECARDWARNING,
	     "Never mind.",CLOSEOUT;

REMOVECARDWARNING:
	mes "[Wise Old Woman]";
	mes "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, which is more important to you: The cards, or the item?";
	next;
	menu "I changed my mind about this.",CLOSEOUT,
	     "The item.",PRIORITYITEM,
	     "The cards.",PRIORITYCARD;

PRIORITYITEM:
	set @failtype,1;
	goto REMOVECARD;

PRIORITYCARD:
	set @failtype,2;
	goto REMOVECARD;

REMOVECARD:
	mes "[Wise Old Woman]";
	mes "Very well. I shall begin.";
	if((zeny < (200000+(@cardcount * 25000))) || (countitem(1000) < 1) || (countitem(715) < 1)) goto DENYMATERIAL;
	set zeny,zeny - (200000+(@cardcount * 25000));
	delitem 1000,1;
	delitem 715,1;
// Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
// First value = Total failure chance (item and cards destroyed)
// Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
// Third value = Harmless failure chance (all that's lost is your investment)

	set @failchance,rand(100);
//	if(@failchance < 2) goto FAILREMOVECARD0;
//	if((@failchance < 8) && (@failtype == 1)) goto FAILREMOVECARD1;
//	if((@failchance < 8) && (@failtype == 2)) goto FAILREMOVECARD2;
	if(@failchance < 10) goto FAILREMOVECARD3;
	successremovecards @part;
	next;
	mes "[Wise Old Woman]";
	mes "The process was a success. Here are your cards and your item. Farewell.";
	close;

FAILREMOVECARD0:
	failedremovecards @part,0;
	next;
	mes "[Wise Old Woman]";
	mes "The process was a total failure. I am afraid the item and the cards were destroyed.";
	close;

FAILREMOVECARD1:
	failedremovecards @part,1;
	next;
	mes "[Wise Old Woman]";
	mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";
	close;

FAILREMOVECARD2:
	failedremovecards @part,2;
	next;
	mes "[Wise Old Woman]";
	mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";
	close;

FAILREMOVECARD3:
	failedremovecards @part,3;
	next;
	mes "[Wise Old Woman]";
	mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";
	close;

DENYCARDCOUNT:
	mes "[Wise Old Woman]";
	mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";
	close;

DENYMATERIAL:
	next;
	mes "[Wise Old Woman]";
	mes "You do not have all the items I require to work my magic, child. Come again when you do.";
	close;

CLOSEOUT:
	mes "[Wise Old Woman]";
	mes "Very well. Return at once if you seek my services.";
	close;
}