ID:2256292
 
(See the best response by Kaiochao.)
Code:
grabbee.liftlb -= (drainlift = grabbee.liftlb / 20)
grabbee.health -= (drainhealth = grabbee.health / 10)


Problem description:
The code above has a missing expression error on both lines.
I recieved it as a help understanding a further coding that i'll display below.

mob/skills/verb/Bio_Extract()
set category="Abilities"
set name="Bio Extract"
grabbee = locate(/mob) in get_step(usr,dir)
if(grabbee)
var/repeat = 26, drainlift, drainhealth
view() << "[usr] is absorbing [grabbee]'s Bio Extract!"
while(repeat--)
if(!grabbee)
return
grabbee.liftlb -= (drainlift = grabbee.liftlb / 20)
grabbee.health -= (drainhealth = grabbee.health / 10)
usr.liftlb += drainlift
usr.health += drainhealth
if(grabbee.health <= 1000)
grabbee.Death()
sleep(350)


Does anyone know what the missing expression can be? I've tried a few things but im stumped for ideas and humbly come for advice ^_^ (>^-^)>
"drainhealth = " is not valid (same with drainlift)

If you want to do that you'd do something like:

var
drainlift = (grabbee.liftlb/20)
drainhealth = (grabbeee.health/10)

grabbee.liftlb -= drainlift
usr.liftlb += drainlift
grabbee.health -= drainhealth
usr.health += drainhealth
In response to Nadrew
Best response
= is an actual operator in 511, which is what the author of this code (Ter13) is using, but maybe not what LiquidWhip is using.

I recommend updating to the latest version of BYOND... in general.
"drainhealth = " is not valid (same with drainlift)

It is valid.
It is now, yeah, my bad. However, that makes for some really hard to read code, so I'm not sure if I'd do that over the other way purely for the sake of readability later on.
Thanks guys. I can't begin to tell you how much i appreciate you. I managed to pull it together and make it work.