From 7c29d1e1a4e9373bdbe6b66b8f1aacb41a85bb61 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 17 Jun 2019 16:39:43 -0300 Subject: Rewrite Rolling Stone prototype --- db/constants.conf | 1 + db/re/mob_db.conf | 19 +----------------- npc/023-3/logic.txt | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 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 -- cgit v1.2.3-60-g2f50