summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/mob_db.conf19
-rw-r--r--npc/023-3/logic.txt46
2 files changed, 64 insertions, 1 deletions
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index 5becf214b..7261ea4e2 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -739,7 +739,24 @@ mob_db: (
}
},
// 1019 is free
-// 1020 is free
+{
+ Id: 1020
+ SpriteName: "RollingStone"
+ Name: "Rolling Stone"
+ Lv: 99
+ Hp: 20000
+ Attack: [100000, 500000]
+ Mode: {
+ Plant: true
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 200
+ AttackMotion: 172
+ DamageMotion: 180
+},
{
Id: 1021
SpriteName: "Dummy"
diff --git a/npc/023-3/logic.txt b/npc/023-3/logic.txt
index d9320848b..422605410 100644
--- a/npc/023-3/logic.txt
+++ b/npc/023-3/logic.txt
@@ -227,7 +227,53 @@ OnInit:
// TODO: Spike traps and etc. at the corritor
// TODO: Rolling Stone Trap
+// Delete rolling stones as they hit this wall
+/*023-3,47,40,0 script #0233DelStone NPC_HIDDEN,1,0,{
+OnTouch:
+ end;
+
+OnTouchNPC:
+ //percentheal -100, -100;
+ //unitkill(0);
+ unitwarp(0, "023-3", 42, 26);
+ end;
+}
+*/
+// TODO: Rolling Stone core
+023-3,0,0,0 script #0233RollStone NPC_HIDDEN,{
+ end;
+OnInit:
+ $@0233_STONEA=monster("023-3", 47, 23, "Rolling Stone", RollingStone, 1);
+ $@0233_STONEB=monster("023-3", 48, 25, "Rolling Stone", RollingStone, 1);
+ $@0233_STONEC=monster("023-3", 47, 30, "Rolling Stone", RollingStone, 1);
+ $@0233_STONED=monster("023-3", 48, 37, "Rolling Stone", RollingStone, 1);
+ initnpctimer;
+ end;
+
+OnTimer250:
+ unitwalk($@0233_STONEA, 47, 40);
+ unitwalk($@0233_STONEC, 47, 40);
+ unitwalk($@0233_STONEB, 48, 40);
+ unitwalk($@0233_STONED, 48, 40);
+
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@0233_STONEA);
+ if (.@y >= 40)
+ unitwarp($@0233_STONEA, "023-3", 47, 23);
+
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@0233_STONEB);
+ if (.@y >= 40)
+ unitwarp($@0233_STONEB, "023-3", 48, 23);
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@0233_STONEC);
+ if (.@y >= 40)
+ unitwarp($@0233_STONEC, "023-3", 47, 23);
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@0233_STONED);
+ if (.@y >= 40)
+ unitwarp($@0233_STONED, "023-3", 48, 23);
+
+ initnpctimer;
+ end;
+}