From 397949a0e46fdc813b195a04f02972e8d089ce7b Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 2 May 2019 10:56:33 -0300 Subject: Move Exception() from Util to Main --- npc/functions/main.txt | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'npc/functions/main.txt') diff --git a/npc/functions/main.txt b/npc/functions/main.txt index e0a36ddcd..2cfcbe25c 100644 --- a/npc/functions/main.txt +++ b/npc/functions/main.txt @@ -325,6 +325,51 @@ function script validatepin { return true; } +// Something went wrong and must be reported (named after raise Exception in python) +// Exception( BugID, {Flags{, Return Code}} ) +function script Exception { + // Fill variable + .@msg$=getarg(0); + .@gf=getarg(1,RB_DEFAULT); + + if (.@gf & RB_DISPBOTTOM) + dispbottom("ERROR: "+.@msg$); + + if (.@gf & RB_DEBUGMES) + debugmes("[Warning] "+.@msg$); + + if (.@gf & RB_SPEECH) + mesc("ERROR, REPORT ME! "+.@msg$, 1); + + if (.@gf & RB_IRCBROADCAST) + channelmes("#world", "Error in script: "+.@msg$); + + if (.@gf & RB_GLOBALANNOUNCE) + announce("Error in script: "+.@msg$, bc_all); + + if (.@gf & RB_PLEASEREPORT|RB_DISPBOTTOM) + dispbottom("Please take a screenshot and report this bug, explaining how it happened."); + + if (.@gf & RB_PLEASEREPORT|RB_SPEECH) + mesc("Please take a screenshot and report this bug, explaining how it happened."), 1; + + if (.@gf & RB_ISFATAL) { + if (.@gf & RB_SPEECH) { + mesc l("This error is fatal."), 1; + close; + } + if (.@gf & RB_DISPBOTTOM) + dispbottom("This error is fatal, we stop execution."); + + if (.@gf & RB_DEBUGMES) + debugmes("[Error] The error is fatal."); + end; + } + + return getarg(2, 0); + +} + // Linking functions ///////////////////////////////////////////// function script getquestlink { -- cgit v1.2.3-60-g2f50