diff options
-rw-r--r-- | db/re/mob_db.conf | 19 | ||||
-rw-r--r-- | npc/023-3/logic.txt | 46 |
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; +} |