summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-03-19 21:30:55 -0300
committerJesusaves <cpntb1@ymail.com>2021-03-19 21:30:55 -0300
commitb1311f8a3cd317106dfd9a812fa7ed0836f018b1 (patch)
treedd450d7c642a46e8b7a508ab35c76a3b5568ccb3 /npc
parenta9f035db691932502f2e61780fc337286833a1c0 (diff)
downloadserverdata-b1311f8a3cd317106dfd9a812fa7ed0836f018b1.tar.gz
serverdata-b1311f8a3cd317106dfd9a812fa7ed0836f018b1.tar.bz2
serverdata-b1311f8a3cd317106dfd9a812fa7ed0836f018b1.tar.xz
serverdata-b1311f8a3cd317106dfd9a812fa7ed0836f018b1.zip
Defeat conditions. Prevent players from cheating.
Diffstat (limited to 'npc')
-rw-r--r--npc/002-3/nard.txt2
-rw-r--r--npc/029-0/sakar.txt1
-rw-r--r--npc/029-9/boss.txt26
3 files changed, 28 insertions, 1 deletions
diff --git a/npc/002-3/nard.txt b/npc/002-3/nard.txt
index 3544c3571..f7deeb610 100644
--- a/npc/002-3/nard.txt
+++ b/npc/002-3/nard.txt
@@ -265,7 +265,7 @@ L_Travel:
menu
rif(Zeny >= .@price && LOCATION$ != "Candor", l("To Candor Island.")), L_TCandor,
rif(Zeny >= .@price && LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim,
- rif(Zeny >= .@price && LOCATION$ != "Artis" && $FIRESOFSTEAM, l("To Artis.")), L_TArtis,
+ rif(Zeny >= .@price && LOCATION$ != "Artis" && $FIRESOFSTEAM && getq(General_Narrator) >= 20, l("To Artis.")), L_TArtis,
rif(ST_TIER == 7 && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2,
rif(ST_TIER == 9 && countitem(Lifestone) && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2Ok,
l("No, I'll save my money."), -;
diff --git a/npc/029-0/sakar.txt b/npc/029-0/sakar.txt
index eac3dcc18..3967f313b 100644
--- a/npc/029-0/sakar.txt
+++ b/npc/029-0/sakar.txt
@@ -33,6 +33,7 @@ OnInit:
029-0,88,33,0 script Andrei Sakar#FoS290 NPC_ANDREI,{
function prologue;
+ if (getq(General_Narrator) < 20) end; // Not authorized
if (!FIRESOFSTEAM_CD && $FIRESOFSTEAM < 10)
prologue();
mesn;
diff --git a/npc/029-9/boss.txt b/npc/029-9/boss.txt
index aacfbedf3..882d6a184 100644
--- a/npc/029-9/boss.txt
+++ b/npc/029-9/boss.txt
@@ -349,6 +349,8 @@ OnEventEnd:
setnpcdisplay("Andrei Sakar#FoS298", "Elora#FoS298", NPC_HUMAN_FEMALE_NOOB);
disablenpc "Elora";
}
+ $@FIRESOFSTEAM_BOSS=0;
+ $@FIRESOFSTEAM_DIFF=0;
end;
////////////// Map Broadcast //////////////
@@ -383,8 +385,16 @@ OnMFShake:
closeclientdialog;
end;
+OnMFDispose:
+ if (ispcdead() && getq(General_Narrator) >= 20) warp("025-2", 100, 27);
+ end;
+
////////////// Heartbeat //////////////
OnTimer15000:
+ maptimer2("029-9", 10, "Book#FoS::OnMFDispose");
+ sleep(30);
+ if (getmapusers("029-9")) goto L_Defeat;
+ // Main cycle
if ($@FIRESOFSTEAM_BOSS == 1) {
monster("029-9", 102, 47, "Assassin", Assassin, 1);
} else if ($@FIRESOFSTEAM_BOSS == 2) {
@@ -491,6 +501,22 @@ OnTimer15000:
initnpctimer;
end;
+// Defeat
+L_Defeat:
+ $@FIRESOFSTEAM_BOSS=0;
+ $@FIRESOFSTEAM_DIFF=0;
+ $@FOS_ISB=0;
+ $@FOS_MOB=0;
+ $@FOS_AND=0;
+ .Support1=0;
+ .Support2=0;
+ .Support3=0;
+ .Support4=0;
+ .Support5=0;
+ killmonsterall("029-9");
+ kamibroadcast("The players were defeated at Fires of Steam Showdown.", "Fires of Steam");
+ end;
+
OnInit:
.firstime = 18000;
.boostime = 900000;