-
Posts
5 -
Joined
-
Last visited
Nexus Mods Profile
About mastermahidhar
Profile Fields
-
Country
Australia
mastermahidhar's Achievements
Rookie (2/14)
0
Reputation
-
Yep, so I got this working for Stunning Blows. I used Dain's method and just created an eventmanager GDA which mentions my script and it works. Stunning Blows works on the same principle as Destroyer(which Dain fixed) so I was able to do that. Now I need to figure out what Event Shield Block uses. I'm thinking the ATTACKED event type but I can't be sure. I tried with it and it doesn't work. Edit: I was able to fix the abilities that I set out to. Thanks, thread can be closed.
-
Hey all, I've gotten into modding this game recently. I've begun fixing some talents and spells with my limited knowledge and making some minor enhancements. I'd like to do the same with some of the other ignored talents and spells which were not fixed by any modders so far. First is Shield Block. The issue mentioned in the Wikia is that it's coded so that the backstabs occur on the left side of the character(shield bearing side) but the reverse needs to happen i.e. backstabs only on the weapon side. The passive is found in the combat_h.nss which I extracted and made some modifications to: #include "effects_h" #include "items_h" #include "combat_damage_h" #include "ui_h" #include "sys_soundset_h" #include "ai_threat_h" #include "2da_constants_h" #include "stats_core_h" void main() { event ev = GetCurrentEvent(); object oTarget = GetEventCreator(ev); object oAttacker = OBJECT_SELF; { float fAngle = GetAngleBetweenObjects(oTarget, oAttacker); float fFactor = 0.0; float fFlankingAngle = GetCreatureProperty(oAttacker, PROPERTY_ATTRIBUTE_FLANKING_ANGLE); if ( (fAngle>= (180.0 - fFlankingAngle) && fAngle<=(180.0 + fFlankingAngle ))) { // Shield block negats flanking on the left. int bShieldBlock = HasAbility(oTarget,ABILITY_TALENT_SHIELD_BLOCK); int bUsingShield = IsUsingShield(oTarget); if (!bShieldBlock || fAngle > 180.0 || (bShieldBlock && !bUsingShield) ) { fFactor = (fFlankingAngle - fabs( 180.0 - fAngle))/fFlankingAngle; } } } } In the Wikia, it states that the fAngle < 180 is the problem so I just replaced the < with the >. I was able to successfully compile the script but when I add it to overrides, nothing changes. Then comes Stunning Blows. The description states that every hit should have a 50% chance to stun. So I looked at the code in combat_damage_h and just removed the part where it checks if the hit is a critical hit. This one also compiles but I don't see the effect being applied in game. #include "core_h" #include "2da_constants_h" #include "effects_h" void main() { event ev = GetCurrentEvent(); int nAbility = GetEventInteger(ev, 1); object oAttacker = GetEventCreator(ev); object oTarget = OBJECT_SELF; if (HasAbility(oAttacker, ABILITY_TALENT_STUNNING_BLOWS) && IsMeleeWeapon2Handed(GetItemInEquipSlot(INVENTORY_SLOT_MAIN, oAttacker))) { // ~50% if(RandomFloat()<0.5) { if (!GetHasEffects(oTarget, EFFECT_TYPE_STUN)) { Engine_ApplyEffectOnObject(EFFECT_DURATION_TYPE_TEMPORARY, EffectStun(),oTarget,1.5f + (RandomFloat()*2.5),oAttacker,ABILITY_TALENT_STUNNING_BLOWS); #ifdef DEBUG _LogDamage("DAMAGE-Combat-Efffect: STUNNING_BLOWS"); #endif } } } } For both of these talents, I've included my scripts in the GDA. I'm not sure if that's enough so I'm wondering where I might have gone wrong. I'd appreciate any help that can be provided. Thanks in advance.