diff options
Diffstat (limited to 'npc/magic/study.txt')
-rw-r--r-- | npc/magic/study.txt | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/npc/magic/study.txt b/npc/magic/study.txt index 71beded64..418ac0f47 100644 --- a/npc/magic/study.txt +++ b/npc/magic/study.txt @@ -8,6 +8,10 @@ function script SK_study { .@mobGD=getarg(0); + if (.@mobGD <= 0) + return; + + // We want monsters if (getunittype(.@mobGD) != UNITTYPE_MOB) { dispbottom l("This skill can only be used on monsters!"); return; @@ -16,7 +20,8 @@ function script SK_study { // Research Points if (array_rfind(@study, @mobGD) < 0) { - .@rp=getmonsterinfo(MOB_LV)/10+1; + .@mult=max(1, 11-getskilllv(TMW2_STUDY)); + .@rp=getmonsterinfo(MOB_LV)/.@mult+1; array_push(@study, @mobGD); dispbottom l("Research Points +%d", .@rp); } @@ -29,9 +34,10 @@ function script SK_study { fnum(getunitdata(.@mobGD, UDT_SP)), fnum(getunitdata(.@mobGD, UDT_MAXSP))); - // Truncate + // Truncate. + // We're saving the GID so it must be "big enough" + // But not too big so rfind() is not expensive if (getarraysize(@study) > 99) { - //array_shift(@study); deletearray(@study, 30); } return; |