timeout_leadtime = 0;
delete(this);
+
+ // ReadyCount() does nothing when a timeout is active or pending
+ // so check readiness now to support g_warmup_allow_timeout
+ if (warmup_stage) ReadyCount();
}
void timeout_handler_think(entity this)
string mon_oldname = mon.monster_name;
mon.monster_name = argument;
- if (mon.sprite) WaypointSprite_UpdateSprites(mon.sprite, WP_Monster, WP_Null, WP_Null);
+ if (mon.sprite) WaypointSprite_UpdateSprites(mon.sprite, WP_Monster, WP_Null, WP_Null); // TODO: the new name is never actually sent to CSQC!
print_to(caller, sprintf("Your pet '%s' is now known as '%s'", mon_oldname, mon.monster_name));
return;
}
timeout_status = TIMEOUT_INACTIVE;
timeout_time = 0;
timeout_handler.nextthink = time; // timeout_handler has to take care of it immediately
+ Kill_Notification(NOTIF_ALL, NULL, MSG_CENTER, CPID_TIMEOUT);
bprint(strcat("^7The timeout was aborted by ", GetCallerName(caller), " !\n"));
return;
}