From 0e41835edbf239f0697ab54666242d90d081348a Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 2 Jul 2018 13:07:17 -0300 Subject: Move Quirin, making Tulimshar Center a more important place. --- npc/003-1/quirino.txt | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 npc/003-1/quirino.txt (limited to 'npc/003-1/quirino.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 (Creator) +// Jesusalva +// 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 +*/ -- cgit v1.2.3-60-g2f50