@hytopia.com/examples 1.0.20 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2820,11 +2820,7 @@ window.ItemTooltips = (function() {
|
|
|
2820
2820
|
body.mobile .dialogue-content {
|
|
2821
2821
|
padding: 12px;
|
|
2822
2822
|
max-height: calc(100vh - 140px);
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
body.mobile .dialogue-content * {
|
|
2826
|
-
overflow-y: scroll;
|
|
2827
|
-
|
|
2823
|
+
overflow-y: auto;
|
|
2828
2824
|
}
|
|
2829
2825
|
|
|
2830
2826
|
body.mobile .dialogue-message {
|
|
@@ -2846,9 +2842,38 @@ window.ItemTooltips = (function() {
|
|
|
2846
2842
|
height: 14px;
|
|
2847
2843
|
}
|
|
2848
2844
|
|
|
2845
|
+
/* AGGRESSIVE override of global touch-action: none for dialogue */
|
|
2846
|
+
body.mobile .dialogue-overlay,
|
|
2847
|
+
body.mobile .dialogue-panel,
|
|
2848
|
+
body.mobile .dialogue-container,
|
|
2849
|
+
body.mobile .dialogue-header,
|
|
2850
|
+
body.mobile .dialogue-content,
|
|
2851
|
+
body.mobile .dialogue-options,
|
|
2849
2852
|
body.mobile .dialogue-option,
|
|
2850
2853
|
body.mobile .dialogue-close {
|
|
2851
2854
|
touch-action: manipulation !important;
|
|
2855
|
+
pointer-events: auto !important;
|
|
2856
|
+
-webkit-touch-callout: default !important;
|
|
2857
|
+
-webkit-user-select: auto !important;
|
|
2858
|
+
user-select: auto !important;
|
|
2859
|
+
}
|
|
2860
|
+
|
|
2861
|
+
/* Force touch events on all dialogue interactive elements */
|
|
2862
|
+
body.mobile .dialogue-option,
|
|
2863
|
+
body.mobile .dialogue-option *,
|
|
2864
|
+
body.mobile .dialogue-close,
|
|
2865
|
+
body.mobile .dialogue-close *,
|
|
2866
|
+
body.mobile .dialogue-quest-icon,
|
|
2867
|
+
body.mobile .dialogue-option-text {
|
|
2868
|
+
touch-action: manipulation !important;
|
|
2869
|
+
pointer-events: auto !important;
|
|
2870
|
+
cursor: pointer !important;
|
|
2871
|
+
}
|
|
2872
|
+
|
|
2873
|
+
/* Only allow scrolling on message content */
|
|
2874
|
+
body.mobile .dialogue-message {
|
|
2875
|
+
touch-action: pan-y !important;
|
|
2876
|
+
overflow-y: auto;
|
|
2852
2877
|
}
|
|
2853
2878
|
</style>
|
|
2854
2879
|
|
|
@@ -3933,6 +3958,27 @@ window.ItemTooltips = (function() {
|
|
|
3933
3958
|
transform: translateX(-50%) !important;
|
|
3934
3959
|
}
|
|
3935
3960
|
|
|
3961
|
+
/* Override global touch-action: none for quest interactions */
|
|
3962
|
+
body.mobile .quests-close,
|
|
3963
|
+
body.mobile .quests-item {
|
|
3964
|
+
touch-action: manipulation !important;
|
|
3965
|
+
pointer-events: auto !important;
|
|
3966
|
+
}
|
|
3967
|
+
|
|
3968
|
+
/* Ensure quest containers allow touch events */
|
|
3969
|
+
body.mobile .quests-container,
|
|
3970
|
+
body.mobile .quests-sidebar,
|
|
3971
|
+
body.mobile .quests-details-panel,
|
|
3972
|
+
body.mobile .quests-list,
|
|
3973
|
+
body.mobile .quests-section {
|
|
3974
|
+
touch-action: manipulation !important;
|
|
3975
|
+
}
|
|
3976
|
+
|
|
3977
|
+
/* Override global mobile touch rules for interactive quest elements */
|
|
3978
|
+
body.mobile .quests-sidebar *:not(.quests-section-title):not(.quests-empty-section) {
|
|
3979
|
+
touch-action: manipulation !important;
|
|
3980
|
+
}
|
|
3981
|
+
|
|
3936
3982
|
|
|
3937
3983
|
</style>
|
|
3938
3984
|
|
|
@@ -418,11 +418,7 @@
|
|
|
418
418
|
body.mobile .dialogue-content {
|
|
419
419
|
padding: 12px;
|
|
420
420
|
max-height: calc(100vh - 140px);
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
body.mobile .dialogue-content * {
|
|
424
|
-
overflow-y: scroll;
|
|
425
|
-
|
|
421
|
+
overflow-y: auto;
|
|
426
422
|
}
|
|
427
423
|
|
|
428
424
|
body.mobile .dialogue-message {
|
|
@@ -444,8 +440,37 @@
|
|
|
444
440
|
height: 14px;
|
|
445
441
|
}
|
|
446
442
|
|
|
443
|
+
/* AGGRESSIVE override of global touch-action: none for dialogue */
|
|
444
|
+
body.mobile .dialogue-overlay,
|
|
445
|
+
body.mobile .dialogue-panel,
|
|
446
|
+
body.mobile .dialogue-container,
|
|
447
|
+
body.mobile .dialogue-header,
|
|
448
|
+
body.mobile .dialogue-content,
|
|
449
|
+
body.mobile .dialogue-options,
|
|
447
450
|
body.mobile .dialogue-option,
|
|
448
451
|
body.mobile .dialogue-close {
|
|
449
452
|
touch-action: manipulation !important;
|
|
453
|
+
pointer-events: auto !important;
|
|
454
|
+
-webkit-touch-callout: default !important;
|
|
455
|
+
-webkit-user-select: auto !important;
|
|
456
|
+
user-select: auto !important;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
/* Force touch events on all dialogue interactive elements */
|
|
460
|
+
body.mobile .dialogue-option,
|
|
461
|
+
body.mobile .dialogue-option *,
|
|
462
|
+
body.mobile .dialogue-close,
|
|
463
|
+
body.mobile .dialogue-close *,
|
|
464
|
+
body.mobile .dialogue-quest-icon,
|
|
465
|
+
body.mobile .dialogue-option-text {
|
|
466
|
+
touch-action: manipulation !important;
|
|
467
|
+
pointer-events: auto !important;
|
|
468
|
+
cursor: pointer !important;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/* Only allow scrolling on message content */
|
|
472
|
+
body.mobile .dialogue-message {
|
|
473
|
+
touch-action: pan-y !important;
|
|
474
|
+
overflow-y: auto;
|
|
450
475
|
}
|
|
451
476
|
</style>
|
|
@@ -1078,5 +1078,26 @@
|
|
|
1078
1078
|
transform: translateX(-50%) !important;
|
|
1079
1079
|
}
|
|
1080
1080
|
|
|
1081
|
+
/* Override global touch-action: none for quest interactions */
|
|
1082
|
+
body.mobile .quests-close,
|
|
1083
|
+
body.mobile .quests-item {
|
|
1084
|
+
touch-action: manipulation !important;
|
|
1085
|
+
pointer-events: auto !important;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
/* Ensure quest containers allow touch events */
|
|
1089
|
+
body.mobile .quests-container,
|
|
1090
|
+
body.mobile .quests-sidebar,
|
|
1091
|
+
body.mobile .quests-details-panel,
|
|
1092
|
+
body.mobile .quests-list,
|
|
1093
|
+
body.mobile .quests-section {
|
|
1094
|
+
touch-action: manipulation !important;
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
/* Override global mobile touch rules for interactive quest elements */
|
|
1098
|
+
body.mobile .quests-sidebar *:not(.quests-section-title):not(.quests-empty-section) {
|
|
1099
|
+
touch-action: manipulation !important;
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1081
1102
|
|
|
1082
1103
|
</style>
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import BaseQuest, { QuestObjective, QuestNpcDialogueInteraction } from '../BaseQuest';
|
|
2
2
|
import { SkillId } from '../../config';
|
|
3
|
-
|
|
4
3
|
import type GamePlayer from '../../GamePlayer';
|
|
4
|
+
import type GamePlayerEntity from '../../GamePlayerEntity';
|
|
5
5
|
|
|
6
6
|
import { BaseItemPlayerEvent } from '../../items/BaseItem';
|
|
7
7
|
import type { BaseItemPlayerEventPayloads } from '../../items/BaseItem';
|
|
8
8
|
|
|
9
9
|
import BlightedRootItem from '../../items/materials/BlightedRootItem';
|
|
10
|
+
import HealerMycelisEntity from '../../regions/stalkhaven/npcs/HealerMycelisEntity';
|
|
10
11
|
|
|
11
12
|
export default class BlightedHarvestQuest extends BaseQuest {
|
|
12
13
|
static readonly id = 'blighted-harvest';
|
|
@@ -36,7 +37,26 @@ export default class BlightedHarvestQuest extends BaseQuest {
|
|
|
36
37
|
];
|
|
37
38
|
|
|
38
39
|
static readonly dialogueInteractions: QuestNpcDialogueInteraction[] = [
|
|
39
|
-
|
|
40
|
+
{
|
|
41
|
+
npcClass: HealerMycelisEntity,
|
|
42
|
+
dialogueOption: {
|
|
43
|
+
text: 'Scout Morel asked me to bring you these... things. What are they?',
|
|
44
|
+
nextDialogue: {
|
|
45
|
+
text: '[Frontiers Developers]: Well, this is embarrassing.. You reached the end of the v0.1.0 early alpha content! But have no fear, we will release a another big content update next week, with weekly content updates to follow. With the next update, you can come back and talk to Healer Mycelis and progress!',
|
|
46
|
+
options: [
|
|
47
|
+
{
|
|
48
|
+
text: `I see, I'll be back next week for the update!`,
|
|
49
|
+
dismiss: true,
|
|
50
|
+
pureExit: true,
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
enabledForInteractor: (interactor: GamePlayerEntity) => {
|
|
56
|
+
return interactor.gamePlayer.questLog.isQuestActive(this.id) &&
|
|
57
|
+
interactor.gamePlayer.questLog.isQuestObjectiveCompleted(this.id, 'collect-blighted-roots');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
40
60
|
];
|
|
41
61
|
|
|
42
62
|
public static setupForPlayer(gamePlayer: GamePlayer): () => void {
|