+- +-

+-User

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?

+-Stats ezBlock

Members
Total Members: 129
Latest: Drath3n
New This Month: 1
New This Week: 0
New Today: 0
Stats
Total Posts: 675
Total Topics: 333
Most Online Today: 4
Most Online Ever: 20
(June 30, 2017, 12:18:50 AM)
Users Online
Members: 0
Guests: 5
Total: 5

Author Topic: Intelligent Blademaster Bugfix  (Read 2106 times)

MagicSN

  • Administrator
  • Jr. Member
  • *****
  • Posts: 79
    • View Profile
Intelligent Blademaster Bugfix
« on: December 27, 2012, 09:06:06 AM »
Hello!

I found out "Intelligent Blademaster"'s effect on Basic Melee is not correctly implemented. Due to the way Hero Lab works, it cannot be implemented by a user file (user files cannot replace Basic Melee as the system then complain "it is already in use"). I solved the issue by directly editing ddi_powers.dat (which is just an XML file). But I think this Bugfix should go into the next version of the data files from WolfLair as such a direct editing of a .dat file is an "ugly" solution.

Here is how to fix it:

Look in ddi_powers.dat for pwBasicMel and replace it with this (basically you only need to change the Script part):

  <thing id="pwBasicMel" name="Basic Melee" description="A basic melee attack." compset="Power">
    <fieldval field="pwTarget" value="One creature"/>
    <tag group="Helper" tag="Bootstrap"/>
    <tag group="ActionType" tag="Standard"/>
    <tag group="ReqLevel" tag="1"/>
    <tag group="AttackType" tag="MeleeWep"/>
    <tag group="Attack" tag="attrStr"/>
    <tag group="DamageAttr" tag="attrStr"/>
    <tag group="AttackVs" tag="defAC"/>
    <tag group="PowerAcc" tag="Weapon"/>
    <tag group="PowerType" tag="AtWill"/>
    <tag group="Damage" tag="Weapon1"/>
    <containerreq phase="Initialize" priority="0">
      !source.HideBasic
      </containerreq>
    <eval phase="Traits" priority="10000"><![CDATA[
if (#level[] >= 21) then
  perform delete[Damage.Weapon1]
  perform assign[Damage.Weapon2]
  endif

  if (hero.childexists[ftIntelBla] <> 0) then
   if (#attrbonus[attrInt]>#attrbonus[attrStr]) then
    var attidstr as string
    attidstr = "attrInt"
    perform deletestr["DamageAttr.attrStr"]
    perform deletestr["Attack.attrStr"]
    perform assignstr["DamageAttr." & attidstr]
    perform assignstr["Attack." & attidstr]
   endif
  endif

]]></eval>

Cryptoknight

  • Administrator
  • Sr. Member
  • *****
  • Posts: 260
    • View Profile
Re: Intelligent Blademaster Bugfix
« Reply #1 on: December 28, 2012, 12:05:00 AM »
Two things.

1. The error message that pops up is OK.  You can in fact allow it and have it delete the item and re-add it from the character (or that's what I've been told before).  It's just an error that pops up because you're overriding a power that's on the currently loaded profile.

2.  You can edit the .dat file in the editor as well and change the power, but the next run of the downloader will override it.

Cryptoknight

  • Administrator
  • Sr. Member
  • *****
  • Posts: 260
    • View Profile
Re: Intelligent Blademaster Bugfix
« Reply #2 on: December 28, 2012, 12:09:36 AM »
In fact I was working on that problem before (I had forgotten) and I already had a basic melee attack power that overrode the basic melee attack.

I added your code to it (which works great) and when I saved and tested I got the same error about deleting and re-adding.

I then went to Develop and chose quick compile.  When it reloaded, my swordmage now works correctly.

The hard one will be the Melee Training and the 1/2 damage from the stat trick.

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
Re: Intelligent Blademaster Bugfix
« Reply #3 on: August 15, 2014, 05:27:54 PM »
I'm sorry for resurrecting this, but I thought I should put my 2 copper in on this. It seems that replacing "Basic Melee Attack" is heavy handed and prone to cause future problems when someone else decides that the best way to fix another issue is to do it too. Also, if we put the fix into the attack, it means we have to do some checking to see if the feat exists.

Instead what I did was fixed the feat. This has the benefit of not changing anything unless the feat is actually picked, and means that if someone else needs to make a change to Basic Melee, they don't need to add another fix on top, or release a different incompatible fix.

I also fixed the script so that it does some paranoid checking on the off chance that we are using something else that also changes the basic attack stat.

Code: [Select]
<eval phase="Traits" priority="10000"><![CDATA[
perform hero.child[pwBasicMel].setfocus
var text as string
var current as number
text = focus.tagids[DamageAttr.?]
current = hero.findchild[Attribute,text].field[attrBnBase].value
if (#attrbasebonus[attrInt] > current) then
perform focus.delete[DamageAttr.?]
perform focus.delete[Attack.?]
perform focus.assign[DamageAttr.attrInt]
perform focus.assign[Attack.attrInt]
endif
]]>
<after name="Calc attrBnBase"/>
</eval>

What this will do is grab whatever the Attribute being used for Basic Melee currently is, check it against Int to see which one is better, then if Int is better, replace whatever is currently the attribute (probably Str, but maybe something else) with Int. I don't know if other feats are this courteous, but this one will not cause a problem.

Did you ever get the Melee Training you mentioned handled?

Cryptoknight

  • Administrator
  • Sr. Member
  • *****
  • Posts: 260
    • View Profile
Re: Intelligent Blademaster Bugfix
« Reply #4 on: September 18, 2014, 11:06:48 PM »
Nice, added your fix to the compiled data files...

 

+-Recent Topics

Feat Valenar Weapon Training by Eldyn
October 13, 2017, 08:53:03 PM

Making Utility Powers? by dmayhew469
July 07, 2017, 02:11:16 PM

4e license question by Cryptoknight
June 25, 2017, 09:28:29 PM

Remove/increase limit on Temporary Adjustment value? by Fox Lee
June 22, 2017, 07:30:45 PM

Add the INit modifier for Battle Harness by dmayhew469
June 15, 2017, 08:27:12 PM

Change Attack Ability by dmayhew469
June 15, 2017, 07:57:20 PM

How to allow resistance show up by dmayhew469
June 12, 2017, 04:05:57 PM

Would somebody like to take this over? by dmayhew469
June 09, 2017, 02:02:12 PM

Inherent Bonuses by dmayhew469
June 09, 2017, 01:59:28 PM

No Class or Race options by rkjanik
June 06, 2017, 01:57:21 AM

Spy by Mckinley
May 25, 2017, 02:06:57 AM

Is there a guide out for how to build a race by SAbel
May 05, 2017, 11:59:46 PM

Please read this and weigh in - Issue/Source/Document Version Control System by Charlie
April 27, 2017, 09:54:40 PM

Request Access to the CodePlex System by Charlie
March 03, 2017, 10:47:03 PM

Vampire class by Fox Lee
February 26, 2017, 05:29:29 AM

As we look at Making Card Headers correct colors by dracusmage
February 23, 2017, 03:24:01 PM

Question Involving Twofold Pact for Warlock by dracusmage
February 16, 2017, 02:52:32 AM

Daily Powers by Charlie
February 15, 2017, 06:31:00 PM

Missing Fighter? by dracusmage
February 13, 2017, 10:41:45 PM

Armor at Paragon and above by dracusmage
February 13, 2017, 06:52:16 PM

Help applying bonus damage (x + modifier) to class powers by Fox Lee
January 18, 2017, 06:16:49 AM

Cavalier Summon Steed Patch by Fox Lee
January 15, 2017, 01:00:56 AM

Fey Beast Companions (HotF) by Fox Lee
January 12, 2017, 07:49:08 PM

Has anyone worked with the Warlock (Binder) by SAbel
December 29, 2016, 11:43:17 PM

I will be posting an update soon by SAbel
December 24, 2016, 01:32:41 AM

Powered by EzPortal