From 3eb861eeac9e6f3be74b9b995f83085194a6d93a Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 5 Sep 2019 08:31:58 -0300 Subject: New gm command for Saulc: @shroom Description: Walk to players, spawn plushrooms/chagashrooms and walk away. Do all that while taking a cup of coffee IRL and let the script do the job. Max. 40 players. Works even when player is in a restricted quest map. MobID only. --- db/constants.conf | 2 ++ db/re/mob_db.conf | 36 ++++++++++++++++++++++++++++++++++++ npc/018-6-3/main.txt | 2 ++ npc/commands/shroom.txt | 42 ++++++++++++++++++++++++++++++++++++++++++ npc/scripts.conf | 1 + 5 files changed, 83 insertions(+) create mode 100644 npc/commands/shroom.txt diff --git a/db/constants.conf b/db/constants.conf index 946dacfab..7253ebcd2 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -4163,6 +4163,8 @@ constants_db: { NPC_MONSTERKING: 500 NPC_AIRSHIP: 501 NPC_POLITICS: 502 + NPC_GAMEMASTER: 503 + NPC_GAMEMISTRESS: 504 NPC_SOUL_NORMAL: 700 NPC_SOUL_DESERT: 701 diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf index 1bcf57411..6b9a92afa 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -8905,6 +8905,42 @@ mob_db: ( // WARNING: ID 1250~1400 PERMANENTLY RESERVED - USE PROHIBTED // Reserved +{ + Id: 1493 + SpriteName: "GameMaster" + Name: "Game Master" + Lv: 150 + Hp: 12000 + Def: 700 + Mdef: 300 + WalkMask: "WALK_AIR" + Race: 10 + Element: (6, 4) + Mode: { + CanMove: true + CanAttack: false + SurviveWithoutMaster: true + } + MoveSpeed: 150 +}, +{ + Id: 1494 + SpriteName: "GameMistress" + Name: "Game Mistress" + Lv: 150 + Hp: 12000 + Def: 700 + Mdef: 300 + WalkMask: "WALK_AIR" + Race: 10 + Element: (6, 4) + Mode: { + CanMove: true + CanAttack: false + SurviveWithoutMaster: true + } + MoveSpeed: 150 +}, { Id: 1495 SpriteName: "MonsterSergeant" diff --git a/npc/018-6-3/main.txt b/npc/018-6-3/main.txt index a18e1ba1b..aded86352 100644 --- a/npc/018-6-3/main.txt +++ b/npc/018-6-3/main.txt @@ -4,6 +4,8 @@ // Description: // Controls Forgotten Shrine +018-6-3 mapflag nowarpto + // 01863_RelevanceCheck ( Room ID ) function script 01863_RelevanceCheck { .@id=getarg(0); diff --git a/npc/commands/shroom.txt b/npc/commands/shroom.txt new file mode 100644 index 000000000..5dae87397 --- /dev/null +++ b/npc/commands/shroom.txt @@ -0,0 +1,42 @@ +// TMW2 Script +// +// @shroom +// Plushroom Angel Script + +- script @shroom 32767,{ + end; + +OnShroom: + .@mobId=atoi(array_shift(.@atcmd_parameters$)); + .@mobAm=atoi(array_shift(.@atcmd_parameters$)); + .@mobName$=implode(.@atcmd_parameters$, " "); + + //.@gmType=(Sex ? NPC_GAMEMASTER : NPC_GAMEMISTRESS); + .@gmType=(Sex ? GameMaster : GameMistress); + .@gmId=monster("boss", 45, 45, strcharinfo(0), .@gmType, 1); + + // Max 40 connected players for this to work + .@c = getunits(BL_PC, .@players, 40); + for (.@i = 0; .@i < .@c; .@i++) { + attachrid(.@players[.@i]); + getmapxy(.@m$, .@x, .@y, 0); + unitwarp(.@gmId, .@m$, .@x, .@y); + unitwalk(.@gmId, .@x-1, .@y-1); + sleep2(200); + unitemote(.@gmId, E_HAPPY); + sleep2(150); + + areamonster(.@m$, .@x-3, .@y-3, .@x+3, .@y+3, .@mobName$, .@mobId, .@mobAm); + sleep2(120); + detachrid(); + } + + // Cleanup + unitwarp(.@gmId, "boss", 45, 45); + unitkill(.@gmId); + end; + +OnInit: + bindatcmd "shroom", "@shroom::OnShroom", 80, 100, 1; +} + diff --git a/npc/scripts.conf b/npc/scripts.conf index 2e55710e7..12f0b1ac6 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -103,6 +103,7 @@ "npc/commands/rate-management.txt", "npc/commands/resync.txt", "npc/commands/scheduled-broadcasts.txt", +"npc/commands/shroom.txt", "npc/commands/super-menu.txt", "npc/commands/warp.txt", "npc/commands/wgm.txt", -- cgit v1.2.3-60-g2f50