summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-09-05 08:31:58 -0300
committerJesusaves <cpntb1@ymail.com>2019-09-05 08:31:58 -0300
commit3eb861eeac9e6f3be74b9b995f83085194a6d93a (patch)
tree84ffff7a27867d9111a20b223a5c1c3a66e8c714
parent1b29722397dde4800f058ace1c0b44b593ae2b23 (diff)
downloadserverdata-3eb861eeac9e6f3be74b9b995f83085194a6d93a.tar.gz
serverdata-3eb861eeac9e6f3be74b9b995f83085194a6d93a.tar.bz2
serverdata-3eb861eeac9e6f3be74b9b995f83085194a6d93a.tar.xz
serverdata-3eb861eeac9e6f3be74b9b995f83085194a6d93a.zip
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.
-rw-r--r--db/constants.conf2
-rw-r--r--db/re/mob_db.conf36
-rw-r--r--npc/018-6-3/main.txt2
-rw-r--r--npc/commands/shroom.txt42
-rw-r--r--npc/scripts.conf1
5 files changed, 83 insertions, 0 deletions
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
@@ -8906,6 +8906,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"
Name: "Monster Sergeant"
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 <mobID> <Amount> <DisplayName>
+// 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",