summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/other/Global_Functions.txt10
-rw-r--r--npc/quests/the_sign_quest.txt12
-rw-r--r--npc/re/merchants/shadow_refiner.txt2
-rw-r--r--npc/woe-se/agit_main_se.txt29
4 files changed, 37 insertions, 16 deletions
diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt
index f6068d598..544e3a672 100644
--- a/npc/other/Global_Functions.txt
+++ b/npc/other/Global_Functions.txt
@@ -156,16 +156,6 @@ function script F_Rand {
return getarg(rand(getargcount()));
}
-//== Function F_Sex ========================================
-// Returns 1st argument if female, 2nd argument otherwise
-// Example: mes callfunc("F_Sex","What a beautiful lady!","What a handsome man!");
-function script F_SexMes {
- if (Sex == SEX_MALE)
- return getarg(0);
- else
- return getarg(1);
-}
-
//== Function F_Hi =========================================
// Returns random HELLO message
function script F_Hi {
diff --git a/npc/quests/the_sign_quest.txt b/npc/quests/the_sign_quest.txt
index dd3750543..cf593eaae 100644
--- a/npc/quests/the_sign_quest.txt
+++ b/npc/quests/the_sign_quest.txt
@@ -12249,11 +12249,12 @@ OnInit:
end;
OnTouch:
- geffenia_warp = rand(1,4);
- if (geffenia_warp == 1) warp "gefenia01",58,169;
- else if (geffenia_warp == 2) warp "gefenia02",116,115;
- else if (geffenia_warp == 3) warp "gefenia03",130,206;
- else if (geffenia_warp == 4) warp "gefenia04",133,88;
+ callfunc("F_UpdateSignVars");
+ .@geffenia_warp = rand(1,4);
+ if (.@geffenia_warp == 1) warp "gefenia01",58,169;
+ else if (.@geffenia_warp == 2) warp "gefenia02",116,115;
+ else if (.@geffenia_warp == 3) warp "gefenia03",130,206;
+ else if (.@geffenia_warp == 4) warp "gefenia04",133,88;
else warp "geffen",116,115;
end;
@@ -12644,6 +12645,7 @@ function script F_UpdateSignVars {
Sign_Branch2B = 0;
serinring = 0;
signmetzhour = 0;
+ geffenia_warp = 0;
}
return;
}
diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt
index 4e5049e5f..2f8984498 100644
--- a/npc/re/merchants/shadow_refiner.txt
+++ b/npc/re/merchants/shadow_refiner.txt
@@ -158,7 +158,7 @@ itemmall,31,76,3 script Shadow Blacksmith#nomal 4_F_JOB_BLACKSMITH,{
}
delitem .@choose,1;
Zeny -= 20000;
- if (getequippercentrefinery(.@SelectedPart) > rand(100) || getequippercentrefinery(.@SelectedPart) > rand(100)) {
+ if (getequippercentrefinery(.@SelectedPart) > rand(100) || ( .@option == 1 && getequippercentrefinery(.@SelectedPart) > rand(100))) {
successrefitem .@SelectedPart;
mes "[Shadow Blacksmith]";
mes "Refine was successful.";
diff --git a/npc/woe-se/agit_main_se.txt b/npc/woe-se/agit_main_se.txt
index c9b34f610..5f291e658 100644
--- a/npc/woe-se/agit_main_se.txt
+++ b/npc/woe-se/agit_main_se.txt
@@ -1681,6 +1681,10 @@ OnEnable:
if (.@num == 3) set getd(".MyMobCount_"+.@num+strnpcinfo(NPC_NAME_HIDDEN)),4;
else if (.@num) set getd(".MyMobCount_"+.@num+strnpcinfo(NPC_NAME_HIDDEN)),6;
setwall strnpcinfo(NPC_NAME_HIDDEN),.@wall[0],.@wall[1],.@wall[2],.@wall[3],.@wall[4],substr(strnpcinfo(NPC_NAME_HIDDEN),0,1)+substr(strnpcinfo(NPC_NAME_HIDDEN),8,9)+"_"+strnpcinfo(NPC_NAME_VISIBLE);
+ if (.@num == 0)
+ setcell(strnpcinfo(NPC_NAME_HIDDEN), .@x[0], .@y[0], .@x[getarraysize(.@x)-1], .@y[getarraysize(.@y)-1], cell_basilica, true);
+ if (.@num == 1 && (strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas01" || strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas04" || strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas05"))
+ setcell(strnpcinfo(NPC_NAME_HIDDEN), .@x[0], .@y[0], .@x[5], .@y[5], cell_basilica, true);
.@j = (getd(".MyMobCount_"+.@num+strnpcinfo(NPC_NAME_HIDDEN)))?getd(".MyMobCount_"+.@num+strnpcinfo(NPC_NAME_HIDDEN)):getarraysize(.@x);
for (.@i = 0; .@i<.@j; ++.@i)
guardian strnpcinfo(NPC_NAME_HIDDEN),.@x[.@i],.@y[.@i]," ",1905,strnpcinfo(NPC_NAME)+"::OnBarrierDestroyed";
@@ -1700,6 +1704,31 @@ OnBarrierDestroyed:
end;
OnDisable:
+ if (compare(strnpcinfo(NPC_NAME_HIDDEN),"arug")) {
+ if (strnpcinfo(NPC_NAME_HIDDEN) == "arug_cas01") {
+ setarray(.@x[0], 239, 245);
+ setarray(.@y[0], 73, 73);
+ } else if (strnpcinfo(NPC_NAME_HIDDEN) == "arug_cas02") {
+ setarray(.@x[0], 137, 143);
+ setarray(.@y[0], 137, 137);
+ } else { // Castles 3, 4, 5 are identical.
+ setarray(.@x[0], 139, 145);
+ setarray(.@y[0], 111, 111);
+ }
+ } else {
+ if (strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas02") {
+ setarray(.@x[0], 289, 289);
+ setarray(.@y[0], 98, 104);
+ } else if (strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas03") {
+ setarray(.@x[0], 326, 330);
+ setarray(.@y[0], 300, 300);
+ } else { // Castles 1, 4, 5 are identical.
+ setarray(.@x[0], 115, 125);
+ setarray(.@y[0], 49, 49);
+ setcell(strnpcinfo(NPC_NAME_HIDDEN), 115, 50, 125, 50, cell_basilica, false);
+ }
+ }
+ setcell(strnpcinfo(NPC_NAME_HIDDEN), .@x[0], .@y[0], .@x[1], .@y[1], cell_basilica, false);
delwall substr(strnpcinfo(NPC_NAME_HIDDEN),0,1)+substr(strnpcinfo(NPC_NAME_HIDDEN),8,9)+"_"+strnpcinfo(NPC_NAME_VISIBLE);
killmonster strnpcinfo(NPC_NAME_HIDDEN),strnpcinfo(NPC_NAME)+"::OnBarrierDestroyed";
end;