From 69e4ca9779763ac6fa657e21b13f78025394512e Mon Sep 17 00:00:00 2001 From: mekolat Date: Thu, 22 Oct 2015 06:52:25 -0400 Subject: add chr and ord builtins --- src/map/script-fun.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/map/script-fun.cpp') diff --git a/src/map/script-fun.cpp b/src/map/script-fun.cpp index f7108d0..f59ba55 100644 --- a/src/map/script-fun.cpp +++ b/src/map/script-fun.cpp @@ -3132,6 +3132,20 @@ void builtin_getpartnerid2(ScriptState *st) push_int(st->stack, unwrap(sd->status.partner_id)); } +static +void builtin_chr(ScriptState *st) +{ + const char ascii = conv_num(st, &AARG(0)); + push_str(st->stack, VString<1>(ascii)); +} + +static +void builtin_ord(ScriptState *st) +{ + const char ascii = conv_str(st, &AARG(0))[0]; + push_int(st->stack, static_cast(ascii)); +} + static void builtin_explode(ScriptState *st) { @@ -4371,6 +4385,8 @@ BuiltinFunction builtin_functions[] = BUILTIN(pow, "ii"_s, 'i'), BUILTIN(target, "iii"_s, 'i'), BUILTIN(distance, "ii?"_s, 'i'), + BUILTIN(chr, "i"_s, 'i'), + BUILTIN(ord, "s"_s, 'i'), {nullptr, ""_s, ""_s, '\0'}, }; } // namespace map -- cgit v1.2.3-60-g2f50