Engine:
* New weapon attributes: ejectX/ejectY: Offset to the hedgehog (center of hand graphic) where the projectile(s) will be spawned
* Changed Laser Sight to origin from the weapon instead of the hedgehog (needs some adjustments while walking/jumping)
* Changed most weapons to no longer shoot from the hedgehog's center and use the weapon's visible position instead (might require some testing and adjustments)
* Silenced the small Piano explosions
module ServerState
(
module RoomsAndClients,
clientRoomA,
ServerState(..),
clients
) where
import Control.Monad.State
----------------------
import RoomsAndClients
import CoreTypes
data ServerState = ServerState {
clientIndex :: Maybe ClientIndex,
serverInfo :: ServerInfo,
roomsClients :: MRnC
}
clientRoomA :: StateT ServerState IO RoomIndex
clientRoomA = do
(Just ci) <- gets clientIndex
rnc <- gets roomsClients
liftIO $ clientRoomM rnc ci
clients :: (ClientInfo -> a) -> StateT ServerState IO a
clients f = do
(Just ci) <- gets clientIndex
rnc <- gets roomsClients
liftIO $ clientsM rnc f ci