mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-07 03:17:22 -04:00
Merge pull request #288 from TwilitRealm/magic-armor-enhancements
Free Magic Armor
This commit is contained in:
@@ -12677,7 +12677,11 @@ void daAlink_c::setMagicArmorBrk(int i_status) {
|
||||
}
|
||||
|
||||
BOOL daAlink_c::checkMagicArmorHeavy() const {
|
||||
#if TARGET_PC
|
||||
return checkMagicArmorWearAbility() && (dComIfGs_getRupee() == 0 && !dusk::getSettings().game.freeMagicArmor);
|
||||
#else
|
||||
return checkMagicArmorWearAbility() && dComIfGs_getRupee() == 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
BOOL daAlink_c::checkBootsOrArmorHeavy() const {
|
||||
@@ -18583,7 +18587,13 @@ int daAlink_c::execute() {
|
||||
field_0x372c = cXyz::Zero;
|
||||
field_0x2fb8 = 0;
|
||||
|
||||
#if TARGET_PC
|
||||
// This handles rupee drain and transitions between rupees/no rupees
|
||||
// We can skip all of that if the magic armor doesn't use rupees
|
||||
if (!dusk::getSettings().game.freeMagicArmor && checkMagicArmorWearAbility() && mClothesChangeWaitTimer == 0) {
|
||||
#else
|
||||
if (checkMagicArmorWearAbility() && mClothesChangeWaitTimer == 0) {
|
||||
#endif
|
||||
if (checkMagicArmorNoDamage() && !checkEventRun()) {
|
||||
if (field_0x2fc3 == 0) {
|
||||
field_0x2fc3 = 10;
|
||||
|
||||
@@ -187,6 +187,11 @@ int daAlink_c::setDamagePoint(int i_dmgAmount, BOOL i_checkZoraMag, BOOL i_setDm
|
||||
}
|
||||
|
||||
if (checkMagicArmorNoDamage()) {
|
||||
#if TARGET_PC
|
||||
if(dusk::getSettings().game.freeMagicArmor) {
|
||||
i_dmgAmount = 0;
|
||||
}
|
||||
#endif
|
||||
dComIfGp_setItemRupeeCount(-i_dmgAmount * 10);
|
||||
} else
|
||||
#if DEBUG
|
||||
|
||||
@@ -313,7 +313,12 @@ void daAlink_c::changeLink(int param_0) {
|
||||
mpLinkHandModel =
|
||||
initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_mArcName, "al_hands.bmd")), 0);
|
||||
|
||||
if (dComIfGs_getRupee() != 0) {
|
||||
#if TARGET_PC
|
||||
if (dComIfGs_getRupee() != 0 || dusk::getSettings().game.freeMagicArmor)
|
||||
#else
|
||||
if (dComIfGs_getRupee() != 0)
|
||||
#endif
|
||||
{
|
||||
setMagicArmorBrk(1);
|
||||
} else {
|
||||
setMagicArmorBrk(0);
|
||||
@@ -398,7 +403,11 @@ void daAlink_c::changeLink(int param_0) {
|
||||
field_0x06ec = field_0x064C->getMaterialNodePointer(1)->getShape();
|
||||
field_0x06f0 = field_0x064C->getMaterialNodePointer(2)->getShape();
|
||||
|
||||
#if TARGET_PC
|
||||
if (dComIfGs_getRupee() != 0 || dusk::getSettings().game.freeMagicArmor) {
|
||||
#else
|
||||
if (dComIfGs_getRupee() != 0) {
|
||||
#endif
|
||||
var_r27 = 4;
|
||||
} else {
|
||||
var_r27 = 5;
|
||||
|
||||
Reference in New Issue
Block a user