diff --git a/blastmud_game/src/message_handler/user_commands/attack.rs b/blastmud_game/src/message_handler/user_commands/attack.rs
index d638f449..49f5995f 100644
--- a/blastmud_game/src/message_handler/user_commands/attack.rs
+++ b/blastmud_game/src/message_handler/user_commands/attack.rs
@@ -4,22 +4,87 @@ use async_trait::async_trait;
use ansi::ansi;
use std::time;
use crate::{
- services::broadcast_to_room,
+ services::{broadcast_to_room, skills::skill_check_and_grind},
db::{DBTrans, ItemSearchParams},
- models::{item::{Item, LocationActionType, Subattack}},
+ models::{
+ item::{Item, LocationActionType, Subattack, SkillType},
+ task::{Task, TaskMeta, TaskDetails}
+ },
+ static_content::{
+ possession_type::{WeaponData, BodyPart, possession_data, fist},
+ npc::npc_by_code,
+ },
regular_tasks::{TaskRunContext, TaskHandler},
DResult
};
use async_recursion::async_recursion;
+use chrono::Utc;
+#[derive(Clone)]
pub struct AttackTaskHandler;
#[async_trait]
impl TaskHandler for AttackTaskHandler {
- async fn do_task(&self, _ctx: &mut TaskRunContext) -> DResult