summaryrefslogtreecommitdiff
path: root/npc/003-1
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-07-02 13:07:17 -0300
committerJesusaves <cpntb1@ymail.com>2018-07-02 13:07:17 -0300
commit0e41835edbf239f0697ab54666242d90d081348a (patch)
treecba40c52d82fc0edc65413ce28deaea598e737c1 /npc/003-1
parent06c61067349930157ea719765e2e8f142d71ac36 (diff)
downloadserverdata-0e41835edbf239f0697ab54666242d90d081348a.tar.gz
serverdata-0e41835edbf239f0697ab54666242d90d081348a.tar.bz2
serverdata-0e41835edbf239f0697ab54666242d90d081348a.tar.xz
serverdata-0e41835edbf239f0697ab54666242d90d081348a.zip
Move Quirin, making Tulimshar Center a more important place.
Diffstat (limited to 'npc/003-1')
-rw-r--r--npc/003-1/_import.txt1
-rw-r--r--npc/003-1/quirino.txt150
2 files changed, 151 insertions, 0 deletions
diff --git a/npc/003-1/_import.txt b/npc/003-1/_import.txt
index 4d1007fc7..5b98f434d 100644
--- a/npc/003-1/_import.txt
+++ b/npc/003-1/_import.txt
@@ -26,6 +26,7 @@
"npc/003-1/neko.txt",
"npc/003-1/ninathetraveler.txt",
"npc/003-1/oldwell.txt",
+"npc/003-1/quirino.txt",
"npc/003-1/sailors.txt",
"npc/003-1/sarah.txt",
"npc/003-1/sewer.txt",
diff --git a/npc/003-1/quirino.txt b/npc/003-1/quirino.txt
new file mode 100644
index 000000000..d2e5019ec
--- /dev/null
+++ b/npc/003-1/quirino.txt
@@ -0,0 +1,150 @@
+// TMW2 Script
+// Author:
+// Ernando <ernando.quirino@hotmail.com> (Creator)
+// Jesusalva <admin@tmw2.org>
+// Description:
+// Hunger Games™ version for The Mana World Brazil v2, created by Ernando Quirino.
+// Entrance to Hungry Quirin Arena
+// Variables:
+// $@EQ_STATUS
+// 0: Register open
+// 1: Fight happening
+// 2: Event finished
+
+003-1,48,73,0 script Quirin NPC_ERNANDO,{
+ if (is_gm()) goto L_Hub;
+ if ($EVENT$ != "Hunger") goto L_NoSeason;
+ if ($@EQ_STATUS == 0)
+ goto L_Register;
+
+ hello;
+ end;
+
+L_NoSeason:
+ npctalkonce l("Heya!");
+ end;
+
+L_Register:
+ mesn;
+ mesq l("Hello player, do you want to participate on HUNGRY QUIRIN event?!");
+ next;
+ select
+ l("Yeah, sign me up!"),
+ l("No, not at the moment."),
+ l("Information");
+
+ switch (@menu) {
+ case 1:
+ goto L_SignUp;
+ case 2:
+ close;
+ case 3:
+ goto L_Info;
+ }
+
+L_Info:
+ mesn col(l("Hungry Quirin Arena Rules"), 3);
+ mesc l("1- You must not be carrying anything with you.");
+ mesc l("2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.");
+ mesc l("3- All items from the Arena are from the Arena. You won't carry any of them back with you.");
+ mesc l("4- Experience and Gold earned during this event can be kept.");
+ next;
+ mesn col(l("Hungry Quirin Arena Information"), 3);
+ mesc l("1- Survive. If you die, you will gain nothing. And people want to kill you.");
+ mesc l("2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!");
+ mesc l("3- Trust nobody. There can be only one winner, and it must be you.");
+ mesc l("4- Take Care. Wildlife can kill you too. There can be traps.");
+ mesc l("5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!");
+ next;
+ goto L_Register;
+
+L_SignUp:
+ // Player cannot be carrying anything
+ getinventorylist;
+ if(@inventorylist_count>=1) goto L_Full;
+ getcartinventorylist();
+ if(@cartinventorylist_count>=1) goto L_Full;
+
+ // Warp player
+ if (rand(1,2) == 1)
+ warp "001-8", rand(42, 57), 42;
+ else
+ warp "001-8", rand(42, 57), 57;
+
+ // Prevent further movements!
+ setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_ITEM|PCBLOCK_MOVE|PCBLOCK_COMMANDS, true);
+ //dispbottom l("Stay ready!");
+ dispbottom l("##1DON'T MOVE until the signal. Stay ready! If you move, you will desync client!");
+ close;
+
+L_Full:
+ mesn;
+ mesq l("You cannot bring anything to the arena. Please put everything on the storage.");
+ close;
+
+L_Hub:
+ mesn;
+ mesc l("Welcome to HUNGRY QUIRIN ARENA mangment panel.");
+ mesc l("Current Event: "+$EVENT$);
+ mesc l("Event stage: "+$@EQ_STATUS);
+ mes l("Current player count: @@/5 must be online.", getusers(1));
+ mes l("Current arena player count: @@ on map. (Min. 3 to begin event)", getmapusers("001-8"));
+
+ // Open event? Minimum 5 connections or GM_OVERRIDE flag.
+ if ($EVENT$ == "" && (getusers(1) >= 5 || $@GM_OVERRIDE)) {
+ next;
+ mesc l("Activate event?"), 1;
+ if (askyesno() == ASK_YES) {
+ $EVENT$="Hunger";
+ setcells "001-8", 41, 58, 41, 43, 6, "qhubN";
+ setcells "001-8", 41, 58, 56, 58, 6, "qhubS";
+ announce("##1HUNGRY QUIRIN EVENT: ##3##BRegister is now open! Talk to Quirin, on Tulimshar Guardhouse!", bc_all|bc_npc);
+ }
+ close;
+ }
+
+ // Main Control menu. Not using l() on purpose.
+
+ select
+ rif($@EQ_STATUS == 0 && (getmapusers("001-8") >= 3 || $@GM_OVERRIDE), "Start Event!"),
+ rif($@EQ_STATUS == 1, "Send wave of items and monsters!"),
+ rif($@EQ_STATUS == 0 && $@GM_OVERRIDE && is_admin(), "[DEBUG] Join Event"),
+ rif($@EQ_STATUS == 0 && $@GM_OVERRIDE && is_admin(), "[DEBUG] Join & Start Event"),
+ "I'm done.";
+
+ if (@menu == 1)
+ donpcevent("#QuirinoHUB::OnStart");
+ if (@menu == 2)
+ donpcevent("#QuirinoHUB::OnSendWave");
+ if (@menu == 3)
+ goto L_Register;
+ if (@menu == 4) {
+ addtimer 1000, "Quirin::OnDebugReg";
+ goto L_SignUp;
+ }
+
+ close;
+
+OnDebugReg:
+ donpcevent("#QuirinoHUB::OnStart");
+ end;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+
+/*
+Blockwalls TileCondition and masks for setcells
+manaplus/src/enums/resources/map/blockmask.h
+
+ WALL = 0x80, // 1000 0000 = 128
+ AIR = 0x04, // 0000 0100 = 4
+ WATER = 0x08, // 0000 1000 = 8
+ GROUND = 0x10, // 0001 0000 = 16
+ GROUNDTOP = 0x20, // 0010 0000 = 32
+ PLAYERWALL = 0x40, // 0100 0000 = 64
+ MONSTERWALL = 0x02 // 0000 0010 = 2
+*/