~~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.
Beware that when an ERN is docked to a unit, you can't use this API to have that unit release the ERN by having it no longer want one. See the workaround code if this is a concern.
===== 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	
Just the function (for quick copy and paste):
: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]]