summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/mob_db.conf42
-rw-r--r--npc/014-2-2/gemini.txt2
-rw-r--r--npc/014-2-2/valia.txt10
-rw-r--r--npc/034-3/gemini.txt2
-rw-r--r--npc/034-4/exit.txt6
-rw-r--r--npc/034-4/intro.txt3
6 files changed, 57 insertions, 8 deletions
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
index f07ff5599..468ee899c 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -12358,6 +12358,48 @@ mob_db: (
Brainstem: 450
}
},
+{
+ Id: 1447
+ SpriteName: "Luvia"
+ Name: "Luvia"
+ Lv: 50
+ Hp: 21400
+ Sp: 0
+ Exp: 404
+ JExp: 14
+ AttackRange: 1
+ Attack: [620, 670]
+ Def: 5
+ Mdef: 127
+ Stats: {
+ Str: 12
+ Agi: 33
+ Vit: 46
+ Int: 90
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 370
+ AttackDelay: 2100
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CherryCake: 60
+ }
+},
// System
{
Id: 1491
diff --git a/npc/014-2-2/gemini.txt b/npc/014-2-2/gemini.txt
index 6153fed5b..c05f96699 100644
--- a/npc/014-2-2/gemini.txt
+++ b/npc/014-2-2/gemini.txt
@@ -42,7 +42,7 @@ OnCore:
case 4: // Desert unlocked, but no clue on what to do
dispbottom l("You hear a noise from distance.");
// Spawn monsters
- areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, CaveSnake), CaveSnake, 2, "Valia::OnCSnake");
+ areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, CaveSnake), CaveSnake, 3, "Valia::OnCSnake");
areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, MagicGoblin), MagicGoblin, 1, "Valia::OnMGoblin");
// These refuse to respawn but are numerous
// Thus far, the quest is still easy. But soon it won't be.
diff --git a/npc/014-2-2/valia.txt b/npc/014-2-2/valia.txt
index 8a161558f..346a9c7b6 100644
--- a/npc/014-2-2/valia.txt
+++ b/npc/014-2-2/valia.txt
@@ -26,19 +26,15 @@ function script GeminiKill {
if (!compare(getmap(), "val")) end;
.@p=getcharid(1);
switch ($@VALIA_STATUS[.@p]) {
- case 1: // Quest initiated
- break;
case 2: // Looking for a runestone
if (killedrid == GreenSlime) {
- if (!rand2(40)) {
+ if (!rand2(40) || $@GM_OVERRIDE) {
getexp 8132, 657;
dispbottom l("You found the Runestone! You gave it to the party leader.");
$@VALIA_STATUS[.@p] = 3;
}
}
break;
- case 3: // Has runestone
- break;
case 4: // Desert unlocked, but no clue on what to do
case 5: // Desert unlocked, cutscene over
debugmes "Killedrid = %d = Cave Snake = %d", killedrid, CaveSnake;
@@ -239,6 +235,8 @@ OnMGoblin:
///////////////////////////////////
OnKey1:
.@p = getcharid(1);
+ @tmp+=1;
+ sleep2(rand2(1000, 3000) + (@tmp*300)); // Prevent outright farming
.@mob=monster("val2@"+.@p, 57, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey1");
// This should wipe the monster experience value
setunitdata(.@mob, UDT_LEVEL, 1);
@@ -249,6 +247,8 @@ OnKey1:
OnKey2:
.@p = getcharid(1);
+ @tmp+=1;
+ sleep2(rand2(1000, 3000) + (@tmp*300)); // Prevent outright farming
.@mob=monster("val2@"+.@p, 61, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey2");
// This should wipe the monster experience value
setunitdata(.@mob, UDT_LEVEL, 1);
diff --git a/npc/034-3/gemini.txt b/npc/034-3/gemini.txt
index 14a76e2b8..6d9ec0d67 100644
--- a/npc/034-3/gemini.txt
+++ b/npc/034-3/gemini.txt
@@ -33,6 +33,7 @@ OnTouch:
next;
mesq b("catalazuli");
next;
+ .@p=getcharid(1);
mes l("... that looks like an incantation or something.");
if (strcharinfo(0) != getpartyleader(.@p)) {
mes l("I probably should let %s chant it.", getpartyleader(.@p));
@@ -57,6 +58,7 @@ OnChannel:
.@y > 38) end;
// Only party leader may proceed
+ .@p=getcharid(1);
if (strcharinfo(0) != getpartyleader(.@p)) {
percentheal 0, -25;
specialeffect(312, AREA, getcharid(3));
diff --git a/npc/034-4/exit.txt b/npc/034-4/exit.txt
index 11d756cdc..5efee06d1 100644
--- a/npc/034-4/exit.txt
+++ b/npc/034-4/exit.txt
@@ -8,7 +8,9 @@
OnWumpus:
GeminiCheck();
- // TODO FIXME: Instead of 75% chance, a Wumpus Egg only on first victory
+ // TODO FIXME: Instead of 75% chance, a Wumpus Egg only on first victory?
+ // TODO: Maybe exchange an Wumpus Egg for a Sunny Crystal or Mylarin Dust?
+ // Or have a NPC do so, I guess.
if (any(true, true, true, false))
getitem WumpusEgg, 1;
else
@@ -164,6 +166,8 @@ OnTouch:
sleep2(2000);
@forced_sick$ = getmap();
doevent "#DungeonCore::OnSick";
+
+ // TODO: The escape?
end;
OnSick:
diff --git a/npc/034-4/intro.txt b/npc/034-4/intro.txt
index 3615c0c91..4f1f7a1b5 100644
--- a/npc/034-4/intro.txt
+++ b/npc/034-4/intro.txt
@@ -18,6 +18,7 @@ OnTouch:
OnTouch:
if (instance_id() < 0 || getcharid(1) < 1) end;
GeminiCheck(8);
+ .@p=getcharid(1);
if (strcharinfo(0) != getpartyleader(.@p)) end;
if (!.state) {
@@ -31,7 +32,7 @@ OnTouch:
end;
OnTimer1000:
- .luvia = monster(.mp$, 48, 45, "Luvia Gemini", Sagratha, 1);
+ .luvia = monster(.mp$, 48, 45, "Luvia Gemini", Luvia, 1);
immortal(.luvia);
setunitdata(.luvia, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
end;