A while ago i posted a bug about EP regening
https://forum.megaglest.org/index.php?topic=7467.0Although ep is now fixed, Hp is now doing the same thing. Regening twice the amount specified.
Xml of egyptian spearman you could test with:
<?xml version="1.0" standalone="no"?>
<unit>
<parameters>
<size value="1"/>
<height value="2"/>
<max-hp value="530" regeneration="5"/>
<max-ep value="0"/>
<armor value="16"/>
<armor-type value="leather"/>
<sight value="10"/>
<time value="35"/>
<multi-selection value="true"/>
<cellmap value="false"/>
<levels>
<level name="elite" kills="3"/>
</levels>
<fields>
<field value="land"/>
</fields>
<properties/>
<light enabled="false"/>
<unit-requirements>
<unit name="desert_camp"/>
</unit-requirements>
<upgrade-requirements/>
<resource-requirements>
<resource name="wood" amount="25"/>
<resource name="gold" amount="50"/>
<resource name="food" amount="1"/>
</resource-requirements>
<resources-stored/>
<image path="images/swordman.bmp"/>
<image-cancel path="../spearman/images/tech_cancel.bmp"/>
<meeting-point value="false"/>
<selection-sounds enabled="true">
<sound path="sounds/spearman_select1.wav"/>
<sound path="sounds/spearman_select2.wav"/>
<sound path="sounds/spearman_select3.wav"/>
<sound path="sounds/spearman_select4.wav"/>
</selection-sounds>
<command-sounds enabled="true">
<sound path="sounds/spearman_ack1.wav"/>
<sound path="sounds/spearman_ack2.wav"/>
<sound path="sounds/spearman_ack3.wav"/>
<sound path="sounds/spearman_ack4.wav"/>
<sound path="sounds/spearman_ack5.wav"/>
<sound path="sounds/spearman_ack6.wav"/>
</command-sounds>
</parameters>
<skills>
<skill>
<type value="stop"/>
<name value="stop_skill"/>
<ep-cost value="0"/>
<speed value="1000"/>
<anim-speed value="45"/>
<animation path="models/spearman_standing.g3d"/>
<sound enabled="false"/>
</skill>
<skill>
<type value="move"/>
<name value="move_skill"/>
<ep-cost value="0"/>
<speed value="220"/>
<anim-speed value="90"/>
<animation path="models/spearman_charging.g3d"/>
<sound enabled="false"/>
</skill>
<skill>
<type value="move"/>
<name value="charge_skill"/>
<ep-cost value="0"/>
<speed value="220"/>
<anim-speed value="125"/>
<animation path="models/spearman_charging.g3d"/>
<sound enabled="false"/>
</skill>
<skill>
<type value="attack"/>
<name value="attack_skill"/>
<ep-cost value="0"/>
<speed value="100"/>
<anim-speed value="100"/>
<animation path="models/spearman_attacking.g3d"/>
<sound enabled="true" start-time="0.20">
<sound-file path="sounds/spearman_attack7.wav"/>
<sound-file path="sounds/spearman_attack8.wav"/>
<sound-file path="sounds/spearman_attack1.wav"/>
<sound-file path="sounds/spearman_attack2.wav"/>
<sound-file path="sounds/spearman_attack3.wav"/>
<sound-file path="sounds/spearman_attack4.wav"/>
<sound-file path="sounds/spearman_attack5.wav"/>
<sound-file path="sounds/spearman_attack6.wav"/>
<sound-file path="sounds/spearman_attack9.wav"/>
</sound>
<attack-strenght value="80"/>
<attack-var value="30"/>
<attack-range value="1"/>
<attack-type value="slashing"/>
<attack-fields>
<field value="land"/>
</attack-fields>
<attack-start-time value="0"/>
<projectile value="false"/>
<splash value="false"/>
</skill>
<skill>
<type value="morph"/>
<name value="morph_skill"/>
<ep-cost value="0"/>
<speed value="500"/>
<anim-speed value="80"/>
<animation path="models/spearman_standing.g3d"/>
<sound enabled="false"/>
</skill>
<skill>
<type value="die"/>
<name value="die_skill"/>
<ep-cost value="0"/>
<speed value="60"/>
<anim-speed value="40"/>
<animation path="models/spearman_dying.g3d"/>
<sound enabled="true" start-time="0">
<sound-file path="sounds/spearman_die1.wav"/>
<sound-file path="sounds/spearman_die2.wav"/>
<sound-file path="sounds/spearman_die3.wav"/>
</sound>
<fade value="false"/>
</skill>
</skills>
<commands>
<command>
<type value="stop"/>
<name value="stop"/>
<image path="../spearman/images/tech_stop.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<stop-skill value="stop_skill"/>
</command>
<command>
<type value="move"/>
<name value="move"/>
<image path="../spearman/images/tech_move.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="move_skill"/>
</command>
<command>
<type value="attack"/>
<name value="attack"/>
<image path="images/swordman_attack.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="charge_skill"/>
<attack-skill value="attack_skill"/>
</command>
<!--command>
<type value="attack_stopped"/>
<name value="hold_position"/>
<image path="../spearman/images/tech_hold.bmp"/>
<unit-requirements/>
<upgrade-requirements>
<upgrade name="training_field"/>
</upgrade-requirements>
<stop-skill value="stop_skill"/>
<attack-skill value="attack_skill"/>
</comman->
<command>
<type value="morph"/>
<name value="promote_to_guard"/>
<image path="../guard/images/guard.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<morph-skill value="morph_skill"/>
<morph-unit name= "guard"/>
<discount value="60"/>
</command-->
</commands>
</unit>
He should regenerate 5 hp per tick but instead generates 10 per tick.
Thank You!