diff --git a/gamedir/Data-1.13/Scripts/Overhead.lua b/gamedir/Data-1.13/Scripts/Overhead.lua index 553f3e105..f95c47240 100644 --- a/gamedir/Data-1.13/Scripts/Overhead.lua +++ b/gamedir/Data-1.13/Scripts/Overhead.lua @@ -556,6 +556,7 @@ ActionTypes = ACTIONTYPE_WATERTAP = 3, ACTIONTYPE_SODAMACHINE = 4, ACTIONTYPE_MINIGAME = 5, + ACTIONTYPE_VARIOUS = 6, } InfoTypes = @@ -575,6 +576,17 @@ MiniGames = PONG = 1, } +-- luaactionids that aren't used in ModSpecificActions +InteractiveAction = +{ + MINIGAME_TETRIS = 50, + MINIGAME_PONG = 51, + BILLIARD = 52, + TABLETENNIS = 53, + TOILET = 54, + TV = 55, +} + -- We have an array of 1000 signed integers that a modder can use to set whatever data he wants. -- We simply set up some enums here to make it easier for us to remember what is what ModSpecificActions = @@ -658,11 +670,6 @@ ModSpecificActions = READING_SANMONA_KINGPIN_BOOKSHELF_1 = 49, -- |||||||||||||||||||||||||||||||||| books ||||||||||||||||||||||||||||||||||||| - -- |||||||||||||||||||||||||||||||||| minigames ||||||||||||||||||||||||||||||||||||| - MINIGAME_TETRIS = 50, - MINIGAME_PONG = 51, - -- |||||||||||||||||||||||||||||||||| minigames ||||||||||||||||||||||||||||||||||||| - -- |||||||||||||||||||||||||||||||||| photo data ||||||||||||||||||||||||||||||||||||| PHOTO_FLAGS_BEGIN = 60, @@ -1646,7 +1653,7 @@ function HandleInteractiveActionResult(sSectorX, sSectorY, bSectorZ, sGridNo, bL elseif ( usActionType == ActionTypes.ACTIONTYPE_MINIGAME ) then -- for now, the only game we have is tetris - if ( sLuaactionid == ModSpecificActions.MINIGAME_TETRIS ) then + if ( sLuaactionid == InteractiveAction.MINIGAME_TETRIS ) then -- playing a game costs $1 if ( SoldierSpendMoney(ubID, 1) == 1 ) then @@ -1655,7 +1662,7 @@ function HandleInteractiveActionResult(sSectorX, sSectorY, bSectorZ, sGridNo, bL SetPendingNewScreen(ScreenTypes.MINIGAME) end - elseif ( sLuaactionid == ModSpecificActions.MINIGAME_PONG ) then + elseif ( sLuaactionid == InteractiveAction.MINIGAME_PONG ) then -- playing a game costs $1 if ( SoldierSpendMoney(ubID, 1) == 1 ) then @@ -1665,7 +1672,28 @@ function HandleInteractiveActionResult(sSectorX, sSectorY, bSectorZ, sGridNo, bL end end - + + elseif ( usActionType == ActionTypes.ACTIONTYPE_VARIOUS ) then + + -- for now, the only game we have is tetris + if ( sLuaactionid == InteractiveAction.BILLIARD ) then + + PlaySound("Sounds\\billiard.wav") + + elseif ( sLuaactionid == InteractiveAction.TABLETENNIS ) then + + PlaySound("Sounds\\tabletennis.wav") + + elseif ( sLuaactionid == InteractiveAction.TOILET ) then + + PlaySound("Sounds\\toilet.wav") + + elseif ( sLuaactionid == InteractiveAction.TV ) then + + PlaySound("Sounds\\tvstatic.wav") + + end + end diff --git a/gamedir/Data-1.13/TableData/Map/InteractiveActions.xml b/gamedir/Data-1.13/TableData/Map/InteractiveActions.xml index dd38e6441..1b32af6a5 100644 --- a/gamedir/Data-1.13/TableData/Map/InteractiveActions.xml +++ b/gamedir/Data-1.13/TableData/Map/InteractiveActions.xml @@ -27,6 +27,7 @@ 3: take water from a water tap 4: buy soda from a soda machine 5: play a minigame + 6: various difficulty how hard it is to perform action luaactionid if this is set, lua script HandleInteractiveActionResult() in Overhead.lua is called with this Id to perform special actions. If no ID is set, the standard action is called. @@ -1013,6 +1014,64 @@ 5 51 - + + + + + + m-furn4.sti + 12 + 13 + 6 + 52 + + + + lawless.sti + 3 + 6 + 52 + + + + + m-furn4.sti + 14 + 15 + 6 + 53 + + + + + furn_9.sti + 0 + 1 + 6 + 54 + + + + + furn_9.sti + 12 + 13 + 14 + 15 + 6 + 54 + + + + + furn_7.sti + 10 + 20 + 21 + 22 + 6 + 55 + + diff --git a/gamedir/Data/CURSORS/gearwheel.sti b/gamedir/Data/CURSORS/gearwheel.sti new file mode 100644 index 000000000..68dfbe25a Binary files /dev/null and b/gamedir/Data/CURSORS/gearwheel.sti differ diff --git a/gamedir/Data/CURSORS/gearwheel_r.sti b/gamedir/Data/CURSORS/gearwheel_r.sti new file mode 100644 index 000000000..b1ed8c250 Binary files /dev/null and b/gamedir/Data/CURSORS/gearwheel_r.sti differ diff --git a/gamedir/Data/Sounds/billiard.wav b/gamedir/Data/Sounds/billiard.wav new file mode 100644 index 000000000..8e2f9adab Binary files /dev/null and b/gamedir/Data/Sounds/billiard.wav differ diff --git a/gamedir/Data/Sounds/tabletennis.wav b/gamedir/Data/Sounds/tabletennis.wav new file mode 100644 index 000000000..b9eeee72e Binary files /dev/null and b/gamedir/Data/Sounds/tabletennis.wav differ diff --git a/gamedir/Data/Sounds/toilet.wav b/gamedir/Data/Sounds/toilet.wav new file mode 100644 index 000000000..2085df6ae Binary files /dev/null and b/gamedir/Data/Sounds/toilet.wav differ diff --git a/gamedir/Data/Sounds/tvstatic.wav b/gamedir/Data/Sounds/tvstatic.wav new file mode 100644 index 000000000..c54535078 Binary files /dev/null and b/gamedir/Data/Sounds/tvstatic.wav differ