summaryrefslogtreecommitdiff
path: root/npc/custom
diff options
context:
space:
mode:
authoreuphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-12-28 08:38:28 +0000
committereuphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-12-28 08:38:28 +0000
commite9d2315e89adb7610a67d610bb99fd78fd403c37 (patch)
tree55b9666e1a9c5e8739b36f9cdd3ace5576298e0d /npc/custom
parent382f0b77bf009b938e578286b1048ccf8038d443 (diff)
downloadhercules-e9d2315e89adb7610a67d610bb99fd78fd403c37.tar.gz
hercules-e9d2315e89adb7610a67d610bb99fd78fd403c37.tar.bz2
hercules-e9d2315e89adb7610a67d610bb99fd78fd403c37.tar.xz
hercules-e9d2315e89adb7610a67d610bb99fd78fd403c37.zip
* Added a small portion of official Malangdo Episode scripts.
* Updated quest_db with translated Malangdo entries. * Fixed strmobinfo() to output empty strings for 'name' instead of zeros (partly follow-up r17055). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17056 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/custom')
-rw-r--r--npc/custom/breeder.txt2
-rw-r--r--npc/custom/healer.txt6
-rw-r--r--npc/custom/itemmall.txt2
-rw-r--r--npc/custom/jobmaster.txt71
-rw-r--r--npc/custom/quests/hunting_missions.txt4
-rw-r--r--npc/custom/stylist.txt8
-rw-r--r--npc/custom/warper.txt19
7 files changed, 70 insertions, 42 deletions
diff --git a/npc/custom/breeder.txt b/npc/custom/breeder.txt
index c280fae73..de4460cd3 100644
--- a/npc/custom/breeder.txt
+++ b/npc/custom/breeder.txt
@@ -33,7 +33,7 @@ prontera,124,201,1 script Universal Rental NPC 726,{
else {
message strcharinfo(0),"You do not meet requirements to rent.";
close; }
- specialeffect2 276;
+ specialeffect2 EF_TEIHIT3;
close;
}
diff --git a/npc/custom/healer.txt b/npc/custom/healer.txt
index 5ed3f7579..ab7eb9f55 100644
--- a/npc/custom/healer.txt
+++ b/npc/custom/healer.txt
@@ -21,13 +21,13 @@
if (.@Price) {
message strcharinfo(0),"Healing costs "+.@Price+" Zeny.";
if (Zeny < .@Price) end;
- if(select("^0055FFHeal^000000:^777777Cancel^000000")==2) close;
+ if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close;
set Zeny, Zeny-.@Price;
}
specialeffect2 313; percentheal 100,100;
if (.@Buffs) {
- specialeffect2 37; sc_start SC_INCREASEAGI,240000,10;
- specialeffect2 42; sc_start SC_BLESSING,240000,10;
+ specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10;
+ specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10;
}
if (.@Delay) set @HD, gettimetick(2)+.@Delay;
close;
diff --git a/npc/custom/itemmall.txt b/npc/custom/itemmall.txt
index aeff0e1fd..84775e488 100644
--- a/npc/custom/itemmall.txt
+++ b/npc/custom/itemmall.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Masao
//===== Current Version: =====================================
-//= 1.0 [Masao]
+//= 1.0
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
diff --git a/npc/custom/jobmaster.txt b/npc/custom/jobmaster.txt
index e072ee4b9..c4c259b64 100644
--- a/npc/custom/jobmaster.txt
+++ b/npc/custom/jobmaster.txt
@@ -20,13 +20,16 @@ function Job_Menu; function A_An;
mes "[Job Master]";
if (Class > 4049) {
mes "No more jobs are available.";
- close; }
+ close;
+ }
if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding.";
- close; }
+ close;
+ }
if (.SkillPointCheck && SkillPoint) {
mes "Please use all your skill points before proceeding.";
- close; }
+ close;
+ }
set .@eac, eaclass();
set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class);
@@ -34,12 +37,14 @@ function Job_Menu; function A_An;
if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel;
mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
- close; }
+ close;
+ }
if (Class > 21) {
mes "Switch to third class?";
next;
Job_Menu(roclass(.@eac|EAJL_THIRD));
- close; }
+ close;
+ }
while(1) {
mes "Select an option.";
next;
@@ -49,7 +54,9 @@ function Job_Menu; function A_An;
mes "Are you sure?";
next;
Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD)));
- mes "[Job Master]"; } }
+ mes "[Job Master]";
+ }
+ }
set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2);
if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99;
if (Class == Job_Ninja) setarray .@exp[0],.@j1,70;
@@ -57,28 +64,33 @@ function Job_Menu; function A_An;
if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
- close; }
+ close;
+ }
mes "Switch to "+jobname(.@exp[0])+"?";
next;
Job_Menu(.@exp[0]);
- close; }
+ close;
+ }
if (.@eac&EAJL_2)
if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) {
mes "No more jobs are available.";
- close; }
+ close;
+ }
if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
if (JobLevel < .JobReq[0])
mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
else if (Class == 4001 && .LastJob && lastJob) {
mes "Switch classes now?";
next;
- Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); }
- else switch(Class) {
+ Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
+ } else switch(Class) {
case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023);
case 4001: Job_Menu(4002,4003,4004,4005,4006,4007);
case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045);
- default: mes "An error has occurred."; break; }
- close; }
+ default: mes "An error has occurred."; break;
+ }
+ close;
+ }
if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
mes "No more jobs are available.";
else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
@@ -86,8 +98,9 @@ function Job_Menu; function A_An;
else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
mes "Switch classes now?";
next;
- Job_Menu(lastJob+4001); }
- else Job_Menu(.@j1,.@j2);
+ Job_Menu(lastJob+4001);
+ } else
+ Job_Menu(.@j1,.@j2);
close;
function Job_Menu {
@@ -104,12 +117,14 @@ function Job_Menu {
if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
mes "[Job Master]";
mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+".";
- close; }
+ close;
+ }
mes "[Job Master]";
mes "Are you sure?";
- next; }
- else set .@i, getarg(0);
- if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000")==1) {
+ next;
+ } else
+ set .@i, getarg(0);
+ if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
mes "[Job Master]";
mes "You are now "+A_An(jobname(.@i))+"!";
if (.@i==4001 && .LastJob) set lastJob, Class;
@@ -117,17 +132,21 @@ function Job_Menu {
if (.@i==4001 || .@i==4023) resetlvl(1);
specialeffect2 338; specialeffect2 432;
if (.Platinum) callsub Get_Platinum;
- close; }
+ close;
+ }
if (getargcount() == 1) return;
- mes "[Job Master]"; }
- end; }
+ mes "[Job Master]";
+ }
+ end;
+}
function A_An {
setarray .@A$[0],"a","e","i","o","u";
set .@B$, "_"+getarg(0);
for(set .@i,0; .@i<5; set .@i,.@i+1)
if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
- return "a "+getarg(0); }
+ return "a "+getarg(0);
+}
Get_Platinum:
skill 142,1,0;
@@ -139,7 +158,8 @@ Get_Platinum:
case 4: skill 156,1,0; break;
case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
- default: break; }
+ default: break;
+ }
switch(BaseJob) {
case 7: skill 1001,1,0; break;
case 8: skill 1014,1,0; break;
@@ -154,7 +174,8 @@ Get_Platinum:
case 18: skill 238,1,0; break;
case 19: skill 1010,1,0; break;
case 20: skill 1011,1,0; break;
- default: break; }
+ default: break;
+ }
return;
OnInit:
diff --git a/npc/custom/quests/hunting_missions.txt b/npc/custom/quests/hunting_missions.txt
index 5f09c19fd..438444a14 100644
--- a/npc/custom/quests/hunting_missions.txt
+++ b/npc/custom/quests/hunting_missions.txt
@@ -225,7 +225,7 @@ OnNPCKillEvent:
if (!getcharid(1) || !.Party) {
if (!#Mission_Count || !Mission0) end;
for (set .@i, 0; .@i<.Quests; set .@i,.@i+1) {
- if (""+strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"+.@i))) {
+ if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"+.@i))) {
if (getd("Mission"+.@i+"_") < #Mission_Count) {
dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"+.@i+"_"),getd("Mission"+.@i+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,killedrid)+".";
end;
@@ -244,7 +244,7 @@ OnNPCKillEvent:
getmapxy(.@map2$,.@x2,.@y2,0);
if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) {
for(set .@j,0; .@j<.Quests; set .@j,.@j+1) {
- if (""+strmobinfo(1,.@mob) == strmobinfo(1,getd("Mission"+.@j))) {
+ if (strmobinfo(1,.@mob) == strmobinfo(1,getd("Mission"+.@j))) {
if (getd("Mission"+.@j+"_") < #Mission_Count) {
dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"+.@j+"_"),getd("Mission"+.@j+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,.@mob)+".";
break;
diff --git a/npc/custom/stylist.txt b/npc/custom/stylist.txt
index fa552ce6d..77bbf7bdb 100644
--- a/npc/custom/stylist.txt
+++ b/npc/custom/stylist.txt
@@ -17,7 +17,8 @@ prontera,170,180,1 script Stylist#custom_stylist 122,{
setarray .@Styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color");
setarray .@Look[1],7,1,6;
set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");
- set .@Revert, getlook(.@Look[.@s]); set .@Style,1;
+ set .@Revert, getlook(.@Look[.@s]);
+ set .@Style,1;
while(1) {
setlook .@Look[.@s], .@Style;
message strcharinfo(0),"This is style #"+.@Style+".";
@@ -29,6 +30,7 @@ prontera,170,180,1 script Stylist#custom_stylist 122,{
input .@Style,0,.@Styles[.@s];
if (!.@Style) set .@Style, rand(1,.@Styles[.@s]);
break;
- case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break; }
- } end;
+ case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break;
+ }
+ }
}
diff --git a/npc/custom/warper.txt b/npc/custom/warper.txt
index f374f9e9a..b0fb07a66 100644
--- a/npc/custom/warper.txt
+++ b/npc/custom/warper.txt
@@ -45,24 +45,29 @@ menu "Last Warp ^777777["+lastwarp$+"]^000000",-,
function Go {
warp getarg(0),getarg(1,0),getarg(2,0);
getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
- close; }
+ close;
+}
function Disp {
set @menu$,"";
if(getarg(0)=="") {
set @menu$,getarg(1);
- return; }
+ return;
+ }
for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1)
set @menu$, @menu$+getarg(0)+" "+.@i+":";
- return; }
+ return;
+}
function Pick {
if(getarg(0)=="") {
set .@i, select(@menu$);
- warp getarg(.@i),@c[.@i*2],@c[.@i*2+1]; }
- else {
+ warp getarg(.@i),@c[.@i*2],@c[.@i*2+1];
+ } else {
set .@i, select(@menu$)-getarg(1,0);
- warp getarg(0)+((.@i<10)?"0":"")+.@i,@c[.@i*2],@c[.@i*2+1]; }
+ warp getarg(0)+((.@i<10)?"0":"")+.@i,@c[.@i*2],@c[.@i*2+1];
+ }
getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
- close; }
+ close;
+}
// --------------------------------------------------
Towns: