| 3113 | #define H_MELEE_DIST 50.0f |
| 3114 | |
| 3115 | void Humonculous::DetermineDeathPos(int me, vector *dpos, int *droom) { |
| 3116 | float best_dist = 100000000.0f; |
| 3117 | int best_dp; |
| 3118 | vector dp[6]; |
| 3119 | int dr[6]; |
| 3120 | int i; |
| 3121 | |
| 3122 | vector mpos; |
| 3123 | Obj_Value(me, VF_GET, OBJV_V_POS, &mpos); |
| 3124 | |
| 3125 | Obj_Value(Scrpt_FindObjectName("SafeDeath01"), VF_GET, OBJV_V_POS, &dp[0]); |
| 3126 | Obj_Value(Scrpt_FindObjectName("SafeDeath01"), VF_GET, OBJV_I_ROOMNUM, &dr[0]); |
| 3127 | Obj_Value(Scrpt_FindObjectName("SafeDeath02"), VF_GET, OBJV_V_POS, &dp[1]); |
| 3128 | Obj_Value(Scrpt_FindObjectName("SafeDeath02"), VF_GET, OBJV_I_ROOMNUM, &dr[1]); |
| 3129 | Obj_Value(Scrpt_FindObjectName("SafeDeath03"), VF_GET, OBJV_V_POS, &dp[2]); |
| 3130 | Obj_Value(Scrpt_FindObjectName("SafeDeath03"), VF_GET, OBJV_I_ROOMNUM, &dr[2]); |
| 3131 | Obj_Value(Scrpt_FindObjectName("SafeDeath04"), VF_GET, OBJV_V_POS, &dp[3]); |
| 3132 | Obj_Value(Scrpt_FindObjectName("SafeDeath04"), VF_GET, OBJV_I_ROOMNUM, &dr[3]); |
| 3133 | Obj_Value(Scrpt_FindObjectName("SafeDeath05"), VF_GET, OBJV_V_POS, &dp[4]); |
| 3134 | Obj_Value(Scrpt_FindObjectName("SafeDeath05"), VF_GET, OBJV_I_ROOMNUM, &dr[4]); |
| 3135 | Obj_Value(Scrpt_FindObjectName("SafeDeath06"), VF_GET, OBJV_V_POS, &dp[5]); |
| 3136 | Obj_Value(Scrpt_FindObjectName("SafeDeath06"), VF_GET, OBJV_I_ROOMNUM, &dr[5]); |
| 3137 | |
| 3138 | for (i = 0; i < 6; i++) { |
| 3139 | dp[i].y = -440.0f; |
| 3140 | |
| 3141 | float cur_dist = vm_VectorDistance(&mpos, &dp[i]); |
| 3142 | |
| 3143 | if (cur_dist < best_dist) { |
| 3144 | *dpos = dp[i]; |
| 3145 | *droom = dr[i]; |
| 3146 | best_dist = cur_dist; |
| 3147 | } |
| 3148 | } |
| 3149 | } |
| 3150 | |
| 3151 | bool Humonculous::DoNotify(int me, tOSIRISEventInfo *data) { |
| 3152 | switch (memory->mode) { |
nothing calls this directly
no test coverage detected