summaryrefslogtreecommitdiff
path: root/npc/other/CashShop_Functions.txt
blob: c61f13b4f21e711769b8395490e6a9b892c95a51 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
//===== eAthena Script ======================================= 
//= Cash Shop  Functions
//===== By: ================================================== 
//= L0ne_W0lf
//===== Current Version: ===================================== 
//= 1.0
//===== Compatible With: ===================================== 
//= eAthena SVN
//===== Description: ========================================= 
//= Used explicitly in the Item Database for Cash shop items
//= - Kafra Card
//= - Giant Fly Wing
//= - Neuralizer
//= - Dungeon Teleport Scroll
//===== Additional Comments: ================================= 
//= 1.0 First version. [L0ne_W0lf]
//=	F_CashPartyCall Optimized by Trancid.
//============================================================ 

// Kafra Card
//============================================================ 
// - Open player's storage.
// - No arguments.
function	script	F_CashStore	{
	cutin "kafra_01",2;
	mes "[Kafra Employee]";
	mes "Welcome to the Kafra Corporation.";
	mes "Here, let me open your Storage for you.";
	close2;
	openstorage;
	cutin "",255;
	return;
}


// Giant Fly Wing
//============================================================ 
// - Warp party leader to random spot on the map.
// - Summon Party members on party leader map to that location.
// - No arguments.
function	script	F_CashPartyCall	{
	warp "Random",0,0;
	if(getpartyleader(getcharid(1),2) == getcharid(0)) {
		getmapxy .@mapl$, .@xl, .@yl, 0;
		getpartymember getcharid(1);
		set .@partymembercount, $@partymembercount;
		copyarray .@partymembername$[0], $@partymembername$[0], .@partymembercount;
		for(set .@i, 0; .@i < .@partymembercount; set .@i, .@i + 1)
		if(!(getmapxy(.@mapm$, .@xm, .@ym, 0, .@partymembername$[.@i])) && (.@mapm$ == .@mapl$))
		warpchar .@mapl$, .@xl, .@yl, getcharid(0, .@partymembername$[.@i]);
	}
	return;
}

// Neuralizer
//============================================================ 
// - Reset players skills. Weight must be 0, options must be off.
// - No arguments.
function	script	F_CashReset	{
	if (Class != Job_Novice) {
		if (Weight < 1) { 
			if (checkriding() || checkfalcon() || checkcart()) return;
			else {
				resetskill;
				sc_end SC_ALL;
			}
		}
	}
	return;
}

// Dungeon Teleport Scroll
//============================================================ 
// - Warp player to random location of selected dungeon
//   due to lack of information.
// - No arguments.
function	script	F_CashDungeon	{
	switch(select("Nogg Road:Mjolnir Dead Pit:Umbala Dungeon:Payon Caves:Toy Factory:Glast Heim Prison:Louyang Dungeon:Kunlun Dungeon:Izlude Undersea Tunnel:Turtle Island:Clocktower 3F:Clocktower B3F:Glast Heim Sewers 2F:Sphinx Dungeon 4F:Pyramid Dungeon 4F:Prontera Culverts 3F:Amatsu Dungeon 1F:Somatology Laboratory 1F:Ayotaya Dungeon 2F"))
	{
	case 1: warp "mag_dun01",0,0; end; // Nogg Road
	case 2: warp "mjo_dun01",0,0; end; // Mjolnir Dead Pit
	case 3: warp "um_dun01",0,0; end; // Umbala Dungeon
	case 4: warp "pay_dun00",0,0; end; // Payon Caves
	case 5: warp "xmas_dun01",0,0; end; // Toy Factory
	case 6: warp "gl_prison",0,0; end; // Glast Heim Prison
	case 7: warp "lou_dun01",0,0; end; // Louyang Dungeon
	case 8: warp "gon_dun01",0,0; end; // Kunlun Dungeon
	case 9: warp "iz_dun00",0,0; end; // Izlude Undersea Tunnel
	case 10: warp "tur_dun01",0,0; end; // Turtle Island
	case 11: warp "c_tower3",0,0; end; // Clocktower 3F
	case 12: warp "alde_dun03",0,0; end; // Clocktower B3F
	case 13: warp "gl_sew02",0,0; end; // Glast Heim Sewers 2F
	case 14: warp "in_sphinx4",0,0; end; // Sphinx Dungeon 4F
	case 15: warp "moc_pryd04",0,0; end; // Pyramid Dungeon 4F
	case 16: warp "prt_sewb3",0,0; end; // Prontera Culverts 3F
	case 17: warp "ama_dun01",0,0; end; // Amatsu Dungeon 1F
	case 18: warp "lhz_dun01",0,0; end; // Somatology Laboratory 1F
	case 19: warp "ayo_dun02",0,0; end; // Ayotaya Dungeon 2F
	}
	return;
}

// Cities Teleport Scroll
//============================================================ 
// - Warp player to differents Citys acording to the Scroll
// - Arg(0) = type of scroll.
function	script	F_CashCity	{
	switch(getarg(0))
	{
		// Yellow
		case 1: switch(select("Prontera:Geffen:Payon:Morroc:Aldebaran:Alberta")) {
			case 1: warp "prontera",0,0; end;
			case 2: warp "geffen",0,0; end;
			case 3: warp "payon",0,0; end;
			case 4: warp "morocc",0,0; end;
			case 5: warp "aldebaran",0,0; end;
			case 6: warp "alberta",0,0; end;
			}
		break;
		// Green
		case 2: switch(select("Juno:Lighthalzen:Einbroch:Hugel")) {
			case 1: warp "yuno",0,0; end;
			case 2: warp "lighthalzen",0,0; end;
			case 3: warp "einbroch",0,0; end;
			case 4: warp "hugel",0,0; end;
			}
		break;
		// Red
		case 3: switch(select("Rachel:Veins")) {
			case 1: warp "rachel",0,0; end;
			case 2: warp "veins",0,0; end;
			}
		break;
		// Blue
		case 4: switch(select("Ayothaya:Amatsu:Louyang:Gonryun")) {
			case 1: warp "ayothaya",0,0; end;
			case 2: warp "amatsu",0,0; end;
			case 3: warp "louyang",0,0; end;
			case 4: warp "gonryun",0,0; end;
			}
		break;
	}
	return;
}