diff options
author | Jesusaves <cpntb1@ymail.com> | 2020-07-30 14:59:44 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2020-07-30 14:59:44 -0300 |
commit | 2ecc7a56d276905f4f139f9f6b4baf97730e4c2b (patch) | |
tree | 35a29e4b3a056b725e777432c4ed3babc504cf97 | |
parent | 2303bef3da9a4a88fbbe33a4d583427d89468c7a (diff) | |
download | serverdata-2ecc7a56d276905f4f139f9f6b4baf97730e4c2b.tar.gz serverdata-2ecc7a56d276905f4f139f9f6b4baf97730e4c2b.tar.bz2 serverdata-2ecc7a56d276905f4f139f9f6b4baf97730e4c2b.tar.xz serverdata-2ecc7a56d276905f4f139f9f6b4baf97730e4c2b.zip |
Skill TMW2_STUDY registered
Cost: 1x Manapple. It is also the most expensive skill in RP terms.
No MSP is required for studying (should be obvious)
-rw-r--r-- | db/re/skill_db.conf | 5 | ||||
-rw-r--r-- | npc/config/magic.txt | 3 | ||||
-rw-r--r-- | npc/functions/hub.txt | 2 | ||||
-rw-r--r-- | npc/magic/study.txt | 12 |
4 files changed, 18 insertions, 4 deletions
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index d501d4c6c..563be3184 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -38607,6 +38607,11 @@ skill_db: ( SkillType: { Enemy: true } + Hit: "BDT_SKILL" + AttackType: "Magic" + DamageType: { + NoDamage: true + } CoolDown: { Lv1: 10000 Lv2: 9000 diff --git a/npc/config/magic.txt b/npc/config/magic.txt index 80f5a61dd..f8d5423b6 100644 --- a/npc/config/magic.txt +++ b/npc/config/magic.txt @@ -467,6 +467,9 @@ OnInit: // Charged Shot RegisterMagic(0, AC_CHARGEARROW, 1, NPCEyes, 1, CLASS_OTHER, 100); + // Study + RegisterMagic(0, TMW2_STUDY, 1, Manapple, 1, + CLASS_OTHER, 1000); end; } diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt index 2b8da7908..126d30706 100644 --- a/npc/functions/hub.txt +++ b/npc/functions/hub.txt @@ -253,7 +253,7 @@ function script HUB_SkillInvoke { SK_mpregen(); break; case TMW2_STUDY: - SK_study(); + SK_study(@skillTarget); break; case EVOL_AREA_PROVOKE: if (@skillTargetX && @skillTargetY) 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; |