~~NOTOC~~
<=[[4rpl:start| Index]]
* [[4rpl:commands:getUnitWantsERN|Get]]
* [[4rpl:commands:setUnitWantsERN|Set]]
:!: Available in version 2.5 and later.
====== SetUnitWantsERN ======
SetUnitWantsERN(<-UID, <-wantsERN)
===== Description =====
Sets whether the unit with the specified UID desires an ERN. Pass `true` to make the unit desire ERN, or `false` to indicate it does not.
===== Examples =====
# need worked example
===== Workaround for SetUnitWantsErn(<-uid 0) =====
# A unit that has an ERN slotted and receives the 4rpl command to "not want an ERN",
# will not actually unequip the ERN. As a workaround, it is possible to destroy the unit
# and recreate it without the ERN. That's what this function is for.
<-uid GetUnitWantsErn not <-uid GetUnitErnState AND if
<-uid @freeErnFromUnit
endif
:freeErnFromUnit
->UID
<-UID getunitconstructingdata ev2 pop dup -1 eq if pop 999 endif ->buildResources
<-UID getunittype <-UID getunitposition <-UID getunitsettings createunit dup ->newUID <-buildResources constructunit
# Resources that are on the way to the old unit will be lost.
# Enable/disable the settings that you don't need by commenting them out.
<-newUID <-UID
# dup2 getunitmaxammo setunitmaxammo
dup2 getunitammo setunitammo
dup2 getunitcandestroy setunitcandestroy
dup2 getunitselectable setunitselectable
dup2 getunitenabled setunitenabled
dup2 getunitarmed setunitarmed
dup2 getunitsupplied setunitsupplied
# dup2 getunithealrate setunithealrate
# dup2 getunitmaxhealth setunitmaxhealth
dup2 getunithealth setunithealth
# dup2 getunitrange setunitrange
dup2 getunitstuncount setunitstuncount
dup2 getunitmovecell dup -1 neq if setunitmovecell else pop pop pop pop endif
pop pop
<-UID 1 1 1 destroyunit
<=[[4rpl:start| Index]]