Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
ziqian zhang
Grasscutter
Commits
02a56fce
Commit
02a56fce
authored
Jul 23, 2022
by
akatatsu27
Browse files
Major questing improvements
parent
89717f3c
Changes
35
Show whitespace changes
Inline
Side-by-side
src/main/java/emu/grasscutter/data/GameData.java
View file @
02a56fce
...
...
@@ -108,6 +108,8 @@ public class GameData {
@Getter
private
static
final
Int2ObjectMap
<
MusicGameBasicData
>
musicGameBasicDataMap
=
new
Int2ObjectOpenHashMap
<>();
@Getter
private
static
final
Int2ObjectMap
<
PersonalLineData
>
personalLineDataMap
=
new
Int2ObjectOpenHashMap
<>();
@Getter
private
static
final
Int2ObjectMap
<
ChapterData
>
chapterDataMap
=
new
Int2ObjectOpenHashMap
<>();
@Getter
private
static
final
Int2ObjectMap
<
TriggerExcelConfigData
>
triggerExcelConfigDataMap
=
new
Int2ObjectOpenHashMap
<>();
@Getter
private
static
final
Map
<
String
,
ScriptSceneData
>
scriptSceneDataMap
=
new
HashMap
<>();
// Cache
private
static
Map
<
Integer
,
List
<
Integer
>>
fetters
=
new
HashMap
<>();
...
...
src/main/java/emu/grasscutter/data/binout/ScriptSceneData.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.data.binout
;
import
com.google.gson.annotations.SerializedName
;
import
emu.grasscutter.scripts.data.SceneGroup
;
import
emu.grasscutter.utils.Position
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
ScriptSceneData
{
Map
<
String
,
ScriptObject
>
scriptObjectList
;
@Data
public
static
class
ScriptObject
{
//private SceneGroup groups;
@SerializedName
(
"dummy_points"
)
private
Map
<
String
,
List
<
Float
>>
dummyPoints
;
}
}
src/main/java/emu/grasscutter/data/excels/TriggerExcelConfigData.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.data.excels
;
import
emu.grasscutter.data.GameResource
;
import
emu.grasscutter.data.ResourceType
;
import
lombok.Getter
;
@ResourceType
(
name
=
"TriggerExcelConfigData.json"
)
@Getter
public
class
TriggerExcelConfigData
extends
GameResource
{
@Getter
private
int
id
;
private
int
sceneId
;
private
int
groupId
;
private
String
triggerName
;
}
src/main/java/emu/grasscutter/game/entity/EntityRegion.java
View file @
02a56fce
...
...
@@ -15,6 +15,7 @@ import java.util.concurrent.ConcurrentHashMap;
public
class
EntityRegion
extends
GameEntity
{
private
final
Position
position
;
private
boolean
hasNewEntities
;
private
boolean
entityLeave
;
private
final
Set
<
Integer
>
entities
;
// Ids of entities inside this region
private
final
SceneRegion
metaRegion
;
...
...
@@ -45,10 +46,17 @@ public class EntityRegion extends GameEntity{
hasNewEntities
=
false
;
}
public
void
removeEntity
(
int
entityId
)
{
this
.
getEntities
().
remove
(
entityId
);
this
.
entityLeave
=
true
;
}
public
void
removeEntity
(
GameEntity
entity
)
{
this
.
getEntities
().
remove
(
entity
.
getId
());
this
.
entityLeave
=
true
;
}
public
boolean
entityLeave
()
{
return
this
.
entityLeave
;}
public
void
resetEntityLeave
()
{
this
.
entityLeave
=
false
;}
@Override
public
Int2FloatOpenHashMap
getFightProperties
()
{
return
null
;
...
...
src/main/java/emu/grasscutter/game/quest/QuestSystem.java
View file @
02a56fce
...
...
@@ -65,8 +65,8 @@ public class QuestSystem extends BaseGameSystem {
public
boolean
triggerCondition
(
GameQuest
quest
,
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
QuestBaseHandler
handler
=
condHandlers
.
get
(
condition
.
getType
().
getValue
());
if
(
handler
==
null
||
quest
.
getData
()
==
null
)
{
Grasscutter
.
getLogger
().
debug
(
"Could not trigger condition {} at {}"
,
condition
.
getType
().
getValue
(),
quest
.
getData
());
if
(
handler
==
null
||
quest
.
get
Quest
Data
()
==
null
)
{
Grasscutter
.
getLogger
().
debug
(
"Could not trigger condition {} at {}"
,
condition
.
getType
().
getValue
(),
quest
.
get
Quest
Data
());
return
false
;
}
...
...
@@ -76,8 +76,8 @@ public class QuestSystem extends BaseGameSystem {
public
boolean
triggerContent
(
GameQuest
quest
,
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
QuestBaseHandler
handler
=
contHandlers
.
get
(
condition
.
getType
().
getValue
());
if
(
handler
==
null
||
quest
.
getData
()
==
null
)
{
Grasscutter
.
getLogger
().
debug
(
"Could not trigger content {} at {}"
,
condition
.
getType
().
getValue
(),
quest
.
getData
());
if
(
handler
==
null
||
quest
.
get
Quest
Data
()
==
null
)
{
Grasscutter
.
getLogger
().
debug
(
"Could not trigger content {} at {}"
,
condition
.
getType
().
getValue
(),
quest
.
get
Quest
Data
());
return
false
;
}
...
...
@@ -87,8 +87,8 @@ public class QuestSystem extends BaseGameSystem {
public
boolean
triggerExec
(
GameQuest
quest
,
QuestExecParam
execParam
,
String
...
params
)
{
QuestExecHandler
handler
=
execHandlers
.
get
(
execParam
.
getType
().
getValue
());
if
(
handler
==
null
||
quest
.
getData
()
==
null
)
{
Grasscutter
.
getLogger
().
debug
(
"Could not trigger exec {} at {}"
,
execParam
.
getType
().
getValue
(),
quest
.
getData
());
if
(
handler
==
null
||
quest
.
get
Quest
Data
()
==
null
)
{
Grasscutter
.
getLogger
().
debug
(
"Could not trigger exec {} at {}"
,
execParam
.
getType
().
getValue
(),
quest
.
get
Quest
Data
());
return
false
;
}
...
...
src/main/java/emu/grasscutter/game/quest/RewindData.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest
;
import
lombok.Data
;
import
lombok.Getter
;
import
java.util.List
;
@Data
public
class
RewindData
{
AvatarData
avatar
;
List
<
Npc
>
npcs
;
@Data
public
static
class
AvatarData
{
@Getter
private
String
pos
;
}
@Data
private
static
class
Npc
{
private
String
script
;
private
int
room_id
;
private
int
data_index
;
private
int
id
;
private
String
pos
;
private
int
scene_id
;
private
String
alias
;
}
}
src/main/java/emu/grasscutter/game/quest/conditions/ConditionCompleteTalk.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.conditions
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.GameData
;
import
emu.grasscutter.data.binout.MainQuestData
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameMainQuest
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_COND_COMPLETE_TALK
)
public
class
ConditionCompleteTalk
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
GameMainQuest
checkMainQuest
=
quest
.
getOwner
().
getQuestManager
().
getMainQuestById
(
condition
.
getParam
()[
0
]/
100
);
if
(
checkMainQuest
==
null
||
GameData
.
getMainQuestDataMap
().
get
(
checkMainQuest
.
getParentQuestId
()).
getTalks
()
==
null
)
{
Grasscutter
.
getLogger
().
debug
(
"Warning: mainQuest {} hasn't been started yet, or has no talks"
,
condition
.
getParam
()[
0
]/
100
);
return
false
;
}
MainQuestData
.
TalkData
talkData
=
checkMainQuest
.
getTalks
().
get
(
Integer
.
valueOf
(
params
[
0
]));
return
talkData
!=
null
||
checkMainQuest
.
getChildQuestById
(
params
[
0
])
!=
null
;
}
}
src/main/java/emu/grasscutter/game/quest/conditions/ConditionQuestGlobalVarEqual.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.conditions
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.player.Player
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_COND_QUEST_GLOBAL_VAR_EQUAL
)
public
class
ConditionQuestGlobalVarEqual
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
Integer
questGlobalVarValue
=
quest
.
getMainQuest
().
getQuestManager
().
getQuestGlobalVarValue
(
Integer
.
valueOf
(
params
[
0
]));
Grasscutter
.
getLogger
().
debug
(
"questGlobarVar {} : {}"
,
params
[
0
],
questGlobalVarValue
);
return
questGlobalVarValue
.
intValue
()
==
params
[
1
];
}
}
\ No newline at end of file
src/main/java/emu/grasscutter/game/quest/conditions/ConditionQuestGlobalVarGreater.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.conditions
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.player.Player
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_COND_QUEST_GLOBAL_VAR_GREATER
)
public
class
ConditionQuestGlobalVarGreater
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
Integer
questGlobalVarValue
=
quest
.
getMainQuest
().
getQuestManager
().
getQuestGlobalVarValue
(
Integer
.
valueOf
(
params
[
0
]));
Grasscutter
.
getLogger
().
debug
(
"questGlobarVar {} : {}"
,
params
[
0
],
questGlobalVarValue
);
return
questGlobalVarValue
.
intValue
()
>
params
[
1
];
}
}
\ No newline at end of file
src/main/java/emu/grasscutter/game/quest/conditions/ConditionQuestGlobalVarLess.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.conditions
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.player.Player
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_COND_QUEST_GLOBAL_VAR_LESS
)
public
class
ConditionQuestGlobalVarLess
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
Integer
questGlobalVarValue
=
quest
.
getMainQuest
().
getQuestManager
().
getQuestGlobalVarValue
(
Integer
.
valueOf
(
params
[
0
]));
Grasscutter
.
getLogger
().
debug
(
"questGlobarVar {} : {}"
,
params
[
0
],
questGlobalVarValue
);
return
questGlobalVarValue
.
intValue
()
<
params
[
1
];
}
}
\ No newline at end of file
src/main/java/emu/grasscutter/game/quest/conditions/ConditionQuestVarEqual.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.conditions
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameMainQuest
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_COND_QUEST_VAR_EQUAL
)
public
class
ConditionQuestVarEqual
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
int
questVarValue
=
quest
.
getMainQuest
().
getQuestVars
()[
params
[
0
]];
Grasscutter
.
getLogger
().
debug
(
"questVar {} : {}"
,
params
[
0
],
questVarValue
);
return
questVarValue
==
params
[
1
];
}
}
src/main/java/emu/grasscutter/game/quest/conditions/ConditionQuestVarGreater.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.conditions
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameMainQuest
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_COND_QUEST_VAR_GREATER
)
public
class
ConditionQuestVarGreater
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
int
questVarValue
=
quest
.
getMainQuest
().
getQuestVars
()[
params
[
0
]];
Grasscutter
.
getLogger
().
debug
(
"questVar {} : {}"
,
params
[
0
],
questVarValue
);
return
questVarValue
>
params
[
1
];
}
}
src/main/java/emu/grasscutter/game/quest/conditions/ConditionQuestVarLess.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.conditions
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameMainQuest
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_COND_QUEST_VAR_LESS
)
public
class
ConditionQuestVarLess
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
int
questVarValue
=
quest
.
getMainQuest
().
getQuestVars
()[
params
[
0
]];
Grasscutter
.
getLogger
().
debug
(
"questVar {} : {}"
,
params
[
0
],
questVarValue
);
return
questVarValue
<
params
[
1
];
}
}
src/main/java/emu/grasscutter/game/quest/conditions/ConditionStateNotEqual.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.conditions
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_COND_STATE_NOT_EQUAL
)
public
class
ConditionStateNotEqual
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
GameQuest
checkQuest
=
quest
.
getOwner
().
getQuestManager
().
getQuestById
(
condition
.
getParam
()[
0
]);
if
(
checkQuest
==
null
)
{
/*
Will spam the console
//Grasscutter.getLogger().debug("Warning: quest {} hasn't been started yet!", condition.getParam()[0]);
*/
return
false
;
}
return
checkQuest
.
getState
().
getValue
()
!=
condition
.
getParam
()[
1
];
}
}
src/main/java/emu/grasscutter/game/quest/content/ContentCompleteAnyTalk.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.content
;
import
emu.grasscutter.data.binout.MainQuestData
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameMainQuest
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_CONTENT_COMPLETE_ANY_TALK
)
public
class
ContentCompleteAnyTalk
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
GameMainQuest
checkMainQuest
=
quest
.
getOwner
().
getQuestManager
().
getMainQuestById
(
params
[
0
]/
100
);
if
(
checkMainQuest
==
null
)
{
return
false
;}
MainQuestData
.
TalkData
talkData
=
checkMainQuest
.
getTalks
().
get
(
Integer
.
valueOf
(
paramStr
));
return
talkData
==
null
||
condition
.
getParamStr
().
contains
(
paramStr
)
||
checkMainQuest
.
getChildQuestById
(
params
[
0
])
!=
null
;
}
}
\ No newline at end of file
src/main/java/emu/grasscutter/game/quest/content/ContentLeaveScene.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.content
;
import
emu.grasscutter.data.excels.QuestData.QuestCondition
;
import
emu.grasscutter.game.player.Player
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_CONTENT_LEAVE_SCENE
)
public
class
ContentLeaveScene
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
return
quest
.
getOwner
().
getScene
().
getPrevScene
()
==
params
[
0
];
}
}
src/main/java/emu/grasscutter/game/quest/content/ContentNotFinishPlot.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.content
;
import
emu.grasscutter.data.binout.MainQuestData
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameMainQuest
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_CONTENT_NOT_FINISH_PLOT
)
public
class
ContentNotFinishPlot
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
GameMainQuest
checkMainQuest
=
quest
.
getOwner
().
getQuestManager
().
getMainQuestById
(
params
[
0
]/
100
);
if
(
checkMainQuest
==
null
)
{
return
false
;}
MainQuestData
.
TalkData
talkData
=
checkMainQuest
.
getTalks
().
get
(
Integer
.
valueOf
(
params
[
0
]));
return
talkData
==
null
;
}
}
src/main/java/emu/grasscutter/game/quest/content/ContentQuestStateNotEqual.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.content
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_CONTENT_QUEST_STATE_NOT_EQUAL
)
public
class
ContentQuestStateNotEqual
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
GameQuest
checkQuest
=
quest
.
getOwner
().
getQuestManager
().
getQuestById
(
params
[
0
]);
if
(
checkQuest
!=
null
)
{
return
checkQuest
.
getState
().
getValue
()
!=
params
[
1
];
}
return
false
;
}
}
\ No newline at end of file
src/main/java/emu/grasscutter/game/quest/content/ContentQuestVarEqual.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.content
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_CONTENT_QUEST_VAR_EQUAL
)
public
class
ContentQuestVarEqual
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
int
questVarValue
=
quest
.
getMainQuest
().
getQuestVars
()[
params
[
0
]];
Grasscutter
.
getLogger
().
debug
(
"questVar {} : {}"
,
params
[
0
],
questVarValue
);
return
questVarValue
==
params
[
1
];
}
}
src/main/java/emu/grasscutter/game/quest/content/ContentQuestVarGreater.java
0 → 100644
View file @
02a56fce
package
emu.grasscutter.game.quest.content
;
import
emu.grasscutter.Grasscutter
;
import
emu.grasscutter.data.excels.QuestData
;
import
emu.grasscutter.game.quest.GameQuest
;
import
emu.grasscutter.game.quest.QuestValue
;
import
emu.grasscutter.game.quest.enums.QuestTrigger
;
import
emu.grasscutter.game.quest.handlers.QuestBaseHandler
;
@QuestValue
(
QuestTrigger
.
QUEST_CONTENT_QUEST_VAR_GREATER
)
public
class
ContentQuestVarGreater
extends
QuestBaseHandler
{
@Override
public
boolean
execute
(
GameQuest
quest
,
QuestData
.
QuestCondition
condition
,
String
paramStr
,
int
...
params
)
{
int
questVarValue
=
quest
.
getMainQuest
().
getQuestVars
()[
params
[
0
]];
Grasscutter
.
getLogger
().
debug
(
"questVar {} : {}"
,
params
[
0
],
questVarValue
);
return
questVarValue
>
params
[
1
];
}
}
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment