41 lines
975 B
GDScript
41 lines
975 B
GDScript
extends NpcScript
|
|
|
|
# Quest ID
|
|
const questID : int = ProgressCommons.Quest.SNAKE_PIT_THIEF
|
|
|
|
# Reward items
|
|
var scimitarID : int = DB.GetCellHash("Scimitar")
|
|
|
|
# Required items
|
|
var thiefsKeyID : int = DB.GetCellHash("Thief's Key")
|
|
|
|
#
|
|
func OnStart():
|
|
match GetQuest(questID):
|
|
ProgressCommons.SNAKE_PIT_THIEF.RIDDLE_SOLVED: OnTryOpen()
|
|
ProgressCommons.SNAKE_PIT_THIEF.REWARDS_WITHDREW: OnEmpty()
|
|
_: OnLocked()
|
|
|
|
func OnTryOpen():
|
|
if not HasItem(thiefsKeyID):
|
|
OnLocked()
|
|
return
|
|
|
|
if not IsTriggering():
|
|
Trigger()
|
|
|
|
Mes("五条刻字指向的锁孔终于转动。箱盖掀开时,一股干冷的旧沙味涌了出来。")
|
|
SetQuest(questID, ProgressCommons.SNAKE_PIT_THIEF.REWARDS_WITHDREW)
|
|
|
|
RemoveItem(thiefsKeyID, 1)
|
|
AddGP(200)
|
|
AddItem(scimitarID, 1)
|
|
AddExp(50)
|
|
AddKarma(2)
|
|
|
|
func OnEmpty():
|
|
Chat("盗贼宝箱已经空了,只剩几道被蛇鳞刮出的细痕。")
|
|
|
|
func OnLocked():
|
|
Chat("箱锁上刻着蛇形纹路。没有盗贼钥匙,打不开它。")
|