further improve additional glob interaction scenarios within a shop

Scenarios:
1. shop_owned glob merging into shop_owned glob
2. player_owned glob merging into shop_owned glob
3. shop_owned glob merging into player_owned glob
4. player_owned glob merging into player_owned glob
This commit is contained in:
nhmall
2019-05-18 16:24:48 -04:00
parent a19e64e470
commit 670fc9ca34
5 changed files with 117 additions and 68 deletions

View File

@@ -3581,11 +3581,7 @@ register struct obj *otmp, *obj;
if (obj->oclass == COIN_CLASS)
return TRUE;
if (obj->unpaid != otmp->unpaid || obj->spe != otmp->spe
|| obj->cursed != otmp->cursed || obj->blessed != otmp->blessed
|| obj->no_charge != otmp->no_charge || obj->obroken != otmp->obroken
|| obj->otrapped != otmp->otrapped || obj->lamplit != otmp->lamplit
|| obj->bypass != otmp->bypass)
if (obj->bypass != otmp->bypass)
return FALSE;
if (obj->globby)
@@ -3594,6 +3590,12 @@ register struct obj *otmp, *obj;
* or don't inhibit their merger.
*/
if (obj->unpaid != otmp->unpaid || obj->spe != otmp->spe
|| obj->cursed != otmp->cursed || obj->blessed != otmp->blessed
|| obj->no_charge != otmp->no_charge || obj->obroken != otmp->obroken
|| obj->otrapped != otmp->otrapped || obj->lamplit != otmp->lamplit)
return FALSE;
if (obj->oclass == FOOD_CLASS
&& (obj->oeaten != otmp->oeaten || obj->orotten != otmp->orotten))
return FALSE;