summaryrefslogblamecommitdiff
path: root/npc/017-1/paxel.txt
blob: 5e59044c7b5a7bd10afa22e4cf8420770ba94916 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                                                       
                                 






                                          

                                                         

























                                                                                                     


                                                                                                           






                                                                                                                                                                                                                                     

                                                                             


































                                                                                                                                          

                                                                         







































































                                                                                                                    

                            

                                                    



















































                                                                          
       
                               











                                                       
// TMW2/LoF Script
// This is from LoF Forums, to replace LoF Paxel
//----------------------------------------------------
// PRSM Helmet quest (seasonal quest)
// Create Quest: Darlord (Depredador) 
//----------------------------------------------------

// Old Paxel turned Raw Coal in Coal... But we don't have Raw Coal.
// He probably used the nice furnace NPC too... We will need another NPC to use that...

017-1,131,22,0	script	Paxel	NPC_PLAYER,{
	.@q=getq(SQuest_Paxel);
	if(.@q == 2) goto L_Done;
	if (season() != SEASON_SPRING && !$@GM_OVERRIDE) goto L_OutOfSeason;
	if(.@q == 1) goto L_Ask2;

	if (BaseLevel >= 60) goto L_Ask1;

L_OutOfSeason:
	mesn;
	mesq l("Hello! Calm wind today!");
	menu
		l("Yes, but I like windy days."), L_Wind,
		l("Hmm... sorry but gotta go..."), L_Go;
	close;

L_Go:
	mesn;
	mesq l("Ok, good trip then.");
	close;

L_Wind:
	mesn;
	mesq l("I don't like them, I can't fly straight.");
	next;
	mesn;
	if (BaseLevel < 60)
		mesq l("Well, not like you could understand that with your level! %%a");
	else
		mesq l("This is why I love spring!");
	close;

// ----------------------------------------------------
// Desert Helmet quest start
// ----------------------------------------------------
L_Ask1:
	mesn;
	mesq l("Hello @@! Do you have some @@ with you?", strcharinfo(0), getitemlink(TerraniteOre));

	menu
		rif(countitem(TerraniteOre),l("Yes... right... what about Terranite Ore?")), L_Quest1,
		rif(countitem(TerraniteOre),l("Yes, but I have grown attached to Terranite Ore...")), L_No,
		l("Right, but now I have business in other places."), L_Rude;
	close;

L_Quest1:
	mesn;
	mesq l("Terranite Ore is a really special item. People without helmets can't understand @@'s real power, anyway if you could give me some of them you would understand why they are so special.", getitemlink(TerraniteOre));

	menu
		l("Certainly, you can have all my Terranite Ore."), L_Check1,
		l("Sorry but I am not interested in that."), L_No;
	close;

L_No:
	mesn;
	mesq l("Ok, come back me when you want to know the @@ real power!", getitemlink(TerraniteOre));
	close;

L_Rude:
	mesn;
	mesq l("Well, good luck with your business.");
	close;


// ----------------------------------------------------
// Arc 1: Terranite Ores
// ----------------------------------------------------
L_Check1:
	if (countitem(TerraniteOre) < 12)
		goto L_More_Needed1;

	delitem TerraniteOre, 12;
	getexp 15000, 150;
	setq SQuest_Paxel, 1;
	mesn;
	mesq l("Perfect! you have enough Terranite Ore, I will take them for now but I need other items in order to bring them to life.");

L_Ask2:
	mesn;
	mesq l("I need a suitable base helmet, some herbs to use my magical dye, and gold:");
	mesc l("@@/1 @@", countitem(WarlordHelmet), getitemlink(WarlordHelmet));
	mesc l("@@/100 @@", countitem(PinkAntenna), getitemlink(PinkAntenna));
	mesc l("@@/?? @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
	mesc l("@@/@@ GP", format_number(Zeny), format_number(10000));

	menu
		l("Please have a look, I have what you asked"), L_Check2,
		l("On my way to get what you need."), -;
	close;


// ----------------------------------------------------
// Arc 2: Prsm Helmet
// ----------------------------------------------------
L_Check2:
	if (countitem(PinkAntenna) < 100 || countitem(WarlordHelmet) < 1 || countitem(CobaltHerb) < 60)
		goto L_More_Needed2;
	if (Zeny < 10000) {
		mesn;
		mesq l("You can't afford my work! Do some odd jobs and come back.");
		close;
	}

	inventoryplace PrsmHelmet, 1;
	delitem PinkAntenna, 100;
	delitem WarlordHelmet, 1;
	delitem TerraniteOre, 20;
	getexp 60000, 0;
	getitem PrsmHelmet, 1;
	setq SQuest_Paxel, 2;
	mesn;
	mesq l("There you go, a special and rare @@!", getitemlink(PrsmHelmet));
	close;

// ----------------------------------------------------
// Failure: Insufficient material
// ----------------------------------------------------
L_More_Needed1:
	mesn;
	mesq l("Your @@ is not enough, please look for more.", getitemlink(TerraniteOre));
	close;

L_More_Needed2:
	mesn;
	mesq l("I am sorry but i can see that you don't have all that I asked you.");
	next;
	mesn;
	mesq l("Please bring me that or I won't be able to make something really special for you.");
	close;


// ----------------------------------------------------
// Quest complete
// ----------------------------------------------------
L_Done:
	mesn;
	mesq l("Hello winged friend! How is the wind today?");

	menu
		rif(season() == SPRING || $@GM_OVERRIDE, l("It's spring, when the wind is always good.")), L_Spring,
		l("Calm, perfect for a fly!"), L_Fly,
		l("Gale, not good to fly."), L_Wind2;
	close;

L_Fly:
	mesn;
	mesq l("Haha yes, you are right!");
	close;

L_Wind2:
	mesn;
	mesq l("Yep, I never fly in these days.");
	close;

// TODO: Maybe we can add something else here
L_Spring:
	mesn;
	mesq l("Hahah, good to hear! Do you know some items are only dropped on spring? You should go after them!");
	close;

// Saulc/Omatt/Prsm minigame
OnTouch:
    if (BaseLevel < 20)
        percentheal -100, -100; // Shouldn't be here
    addtimer(100, "Paxel::OnOmattizator");
    end;

OnOmattizator:
    if (!isin("017-1", 131, 22, 0))
        end;
    if (!issit())
        addtimer(100, "Paxel::OnOmattizator");
    npctalk3 l("Unsit me at once!");
    emotion E_FURIOUS;
    addtimer(1000, "Paxel::OnOmattizator2");
    end;

OnOmattizator2:
    if (!isin("017-1", 131, 22, 0))
        end;
    if (!issit())
        addtimer(100, "Paxel::OnOmattizator");
    npctalk3 l("Unsit me OR I'LL KILL YOU in name of my father, Prsm!");
    emotion E_FURIOUS;
    addtimer(3000, "Paxel::OnOmattizator3");
    end;

OnOmattizator3:
    if (!isin("017-1", 131, 22, 0))
        end;
    if (!issit())
        addtimer(100, "Paxel::OnOmattizator");
    npctalk3 l("I HAVE WARNED YOU!!!!!");
    emotion E_FURIOUS;
    addtimer(1000, "Paxel::OnOmattizator4");
    end;

OnOmattizator4:
    if (!isin("017-1", 131, 22, 0))
        end;
    if (!issit())
        addtimer(100, "Paxel::OnOmattizator");
    .@q=getq(General_EasterEggs);
    npctalk3 l("DIE!");

    if (!(.@q & EE_PRSM)) {
        setq General_EasterEggs, .@q|EE_PRSM;
        dispbottom l("For finding an Easter Egg, you got Strange Coins!");
        getitem StrangeCoin, 3;
    }

    slide 130, 23;
    emotion E_FURIOUS;
    percentheal -100, -100;
    end;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, PrsmHelmet);
    setunitdata(.@npcId, UDT_HEADMIDDLE, WarlordPlate);
    setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
    setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 14);

    .sex=G_MALE;
    .distance=5;
    end;

}