private bool OnUseTeleporterListener(uint actorDynID, Core.GS.Map.World world) { if (world.HasActor(actorDynID)) { var actor = world.GetActorByDynamicId(actorDynID); // it is not null :p //Logger.Debug(" supposed portal has type {3} has name {0} and state {1} , has gizmo been operated ? {2} ", actor.NameSNOId, actor.Attributes[Net.GS.Message.GameAttribute.Gizmo_State], actor.Attributes[Net.GS.Message.GameAttribute.Gizmo_Has_Been_Operated], actor.GetType()); while (true) { if (actor.Attributes[Net.GS.Message.GameAttribute.Gizmo_Has_Been_Operated]) { world.Game.Quests.Advance(72095); foreach (var playerN in world.Players) { var dbQuestProgress = DBSessions.AccountSession.Get <DBProgressToon>(playerN.Value.Toon.PersistentID); dbQuestProgress.ActiveQuest = 72095; dbQuestProgress.StepOfQuest = 2; DBSessions.AccountSession.SaveOrUpdate(dbQuestProgress); DBSessions.AccountSession.Flush(); } break; } } } return(true); }
private bool OnUseTeleporterListener(uint actorDynID, Core.GS.Map.World world) { if (world.HasActor(actorDynID)) { var actor = world.GetActorByDynamicId(actorDynID); // it is not null :p //Logger.Debug(" supposed portal has type {3} has name {0} and state {1} , has gizmo been operated ? {2} ", actor.NameSNOId, actor.Attributes[Net.GS.Message.GameAttribute.Gizmo_State], actor.Attributes[Net.GS.Message.GameAttribute.Gizmo_Has_Been_Operated], actor.GetType()); while (true) { if (actor.Attributes[Net.GS.Message.GameAttribute.Gizmo_Has_Been_Operated] == true) { world.Game.Quests.Advance(72095); foreach (var playerN in world.Players.Values) { playerN.Toon.ActiveQuest = 72095; //dbQuestProgress.StepIDofQuest = 28; } break; } } } return(true); }