ID:2153300
 
mob
verb
BlendTest()
var/icon/i=new('BaseM.dmi',"effect")//arm missing filled outline
var/icon/playericon=new(src.icon)//copy of playersicon
playericon+=rgb(255,255,255)//Make player icon pure white
playericon.Blend(i,ICON_OVERLAY)//puts black arm overlaying over real arm
playericon.SwapColor(rgb(0,0,0),null)//Removes the black arm
var/obj/removearm=new
appearance_flags=KEEP_TOGETHER
removearm.icon=playericon//set its icon to the white shape of mob without arm
blend_mode=BLEND_MULTIPLY//helps crops player the dimensions of icon with no arm
overlays+=removearm


My goal is to eventually make this code use not a single icon operation.

So there is pure white filled mob outline with an arm missing. I'm using blend_multiple to crop the players icon to the filled outline. The problem is the blend_mode=multiply is also applying to the turfs below it. I was told appearance_flags=KEEP_TOGETHER would prevent this from happening
Right now you're taking the player's base icon, overlaying a white and black texture, and them multiplying the end result to the ground.

Do it the other way around. Make src's appearance the black and white icon and multiply the original texture onto that. The goal is to have the BLEND_MULTIPLY object not also be the one with KEEP_TOGETHER.
mob
verb
BlendTest()
var/icon/i=new('BaseM.dmi',"effect")//arm missing filled outline
var/icon/playericon=new(src.icon)//copy of playersicon
playericon+=rgb(255,255,255)//Make player icon pure white
playericon.Blend(i,ICON_OVERLAY)//puts black arm overlaying over real arm
playericon.SwapColor(rgb(0,0,0),null)//Removes the black arm
var/obj/removearm=new
appearance_flags=KEEP_TOGETHER
blend_mode=BLEND_ADD//crops player the dimensions of icon with no arm
removearm.blend_mode=BLEND_MULTIPLY//crops player the dimensions of icon with no arm
removearm.icon='BaseM.dmi'
src.icon=playericon
overlays+=removearm



Wasn't successful.