48 lines
1.2 KiB
MySQL
48 lines
1.2 KiB
MySQL
|
-- LegacyWorlds Beta 6
|
||
|
-- PostgreSQL database scripts
|
||
|
--
|
||
|
-- Game updates - resource regeneration
|
||
|
--
|
||
|
-- Copyright(C) 2004-2012, DeepClone Development
|
||
|
-- --------------------------------------------------------
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Resource provider regeneration update
|
||
|
*
|
||
|
* This function computes the regeneration of resource providers for the current batch
|
||
|
* of planets.
|
||
|
*
|
||
|
* Parameters:
|
||
|
* _tick The identifier of the game update
|
||
|
*/
|
||
|
CREATE OR REPLACE FUNCTION sys.process_planet_res_regen_updates( _tick BIGINT )
|
||
|
RETURNS VOID
|
||
|
STRICT VOLATILE
|
||
|
SECURITY INVOKER
|
||
|
AS $process_planet_res_regen_updates$
|
||
|
|
||
|
UPDATE verse.resource_providers _provider
|
||
|
|
||
|
SET resprov_quantity = verse.compute_provider_regeneration(
|
||
|
_provider.resprov_quantity ,
|
||
|
_provider.resprov_quantity_max ,
|
||
|
_provider.resprov_recovery
|
||
|
)
|
||
|
|
||
|
FROM sys.updates _upd_sys
|
||
|
INNER JOIN verse.updates _upd_verse
|
||
|
ON _upd_verse.update_id = _upd_sys.id
|
||
|
|
||
|
WHERE _upd_sys.last_tick = $1
|
||
|
AND _upd_sys.status = 'PROCESSING'
|
||
|
AND _upd_sys.gu_type = 'PLANET_RES_REGEN'
|
||
|
AND _provider.planet_id = _upd_verse.planet_id;
|
||
|
|
||
|
$process_planet_res_regen_updates$ LANGUAGE SQL;
|
||
|
|
||
|
|
||
|
REVOKE EXECUTE
|
||
|
ON FUNCTION sys.process_planet_res_regen_updates( BIGINT )
|
||
|
FROM PUBLIC;
|