From 94fa343212d99cd6614270e37695ac6837eea605 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 1 Mar 2021 15:24:42 -0300 Subject: Replace Tanker Homunculus Healing Skill. It is now capable to self-heal! --- db/homun_skill_tree.txt | 4 +++- db/re/skill_db.conf | 54 ++++++++++++++++++++++++++++++++++++++++++++++++- npc/functions/hub.txt | 19 ++++++++++++++++- 3 files changed, 74 insertions(+), 3 deletions(-) diff --git a/db/homun_skill_tree.txt b/db/homun_skill_tree.txt index 83ee3b2fc..60fe22627 100644 --- a/db/homun_skill_tree.txt +++ b/db/homun_skill_tree.txt @@ -23,8 +23,10 @@ // 6007 = all rounder // 6008 = superior +6001,8044,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_SKILLH** - Does nothing + 6001,8013,5,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE** - Rand-cast bolts -6002,8001,9,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL*- HORRIBLE healing skill. +6002,8045,9,0,0,0,0,0,0,0,0,0,0,0 //TMW2_HOMUN_HEAL*- healing skill. 6003,8002,5,0,0,0,0,0,0,0,0,0,0,0 //HLIF_AVOID***** Raises walk speed 6004,8008,3,0,0,0,0,0,0,0,0,0,0,0 //HAMI_BLOODLUST** - Raise ATK and leech HP 6005,8009,5,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON** - Like Bash, can also multihit diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 498676614..ac87943a6 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -34010,7 +34010,7 @@ skill_db: ( { Id: 8001 Name: "HLIF_HEAL" - Description: "Healing Touch" + Description: "Weak Healing Touch" MaxLevel: 9 Range: 9 Hit: "BDT_SKILL" @@ -39975,4 +39975,56 @@ skill_db: ( SPCost: 210 } }, +// Additional Homunculus Skills +{ + Id: 8044 + Name: "TMW2_SKILLH" + Description: "Skill H" + MaxLevel: 5 + Range: 9 + Hit: "BDT_SKILL" + SkillType: { + Enemy: true + } + AttackType: "Magic" + AfterCastActDelay: 1000 + FixedCastTime: -1 + DamageType: { + NoDamage: true + } + Requirements: { + SPCost: 20 + } +}, +{ + Id: 8045 + Name: "TMW2_HOMUN_HEAL" + Description: "Healing Touch" + MaxLevel: 9 + Range: 9 + Hit: "BDT_SKILL" + SkillType: { + Self: true + } + AttackType: "Magic" + DamageType: { + NoDamage: true + } + AfterCastActDelay: 800 + FixedCastTime: -1 + Requirements: { + SPCost: { + Lv1: 11 + Lv2: 14 + Lv3: 17 + Lv4: 20 + Lv5: 23 + Lv6: 26 + Lv7: 29 + Lv8: 32 + Lv9: 35 + Lv10: 37 + } + } +}, ) diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt index 6f8378660..3d8ab20fb 100644 --- a/npc/functions/hub.txt +++ b/npc/functions/hub.txt @@ -235,10 +235,26 @@ function script HUB_SkillInvoke { // Something is... wrong if (!@skillId) { Exception("ILLEGAL SKILL PASSED TO HUB. It has been compromised, Jim.", RB_DEBUGMES|RB_IRCBROADCAST); - debugmes "Caster: %s", strcharinfo(0); + debugmes "Legal Caster: %s", strcharinfo(0); + debugmes "Effective Caster: %d", @skillCaster; return; } + // Homunculus Cycle + /* *********************************************************************** */ + //debugmes "Skill caster %d", @skillCaster; + if (@skillCaster != getcharid(3)) { + switch (@skillId) { + case TMW2_HOMUN_HEAL: + .@heal=gethominfo(6)*rand2(7, 10); + heal .@heal, 0; + harm(@skillCaster, -.@heal, HARM_MISC); + break; + } + return; + } + /* *********************************************************************** */ + // TODO: Detect what was script-cast and what was player-case. Then, readd RB_IRCBROADCAST // If you can't do this: You can't do this if (getskilllv(@skillId) < @skillLv && @skillId != BS_GREED) @@ -251,6 +267,7 @@ function script HUB_SkillInvoke { skillInvoke[@skillId] = skillInvoke[@skillId] + 1; // Script-based skills + /* *********************************************************************** */ switch (@skillId) { case TMW2_FAKESKILL: atcommand("@refresh"); -- cgit v1.2.3-70-g09d2