diff options
Diffstat (limited to 'npc/003-0')
-rw-r--r-- | npc/003-0/mainquest.txt | 67 |
1 files changed, 63 insertions, 4 deletions
diff --git a/npc/003-0/mainquest.txt b/npc/003-0/mainquest.txt index 8edf60189..97f2cf862 100644 --- a/npc/003-0/mainquest.txt +++ b/npc/003-0/mainquest.txt @@ -28,6 +28,7 @@ OnCheck: OnBegin: .@m$=getmap(); .@n$=instance_npcname(.name$); + .PLAYER=getcharid(3); // Is assassin ambushing you or professor? if (is_night()) { @@ -44,19 +45,75 @@ OnBegin: warp .@m$, 49, 33; atcommand("@refresh"); } - @ASSASSIN=monster(.@m$, .@x, .@y, l("Assassin"), Assassin, 1, .@n$+"::OnAssassinDefeat"); - unittalk(@ASSASSIN, l("Die now!!")); + .ASSASSIN=monster(.@m$, .@x, .@y, l("Assassin"), Assassin, 1, .@n$+"::OnAssassinDefeat"); + unittalk(.ASSASSIN, l("Die now!!")); + // Nerf ATK, boost HP + /* + Hp: 4211 + Attack: [198, 214] + */ + setunitdata(.@REF, UDT_MAXHP, 4750); + setunitdata(.@REF, UDT_HP, 4750); + setunitdata(.@REF, UDT_ATKMIN, 150); + setunitdata(.@REF, UDT_ATKMAX, 180); + // TODO: unitwalk // TODO: Energy Balls. Should they spawn at (21,31) and (69,31)? // At this time they are utterly deadly. You could use a skill to // disable them... Perhaps... A grenade? dispbottom col(l("SCRIPT ERROR (%s/%s)", .@m$, .@n$), 1); dispbottom l("An error happened: unitwalk failed"); - dispbottom l("An error happened: Unable to initialize timer"); - dispbottom l("An error happened: Unable to spawn: 'Energy Ball'"); + // TODO: Assassinate + initnpctimer; + end; + +OnTimer15000: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + unittalk(.ASSASSIN, l("Heh... He gave me a ball, but...")); + end; + +OnTimer20000: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + unittalk(.ASSASSIN, l("I can do this alone!")); + end; + +OnTimer60000: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + unittalk(.ASSASSIN, l("Tsc...! I'll need reinforcements!")); + end; + +OnTimer65000: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + unittalk(.ASSASSIN, l("How was the summoning again...?!")); + end; + +OnTimer75000: + .@m$=getmap(); + .@n$=instance_npcname(.name$); + unittalk(.ASSASSIN, l("Oh, that's right!")); + end; + +OnTimer82000: + .@n$=instance_npcname(.name$); + unittalk(.ASSASSIN, l("ENEEEEEEEEERGY BALLLLLLL!")); + getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, .ASSASSIN); + .@REF=monster(.@m$, .@x, .@y, "Energy Ball", EnergyBall, 1); + + // Nerf the monster, be careful, it has a powerful skill! + setunitdata(.@REF, UDT_AGI, 1); + setunitdata(.@REF, UDT_LUK, 1); + setunitdata(.@REF, UDT_DEF, 10); + setunitdata(.@REF, UDT_MDEF, 20); + setunitdata(.@REF, UDT_MAXHP, 1000); + setunitdata(.@REF, UDT_HP, 1000); end; OnAssassinDefeat: + stopnpctimer; .@m$=getmap(); .@n$=instance_npcname(.name$); delcells "MQ2Wall"+getcharid(0); @@ -79,6 +136,8 @@ OnInstanceInit: .@n$=instance_npcname("Professor#003-0"); enablenpc .@n$; } + .ASSASSIN=0; + .PLAYER=0; end; } |