# HG changeset patch # User mikade # Date 1438262345 -32400 # Node ID 854f30498a98f72c80f757e984c801e24dc80edd # Parent 37977c3994e6c3898d87671addb428f88b30e055 GetHogVoicepack,GetHogFlag,GetHogGrave diff -r 37977c3994e6 -r 854f30498a98 hedgewars/uScript.pas --- a/hedgewars/uScript.pas Mon Jul 27 11:51:05 2015 -0400 +++ b/hedgewars/uScript.pas Thu Jul 30 22:19:05 2015 +0900 @@ -1213,6 +1213,54 @@ lc_setclancolor:= 0 end; +function lc_gethogvoicepack(L : Plua_State) : LongInt; Cdecl; +var gear : PGear; +begin + if CheckLuaParamCount(L, 1, 'GetHogVoicepack', 'gearUid') then + begin + gear:= GearByUID(lua_tointeger(L, 1)); + if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) then + lua_pushstring(L, str2pchar(gear^.Hedgehog^.Team^.Voicepack^.name)) + else + lua_pushnil(L); + end + else + lua_pushnil(L); // return value on stack (nil) + lc_gethogvoicepack:= 1 +end; + +function lc_gethoggrave(L : Plua_State) : LongInt; Cdecl; +var gear : PGear; +begin + if CheckLuaParamCount(L, 1, 'GetHogGrave', 'gearUid') then + begin + gear:= GearByUID(lua_tointeger(L, 1)); + if (gear <> nil) and ((gear^.Kind = gtHedgehog) or (gear^.Kind = gtGrave)) and (gear^.Hedgehog <> nil) then + lua_pushstring(L, str2pchar(gear^.Hedgehog^.Team^.GraveName)) + else + lua_pushnil(L); + end + else + lua_pushnil(L); // return value on stack (nil) + lc_gethoggrave:= 1 +end; + +function lc_gethogflag(L : Plua_State) : LongInt; Cdecl; +var gear : PGear; +begin + if CheckLuaParamCount(L, 1, 'GetHogFlag', 'gearUid') then + begin + gear:= GearByUID(lua_tointeger(L, 1)); + if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) then + lua_pushstring(L, str2pchar(gear^.Hedgehog^.Team^.Flag)) + else + lua_pushnil(L); + end + else + lua_pushnil(L); // return value on stack (nil) + lc_gethogflag:= 1 +end; + function lc_gethogteamname(L : Plua_State) : LongInt; Cdecl; var gear : PGear; begin @@ -3193,6 +3241,9 @@ lua_register(luaState, _P'GetHogClan', @lc_gethogclan); lua_register(luaState, _P'GetClanColor', @lc_getclancolor); lua_register(luaState, _P'SetClanColor', @lc_setclancolor); +lua_register(luaState, _P'GetHogVoicepack', @lc_gethogvoicepack); +lua_register(luaState, _P'GetHogFlag', @lc_gethogflag); +lua_register(luaState, _P'GetHogGrave', @lc_gethoggrave); lua_register(luaState, _P'GetHogTeamName', @lc_gethogteamname); lua_register(luaState, _P'SetHogTeamName', @lc_sethogteamname); lua_register(luaState, _P'GetHogName', @lc_gethogname);