Commit ad042cf 1 parent 5408f2e commit ad042cf Copy full SHA for ad042cf
File tree 2 files changed +16
-4
lines changed
2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -3381,3 +3381,4 @@ The following changes to date are:
3381
3381
- Fix: monster casting summon minion against another monster
3382
3382
- Fix: spec_applies didn't consider if target was underwater
3383
3383
- Fix: monster priests shouldn't wield edged weapons either
3384
+ - Fix: reactivate offhand weapon intrinsics when catching a returning weapon
Original file line number Diff line number Diff line change @@ -1419,7 +1419,11 @@ boolean twoweap; /* used to restore twoweapon mode if wielded weapon returns */
1419
1419
if (obj -> owornmask & W_QUIVER ) /* in case addinv() autoquivered */
1420
1420
setuqwep ((struct obj * ) 0 );
1421
1421
setuwep (obj );
1422
- u .twoweap = twoweap ;
1422
+ if (twoweap ) {
1423
+ u .twoweap = 1 ;
1424
+ setuswapwep (uswapwep );
1425
+ update_inventory ();
1426
+ }
1423
1427
if (artifact_light (obj ) && !obj -> lamplit ) {
1424
1428
begin_burn (obj , FALSE);
1425
1429
if (!Blind )
@@ -1450,8 +1454,11 @@ boolean twoweap; /* used to restore twoweapon mode if wielded weapon returns */
1450
1454
(void ) encumber_msg ();
1451
1455
if (wep_mask && !(obj -> owornmask & wep_mask )) {
1452
1456
setworn (obj , wep_mask );
1453
- /* moot; can no longer two-weapon with missile(s) */
1454
- u .twoweap = twoweap ;
1457
+ if (twoweap ) {
1458
+ u .twoweap = 1 ;
1459
+ setuswapwep (uswapwep );
1460
+ update_inventory ();
1461
+ }
1455
1462
}
1456
1463
clear_thrownobj = TRUE;
1457
1464
goto throwit_return ;
@@ -1635,7 +1642,11 @@ boolean twoweap; /* used to restore twoweapon mode if wielded weapon returns */
1635
1642
if (obj -> owornmask & W_QUIVER )
1636
1643
setuqwep ((struct obj * ) 0 );
1637
1644
setuwep (obj );
1638
- u .twoweap = twoweap ;
1645
+ if (twoweap ) {
1646
+ u .twoweap = 1 ;
1647
+ setuswapwep (uswapwep );
1648
+ update_inventory ();
1649
+ }
1639
1650
retouch_object (& obj , !uarmg , TRUE);
1640
1651
if (artifact_light (obj ) && !obj -> lamplit ) {
1641
1652
begin_burn (obj , FALSE);
You can’t perform that action at this time.
0 commit comments