Merge pull request #1519 from GriffinRichards/doc-mgift
Document Mystery Gift
This commit is contained in:
@@ -956,7 +956,7 @@ gText_LegendaryFlewAway::
|
||||
.string "The {STR_VAR_1} flew away!$"
|
||||
|
||||
.include "data/text/pc_transfer.inc"
|
||||
.include "data/text/mevent.inc"
|
||||
.include "data/text/questionnaire.inc"
|
||||
.include "data/text/abnormal_weather.inc"
|
||||
|
||||
EventScript_SelectWithoutRegisteredItem::
|
||||
@@ -1006,7 +1006,7 @@ Common_EventScript_LegendaryFlewAway::
|
||||
end
|
||||
|
||||
.include "data/scripts/pc_transfer.inc"
|
||||
.include "data/scripts/mevent.inc"
|
||||
.include "data/scripts/questionnaire.inc"
|
||||
.include "data/scripts/abnormal_weather.inc"
|
||||
.include "data/scripts/trainer_script.inc"
|
||||
.include "data/scripts/berry_tree.inc"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "constants/flags.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/map_scripts.h"
|
||||
#include "constants/mevent.h"
|
||||
#include "constants/mystery_gift.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/region_map_sections.h"
|
||||
#include "constants/songs.h"
|
||||
@@ -15,11 +15,11 @@
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
.include "data/scripts/mevent_stamp_card.inc"
|
||||
.include "data/scripts/mevent_pichu.inc"
|
||||
.include "data/scripts/mevent_trainer.inc"
|
||||
.include "data/scripts/mevent_battle_card.inc"
|
||||
.include "data/scripts/mevent_aurora_ticket.inc"
|
||||
.include "data/scripts/mevent_mystic_ticket.inc"
|
||||
.include "data/scripts/mevent_altering_cave.inc"
|
||||
.include "data/scripts/mevent_old_sea_map.inc"
|
||||
.include "data/scripts/gift_stamp_card.inc"
|
||||
.include "data/scripts/gift_pichu.inc"
|
||||
.include "data/scripts/gift_trainer.inc"
|
||||
.include "data/scripts/gift_battle_card.inc"
|
||||
.include "data/scripts/gift_aurora_ticket.inc"
|
||||
.include "data/scripts/gift_mystic_ticket.inc"
|
||||
.include "data/scripts/gift_altering_cave.inc"
|
||||
.include "data/scripts/gift_old_sea_map.inc"
|
||||
@@ -6,7 +6,7 @@ CableClub_EventScript_HideOrShowMysteryGiftMan::
|
||||
specialvar VAR_RESULT, ShouldDistributeEonTicket
|
||||
compare VAR_RESULT, TRUE
|
||||
goto_if_eq CableClub_EventScript_ShowMysteryGiftMan
|
||||
specialvar VAR_RESULT, ValidateReceivedWonderCard
|
||||
specialvar VAR_RESULT, ValidateSavedWonderCard
|
||||
compare VAR_RESULT, FALSE
|
||||
goto_if_eq CableClub_EventScript_HideMysteryGiftMan
|
||||
goto CableClub_EventScript_ShowMysteryGiftMan
|
||||
@@ -40,11 +40,11 @@ CableClub_EventScript_DistributeEonTicket::
|
||||
compare VAR_RESULT, TRUE
|
||||
goto_if_eq CableClub_EventScript_AlreadyGotEonTicket
|
||||
goto_if_set FLAG_ENABLE_SHIP_SOUTHERN_ISLAND, CableClub_EventScript_AlreadyGotEonTicket
|
||||
msgbox Mevent_Text_TheresATicketForYou, MSGBOX_DEFAULT
|
||||
msgbox MysteryGift_Text_TheresATicketForYou, MSGBOX_DEFAULT
|
||||
giveitem ITEM_EON_TICKET
|
||||
setflag FLAG_ENABLE_SHIP_SOUTHERN_ISLAND
|
||||
setvar VAR_DISTRIBUTE_EON_TICKET, 0
|
||||
msgbox Mevent_Text_TryUsingItAtLilycovePort, MSGBOX_DEFAULT
|
||||
msgbox MysteryGift_Text_TryUsingItAtLilycovePort, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
MysteryEventScript_AlteringCave::
|
||||
setvaddress MysteryEventScript_AlteringCave
|
||||
MysteryGiftScript_AlteringCave::
|
||||
setvaddress MysteryGiftScript_AlteringCave
|
||||
addvar VAR_ALTERING_CAVE_WILD_SET, 1
|
||||
compare VAR_ALTERING_CAVE_WILD_SET, 10
|
||||
vgoto_if_ne MysteryEventScript_AlteringCave_
|
||||
vgoto_if_ne MysteryGiftScript_AlteringCave_
|
||||
setvar VAR_ALTERING_CAVE_WILD_SET, 0
|
||||
MysteryEventScript_AlteringCave_:
|
||||
MysteryGiftScript_AlteringCave_:
|
||||
lock
|
||||
faceplayer
|
||||
vmessage sText_MysteryGiftAlteringCave
|
||||
@@ -1,5 +1,5 @@
|
||||
MysteryEventScript_AuroraTicket::
|
||||
setvaddress MysteryEventScript_AuroraTicket
|
||||
MysteryGiftScript_AuroraTicket::
|
||||
setvaddress MysteryGiftScript_AuroraTicket
|
||||
lock
|
||||
faceplayer
|
||||
vgoto_if_set FLAG_RECEIVED_AURORA_TICKET, AuroraTicket_Obtained
|
||||
@@ -1,10 +1,10 @@
|
||||
MysteryEventScript_BattleCard::
|
||||
setvaddress MysteryEventScript_BattleCard
|
||||
vgoto_if_set FLAG_MYSTERY_EVENT_DONE, MysteryEventScript_BattleCardInfo
|
||||
MysteryGiftScript_BattleCard::
|
||||
setvaddress MysteryGiftScript_BattleCard
|
||||
vgoto_if_set FLAG_MYSTERY_GIFT_DONE, MysteryGiftScript_BattleCardInfo
|
||||
setorcopyvar VAR_RESULT, GET_CARD_BATTLES_WON
|
||||
specialvar VAR_0x8008, GetMysteryEventCardVal
|
||||
specialvar VAR_0x8008, GetMysteryGiftCardStat
|
||||
compare VAR_0x8008, REQUIRED_CARD_BATTLES
|
||||
vgoto_if_ne MysteryEventScript_BattleCardInfo
|
||||
vgoto_if_ne MysteryGiftScript_BattleCardInfo
|
||||
lock
|
||||
faceplayer
|
||||
vmessage sText_MysteryGiftBattleCountCard_WonPrize
|
||||
@@ -12,10 +12,10 @@ MysteryEventScript_BattleCard::
|
||||
waitbuttonpress
|
||||
giveitem ITEM_POTION
|
||||
release
|
||||
setflag FLAG_MYSTERY_EVENT_DONE
|
||||
setflag FLAG_MYSTERY_GIFT_DONE
|
||||
end
|
||||
|
||||
MysteryEventScript_BattleCardInfo:
|
||||
MysteryGiftScript_BattleCardInfo:
|
||||
lock
|
||||
faceplayer
|
||||
vmessage sText_MysteryGiftBattleCountCard
|
||||
@@ -1,5 +1,5 @@
|
||||
MysteryEventScript_MysticTicket::
|
||||
setvaddress MysteryEventScript_MysticTicket
|
||||
MysteryGiftScript_MysticTicket::
|
||||
setvaddress MysteryGiftScript_MysticTicket
|
||||
lock
|
||||
faceplayer
|
||||
vgoto_if_set FLAG_RECEIVED_MYSTIC_TICKET, MysticTicket_Obtained
|
||||
@@ -1,5 +1,5 @@
|
||||
MysteryEventScript_OldSeaMap::
|
||||
setvaddress MysteryEventScript_OldSeaMap
|
||||
MysteryGiftScript_OldSeaMap::
|
||||
setvaddress MysteryGiftScript_OldSeaMap
|
||||
lock
|
||||
faceplayer
|
||||
vgoto_if_set FLAG_RECEIVED_OLD_SEA_MAP, OldSeaMap_Obtained
|
||||
@@ -1,13 +1,13 @@
|
||||
MysteryEventScript_SurfPichu::
|
||||
setvaddress MysteryEventScript_SurfPichu
|
||||
vgoto_if_unset FLAG_MYSTERY_EVENT_DONE, SurfPichu_GiveIfPossible
|
||||
MysteryGiftScript_SurfPichu::
|
||||
setvaddress MysteryGiftScript_SurfPichu
|
||||
vgoto_if_unset FLAG_MYSTERY_GIFT_DONE, SurfPichu_GiveIfPossible
|
||||
returnram
|
||||
|
||||
SurfPichu_GiveIfPossible:
|
||||
specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount
|
||||
compare VAR_EVENT_PICHU_SLOT, PARTY_SIZE
|
||||
specialvar VAR_GIFT_PICHU_SLOT, CalculatePlayerPartyCount
|
||||
compare VAR_GIFT_PICHU_SLOT, PARTY_SIZE
|
||||
vgoto_if_eq SurfPichu_FullParty
|
||||
setflag FLAG_MYSTERY_EVENT_DONE
|
||||
setflag FLAG_MYSTERY_GIFT_DONE
|
||||
vcall SurfPichu_GiveEgg
|
||||
lock
|
||||
faceplayer
|
||||
@@ -30,17 +30,17 @@ SurfPichu_FullParty:
|
||||
|
||||
SurfPichu_GiveEgg:
|
||||
giveegg SPECIES_PICHU
|
||||
setmoneventlegal VAR_EVENT_PICHU_SLOT
|
||||
setmonmetlocation VAR_EVENT_PICHU_SLOT, METLOC_FATEFUL_ENCOUNTER
|
||||
compare VAR_EVENT_PICHU_SLOT, 1
|
||||
setmoneventlegal VAR_GIFT_PICHU_SLOT
|
||||
setmonmetlocation VAR_GIFT_PICHU_SLOT, METLOC_FATEFUL_ENCOUNTER
|
||||
compare VAR_GIFT_PICHU_SLOT, 1
|
||||
vgoto_if_eq SurfPichu_Slot1
|
||||
compare VAR_EVENT_PICHU_SLOT, 2
|
||||
compare VAR_GIFT_PICHU_SLOT, 2
|
||||
vgoto_if_eq SurfPichu_Slot2
|
||||
compare VAR_EVENT_PICHU_SLOT, 3
|
||||
compare VAR_GIFT_PICHU_SLOT, 3
|
||||
vgoto_if_eq SurfPichu_Slot3
|
||||
compare VAR_EVENT_PICHU_SLOT, 4
|
||||
compare VAR_GIFT_PICHU_SLOT, 4
|
||||
vgoto_if_eq SurfPichu_Slot4
|
||||
compare VAR_EVENT_PICHU_SLOT, 5
|
||||
compare VAR_GIFT_PICHU_SLOT, 5
|
||||
vgoto_if_eq SurfPichu_Slot5
|
||||
return
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
MysteryEventScript_StampCard::
|
||||
setvaddress MysteryEventScript_StampCard
|
||||
MysteryGiftScript_StampCard::
|
||||
setvaddress MysteryGiftScript_StampCard
|
||||
setorcopyvar VAR_RESULT, GET_MAX_STAMPS
|
||||
specialvar VAR_0x8008, GetMysteryEventCardVal
|
||||
specialvar VAR_0x8008, GetMysteryGiftCardStat
|
||||
setorcopyvar VAR_RESULT, GET_NUM_STAMPS
|
||||
specialvar VAR_0x8009, GetMysteryEventCardVal
|
||||
specialvar VAR_0x8009, GetMysteryGiftCardStat
|
||||
subvar VAR_0x8008, VAR_0x8009
|
||||
buffernumberstring 0, VAR_0x8008
|
||||
lock
|
||||
@@ -1,8 +1,8 @@
|
||||
MysteryEventScript_VisitingTrainer::
|
||||
setvaddress MysteryEventScript_VisitingTrainer
|
||||
MysteryGiftScript_VisitingTrainer::
|
||||
setvaddress MysteryGiftScript_VisitingTrainer
|
||||
special ValidateEReaderTrainer
|
||||
compare VAR_RESULT, 0
|
||||
vgoto_if_eq MysteryEventScript_VisitingTrainerArrived
|
||||
vgoto_if_eq MysteryGiftScript_VisitingTrainerArrived
|
||||
lock
|
||||
faceplayer
|
||||
vmessage sText_MysteryGiftVisitingTrainerInstructions
|
||||
@@ -11,7 +11,7 @@ MysteryEventScript_VisitingTrainer::
|
||||
release
|
||||
end
|
||||
|
||||
MysteryEventScript_VisitingTrainerArrived:
|
||||
MysteryGiftScript_VisitingTrainerArrived:
|
||||
lock
|
||||
faceplayer
|
||||
vmessage sText_MysteryGiftVisitingTrainerArrived
|
||||
@@ -1,62 +0,0 @@
|
||||
EventScript_Questionnaire::
|
||||
lockall
|
||||
msgbox Mevent_Text_FillOutQuestionnaire, MSGBOX_YESNO
|
||||
compare VAR_RESULT, NO
|
||||
goto_if_eq Mevent_EventScript_Release
|
||||
setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE
|
||||
call Common_ShowEasyChatScreen
|
||||
lock
|
||||
faceplayer
|
||||
specialvar VAR_0x8008, GetMartEmployeeObjectEventId
|
||||
compare VAR_0x8004, 1
|
||||
goto_if_eq Mevent_EventScript_PlayerInputMysteryEventPhrase
|
||||
compare VAR_0x8004, 2
|
||||
goto_if_eq Mevent_EventScript_PlayerInputMysteryGiftPhrase
|
||||
compare VAR_RESULT, 0
|
||||
goto_if_eq Mevent_EventScript_Release
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq Mevent_EventScript_QuestionnaireThankYou
|
||||
end
|
||||
|
||||
Mevent_EventScript_PlayerInputMysteryEventPhrase::
|
||||
goto_if_unset FLAG_SYS_POKEDEX_GET, Mevent_EventScript_QuestionnaireThankYou
|
||||
goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, Mevent_EventScript_QuestionnaireThankYou
|
||||
applymovement VAR_0x8008, Common_Movement_FaceDown
|
||||
waitmovement 0
|
||||
playse SE_PIN
|
||||
applymovement VAR_0x8008, Common_Movement_ExclamationMark
|
||||
waitmovement 0
|
||||
applymovement VAR_0x8008, Common_Movement_Delay48
|
||||
waitmovement 0
|
||||
msgbox Mevent_Text_YouKnowThoseWordsEvent, MSGBOX_DEFAULT
|
||||
setflag FLAG_SYS_MYSTERY_EVENT_ENABLE
|
||||
msgbox Mevent_Text_YouCanAccessMysteryEvent, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
Mevent_EventScript_PlayerInputMysteryGiftPhrase::
|
||||
goto_if_unset FLAG_SYS_POKEDEX_GET, Mevent_EventScript_QuestionnaireThankYou
|
||||
goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, Mevent_EventScript_QuestionnaireThankYou
|
||||
applymovement VAR_0x8008, Common_Movement_FaceDown
|
||||
waitmovement 0
|
||||
playse SE_PIN
|
||||
applymovement VAR_0x8008, Common_Movement_ExclamationMark
|
||||
waitmovement 0
|
||||
applymovement VAR_0x8008, Common_Movement_Delay48
|
||||
waitmovement 0
|
||||
msgbox Mevent_Text_YouKnowThoseWordsGift, MSGBOX_DEFAULT
|
||||
setflag FLAG_SYS_MYSTERY_GIFT_ENABLE
|
||||
msgbox Mevent_Text_YouCanAccessMysteryGift, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
Mevent_EventScript_Release::
|
||||
releaseall
|
||||
end
|
||||
|
||||
Mevent_EventScript_QuestionnaireThankYou::
|
||||
applymovement VAR_0x8008, Common_Movement_FaceDown
|
||||
waitmovement 0
|
||||
msgbox Mevent_Text_QuestionnaireThankYou, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
62
data/scripts/questionnaire.inc
Normal file
62
data/scripts/questionnaire.inc
Normal file
@@ -0,0 +1,62 @@
|
||||
EventScript_Questionnaire::
|
||||
lockall
|
||||
msgbox Questionnaire_Text_FillOut, MSGBOX_YESNO
|
||||
compare VAR_RESULT, NO
|
||||
goto_if_eq Questionnaire_EventScript_Release
|
||||
setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE
|
||||
call Common_ShowEasyChatScreen
|
||||
lock
|
||||
faceplayer
|
||||
specialvar VAR_0x8008, GetMartEmployeeObjectEventId
|
||||
compare VAR_0x8004, 1
|
||||
goto_if_eq Questionnaire_EventScript_PlayerInputMysteryEventPhrase
|
||||
compare VAR_0x8004, 2
|
||||
goto_if_eq Questionnaire_EventScript_PlayerInputMysteryGiftPhrase
|
||||
compare VAR_RESULT, 0
|
||||
goto_if_eq Questionnaire_EventScript_Release
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq Questionnaire_EventScript_ThankYou
|
||||
end
|
||||
|
||||
Questionnaire_EventScript_PlayerInputMysteryEventPhrase::
|
||||
goto_if_unset FLAG_SYS_POKEDEX_GET, Questionnaire_EventScript_ThankYou
|
||||
goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, Questionnaire_EventScript_ThankYou
|
||||
applymovement VAR_0x8008, Common_Movement_FaceDown
|
||||
waitmovement 0
|
||||
playse SE_PIN
|
||||
applymovement VAR_0x8008, Common_Movement_ExclamationMark
|
||||
waitmovement 0
|
||||
applymovement VAR_0x8008, Common_Movement_Delay48
|
||||
waitmovement 0
|
||||
msgbox Questionnaire_Text_YouKnowThoseWordsEvent, MSGBOX_DEFAULT
|
||||
setflag FLAG_SYS_MYSTERY_EVENT_ENABLE
|
||||
msgbox Questionnaire_Text_YouCanAccessMysteryEvent, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
Questionnaire_EventScript_PlayerInputMysteryGiftPhrase::
|
||||
goto_if_unset FLAG_SYS_POKEDEX_GET, Questionnaire_EventScript_ThankYou
|
||||
goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, Questionnaire_EventScript_ThankYou
|
||||
applymovement VAR_0x8008, Common_Movement_FaceDown
|
||||
waitmovement 0
|
||||
playse SE_PIN
|
||||
applymovement VAR_0x8008, Common_Movement_ExclamationMark
|
||||
waitmovement 0
|
||||
applymovement VAR_0x8008, Common_Movement_Delay48
|
||||
waitmovement 0
|
||||
msgbox Questionnaire_Text_YouKnowThoseWordsGift, MSGBOX_DEFAULT
|
||||
setflag FLAG_SYS_MYSTERY_GIFT_ENABLE
|
||||
msgbox Questionnaire_Text_YouCanAccessMysteryGift, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
Questionnaire_EventScript_Release::
|
||||
releaseall
|
||||
end
|
||||
|
||||
Questionnaire_EventScript_ThankYou::
|
||||
applymovement VAR_0x8008, Common_Movement_FaceDown
|
||||
waitmovement 0
|
||||
msgbox Questionnaire_Text_ThankYou, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
@@ -400,7 +400,7 @@ gSpecials::
|
||||
def_special ClearQuizLadyQuestionAndAnswer
|
||||
def_special QuizLadySetCustomQuestion
|
||||
def_special QuizLadyTakePrizeForCustomQuiz
|
||||
def_special GetMysteryEventCardVal
|
||||
def_special GetMysteryGiftCardStat
|
||||
def_special QuizLadyRecordCustomQuizData
|
||||
def_special QuizLadySetWaitingForChallenger
|
||||
def_special BufferQuizCorrectAnswer
|
||||
@@ -430,11 +430,11 @@ gSpecials::
|
||||
def_special ShowWirelessCommunicationScreen
|
||||
def_special InitUnionRoom
|
||||
def_special BufferUnionRoomPlayerName
|
||||
def_special sub_801DC20
|
||||
def_special RetrieveWonderNewsVal
|
||||
def_special ChooseMonForWirelessMinigame
|
||||
def_special Script_ResetUnionRoomTrade
|
||||
def_special IsBadEggInParty
|
||||
def_special ValidateReceivedWonderCard
|
||||
def_special ValidateSavedWonderCard
|
||||
def_special HasAtLeastOneBerry
|
||||
def_special IsPokemonJumpSpeciesInParty
|
||||
def_special ShowPokemonJumpRecords
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
Mevent_Text_FillOutQuestionnaire::
|
||||
Questionnaire_Text_FillOut::
|
||||
.string "There is a questionnaire.\n"
|
||||
.string "Would you like to fill it out?$"
|
||||
|
||||
Mevent_Text_QuestionnaireThankYou::
|
||||
Questionnaire_Text_ThankYou::
|
||||
.string "Thank you for taking the time to\n"
|
||||
.string "fill out our questionnaire.\p"
|
||||
.string "Your feedback will be used for\n"
|
||||
.string "future reference.$"
|
||||
|
||||
Mevent_Text_YouKnowThoseWordsGift::
|
||||
Questionnaire_Text_YouKnowThoseWordsGift::
|
||||
.string "Oh, hello!\n"
|
||||
.string "You know those words?\p"
|
||||
.string "That means you must know about\n"
|
||||
@@ -16,27 +16,27 @@ Mevent_Text_YouKnowThoseWordsGift::
|
||||
.string "From now on, you should be\n"
|
||||
.string "receiving MYSTERY GIFTS!$"
|
||||
|
||||
Mevent_Text_YouCanAccessMysteryGift::
|
||||
Questionnaire_Text_YouCanAccessMysteryGift::
|
||||
.string "Once you save your game, you can\n"
|
||||
.string "access the MYSTERY GIFT.$"
|
||||
|
||||
Mevent_Text_YouKnowThoseWordsEvent::
|
||||
Questionnaire_Text_YouKnowThoseWordsEvent::
|
||||
.string "Oh, hello!\n"
|
||||
.string "You know those words?\p"
|
||||
.string "That means you must know about\n"
|
||||
.string "the MYSTERY EVENT.$"
|
||||
|
||||
Mevent_Text_YouCanAccessMysteryEvent::
|
||||
Questionnaire_Text_YouCanAccessMysteryEvent::
|
||||
.string "Once you save your game, you can\n"
|
||||
.string "access the MYSTERY EVENT.$"
|
||||
|
||||
Mevent_Text_TheresATicketForYou::
|
||||
MysteryGift_Text_TheresATicketForYou::
|
||||
.string "Thank you for using the MYSTERY\n"
|
||||
.string "EVENT System.\p"
|
||||
.string "You must be {PLAYER}.\n"
|
||||
.string "There is a ticket here for you.$"
|
||||
|
||||
Mevent_Text_TryUsingItAtLilycovePort::
|
||||
MysteryGift_Text_TryUsingItAtLilycovePort::
|
||||
.string "It appears to be for use at\n"
|
||||
.string "the LILYCOVE CITY port.\p"
|
||||
.string "Why not give it a try and see what\n"
|
||||
Reference in New Issue
Block a user