summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/constants.conf1
-rw-r--r--db/re/mob_db.conf19
-rw-r--r--npc/023-3/logic.txt58
3 files changed, 59 insertions, 19 deletions
diff --git a/db/constants.conf b/db/constants.conf
index ff55be80f..604f913bd 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -4198,6 +4198,7 @@ constants_db: {
NPC_SLOTMACHINE: 913
NPC_SWITCH_OFFLINE: 914
NPC_SWITCH_ONLINE: 915
+ NPC_ROLLINGSTONE: 916
// Avatars (1000+)
AVATAR_CARDA: 1000
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index 7261ea4e2..5becf214b 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -739,24 +739,7 @@ mob_db: (
}
},
// 1019 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
-},
+// 1020 is free
{
Id: 1021
SpriteName: "Dummy"
diff --git a/npc/023-3/logic.txt b/npc/023-3/logic.txt
index 422605410..55cf48885 100644
--- a/npc/023-3/logic.txt
+++ b/npc/023-3/logic.txt
@@ -238,7 +238,7 @@ OnTouchNPC:
unitwarp(0, "023-3", 42, 26);
end;
}
-*/
+
// TODO: Rolling Stone core
023-3,0,0,0 script #0233RollStone NPC_HIDDEN,{
end;
@@ -275,5 +275,61 @@ OnTimer250:
initnpctimer;
end;
}
+*/
+
+// TODO: NPC walking cannot trigger OnTouch events >.>
+023-3,47,23,0 script #0233RollStoneA NPC_ROLLINGSTONE,0,0,{
+ end;
+
+OnInit:
+ npcspeed(180);
+ initnpctimer;
+ npcwalkto(47, 41);
+ end;
+
+OnTimer180:
+ if (.y >= 40) {
+ movenpc(.name$, 47, 23);
+ npcwalkto(47, 41);
+ }
+ initnpctimer;
+ end;
+
+OnTouch:
+ percentheal -100, -100;
+ end;
+
+OnTouchNPC:
+ sc_start SC_COMA, 60000, 0;
+ end;
+}
+
+023-3,48,25,0 script #0233RollStoneB NPC_ROLLINGSTONE,0,0,{
+ end;
+
+OnInit:
+ npcspeed(180);
+ initnpctimer;
+ npcwalkto(48, 41);
+ end;
+
+OnTimer180:
+ if (.y >= 40) {
+ movenpc(.name$, 48, 23);
+ npcwalkto(48, 41);
+ }
+ initnpctimer;
+ end;
+
+OnTouch:
+ percentheal -100, -100;
+ end;
+
+OnTouchNPC:
+ sc_start SC_COMA, 60000, 0;
+ end;
+}
+023-3,47,30,0 duplicate(#0233RollStoneA) #0233RollStoneC NPC_ROLLINGSTONE,0,0
+023-3,48,37,0 duplicate(#0233RollStoneB) #0233RollStoneD NPC_ROLLINGSTONE,0,0