diff options
-rw-r--r-- | db/re/mob_db.conf | 42 | ||||
-rw-r--r-- | npc/014-2-2/gemini.txt | 2 | ||||
-rw-r--r-- | npc/014-2-2/valia.txt | 10 | ||||
-rw-r--r-- | npc/034-3/gemini.txt | 2 | ||||
-rw-r--r-- | npc/034-4/exit.txt | 6 | ||||
-rw-r--r-- | npc/034-4/intro.txt | 3 |
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; |