static public void GetActorValuePercentage() { var getActorValuePercentage = (delegate * unmanaged[Cdecl] < Actor *, System.Int32, System.Single >) & GetActorValuePercentage; Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.ActorValuePercentage.ActorValueCondition, getActorValuePercentage); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.ActorValuePercentage.ActorValueEnemyHealth, getActorValuePercentage); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.ActorValuePercentage.ActorValuePapyrus, getActorValuePercentage);
static public void HandleEquippedItem() { var handleEquippedItem = (delegate * unmanaged[Cdecl] < Actor *, TESBoundObject *, ExtraDataList *, System.Byte, void >) & HandleEquippedItem; Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.WeaponCharge.Enchant, handleEquippedItem); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.WeaponCharge.Equip, handleEquippedItem); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.WeaponCharge.Recharge, handleEquippedItem);
static public void ApplySpell() { var applySpell = (delegate * unmanaged[Cdecl] < Actor *, SpellItem *, Actor *, void >) & ApplySpell; Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Patches.ApplySpellPerkEntryPoints.CastSpells.ApplyBashingSpell, applySpell); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Patches.ApplySpellPerkEntryPoints.CastSpells.ApplyCombatHitSpell, applySpell); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Patches.ApplySpellPerkEntryPoints.CastSpells.ApplyCombatHitSpellArrowProjectile, applySpell); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Patches.ApplySpellPerkEntryPoints.CastSpells.ApplyReanimateSpell, applySpell); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Patches.ApplySpellPerkEntryPoints.CastSpells.ApplyWeaponSwingSpell, applySpell);
static public void SetEffectiveness() { var setEffectiveness = (delegate * unmanaged[Cdecl] < ActiveEffect *, System.Single, void >) & SetEffectiveness; Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.MagicEffectFlags.ResetEffectiveness, setEffectiveness); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.MagicEffectFlags.SetEffectiveness, setEffectiveness);
static public void GetArrowPower() { var getArrowPower = (delegate * unmanaged[Cdecl] < System.Single, System.Single, System.Single >) & GetArrowPower; Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.QuickShot.CreateProjectile, getArrowPower); Trampoline.WriteRelativeCall(ScrambledBugs.Offsets.Fixes.QuickShot.KillCamera, getArrowPower);