private int fnGetPos(SwordObject cpt, int id, int targetId, int b, int c, int d, int z, int x)
{
SwordObject target = _objMan.FetchObject((uint)targetId);
if ((target.type == Screen.TYPE_MEGA) || (target.type == Screen.TYPE_PLAYER))
{
ScriptVars[(int)ScriptVariableNames.RETURN_VALUE] = (uint)target.xcoord;
ScriptVars[(int)ScriptVariableNames.RETURN_VALUE_2] = (uint)target.ycoord;
}
else
{
ScriptVars[(int)ScriptVariableNames.RETURN_VALUE] = (uint)((target.mouse_x1 + target.mouse_x2) / 2);
ScriptVars[(int)ScriptVariableNames.RETURN_VALUE_2] = (uint)target.mouse_y2;
}
ScriptVars[(int)ScriptVariableNames.RETURN_VALUE_3] = (uint)target.dir;
int megaSeperation;
if (targetId == DUANE)
megaSeperation = 70; // George & Duane stand with feet 70 pixels apart when at full scale
else if (targetId == BENOIR)
megaSeperation = 61; // George & Benoir
else
megaSeperation = 42; // George & Nico/Goinfre stand with feet 42 pixels apart when at full scale
if ((target.status & STAT_SHRINK) != 0)
{
int scale = (target.scale_a * target.ycoord + target.scale_b) / 256;
ScriptVars[(int)ScriptVariableNames.RETURN_VALUE_4] = (uint)((megaSeperation * scale) / 256);
}
else
ScriptVars[(int)ScriptVariableNames.RETURN_VALUE_4] = (uint)megaSeperation;
return SCRIPT_CONT;
}