+++ /dev/null
-DROP VIEW current_planet_stats_full;
-DROP VIEW current_planet_stats;
-
-CREATE TYPE race AS ENUM ('Ter','Cat','Xan','Zik','Etd');
-ALTER TABLE planets ALTER COLUMN race TYPE race USING race::race;
-ALTER TABLE planets ALTER COLUMN race SET NOT NULL;
-ALTER TABLE planets ALTER COLUMN ftid SET NOT NULL;
-
-CREATE VIEW current_planet_stats AS
- SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid FROM (((SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps NATURAL JOIN planets p) LEFT JOIN alliances ON ((alliances.id = p.alliance_id)));
-
-
-CREATE VIEW current_planet_stats_full AS
- SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid, ps.size_gain, ps.score_gain, ps.value_gain, ps.xp_gain, ps.sizerank_gain, ps.scorerank_gain, ps.valuerank_gain, ps.xprank_gain, ps.size_gain_day, ps.score_gain_day, ps.value_gain_day, ps.xp_gain_day, ps.sizerank_gain_day, ps.scorerank_gain_day, ps.valuerank_gain_day, ps.xprank_gain_day FROM (((SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank, planet_stats.size_gain, planet_stats.score_gain, planet_stats.value_gain, planet_stats.xp_gain, planet_stats.sizerank_gain, planet_stats.scorerank_gain, planet_stats.valuerank_gain, planet_stats.xprank_gain, planet_stats.size_gain_day, planet_stats.score_gain_day, planet_stats.value_gain_day, planet_stats.xp_gain_day, planet_stats.sizerank_gain_day, planet_stats.scorerank_gain_day, planet_stats.valuerank_gain_day, planet_stats.xprank_gain_day FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps NATURAL JOIN planets p) LEFT JOIN alliances ON ((alliances.id = p.alliance_id)));
-
-CREATE OR REPLACE FUNCTION findplanetid(character varying, character varying, character varying) RETURNS integer
- AS $_$
-my ($ruler, $planet, $race) = @_;
-my $query = spi_prepare('SELECT id, race FROM planets WHERE ruler=$1 AND planet=$2','varchar','varchar');
-my $rv = spi_exec_prepared($query,$ruler,$planet);
-spi_freeplan($query);
-my $status = $rv->{status};
-my $nrows = $rv->{processed};
-my $id;
-if ($nrows == 1){
- $id = $rv->{rows}[0]->{id};
- unless ($race eq $rv->{rows}[0]->{race}){
- $query = spi_prepare('UPDATE planets SET race=$1 where id=$2','race','int4');
- spi_exec_prepared($query,$race,$id);
- spi_freeplan($query);
- }
-}else {
- $rv = spi_exec_query("SELECT nextval('public.forum_threads_ftid_seq') AS id");
- if ($rv->{processed} != 1){
- return;
- }
- $ftid = $rv->{rows}[0]->{id};
- $query = spi_prepare('INSERT INTO forum_threads (fbid,ftid,subject,uid) VALUES($1,$2,$3,-3)','int4','int4','varchar');
- $rv = spi_exec_prepared($query,-2,$ftid,"$ruler OF $planet");
- spi_freeplan($query);
- if (rv->{status} != SPI_OK_INSERT){
- return;
- }
- $rv = spi_exec_query("SELECT nextval('public.planets_id_seq') AS id");
- if ($rv->{processed} != 1){
- return;
- }
- $id = $rv->{rows}[0]->{id};
- $query = spi_prepare('INSERT INTO planets(id,ruler,planet,race,ftid) VALUES($1,$2,$3,$4,$5)','int4','varchar','varchar','race','int4
-');
- $rv = spi_exec_prepared($query,$id,$ruler,$planet,$race,$ftid);
- spi_freeplan($query);
- if (rv->{status} != SPI_OK_INSERT){
- return;
- }
-
-}
-return $id;
-$_$
- LANGUAGE plperl;
+++ /dev/null
-DROP VIEW current_planet_stats_full;
-DROP VIEW current_planet_stats;
-
-CREATE TYPE governments AS ENUM ('','Feu','Dic','Dem','Uni');
-
-ALTER TABLE planets ADD COLUMN gov governments NOT NULL DEFAULT ''::governments;
-
-CREATE VIEW current_planet_stats AS
- SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid, p.gov
- FROM (SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps
- NATURAL JOIN planets p
- LEFT JOIN alliances ON alliances.id = p.alliance_id;
-
-
-CREATE VIEW current_planet_stats_full AS
- SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid, ps.size_gain, ps.score_gain, ps.value_gain, ps.xp_gain, ps.sizerank_gain, ps.scorerank_gain, ps.valuerank_gain, ps.xprank_gain, ps.size_gain_day, ps.score_gain_day, ps.value_gain_day, ps.xp_gain_day, ps.sizerank_gain_day, ps.scorerank_gain_day, ps.valuerank_gain_day, ps.xprank_gain_day,p.gov
- FROM (SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank, planet_stats.size_gain, planet_stats.score_gain, planet_stats.value_gain, planet_stats.xp_gain, planet_stats.sizerank_gain, planet_stats.scorerank_gain, planet_stats.valuerank_gain, planet_stats.xprank_gain, planet_stats.size_gain_day, planet_stats.score_gain_day, planet_stats.value_gain_day, planet_stats.xp_gain_day, planet_stats.sizerank_gain_day, planet_stats.scorerank_gain_day, planet_stats.valuerank_gain_day, planet_stats.xprank_gain_day FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps
- NATURAL JOIN planets p
- LEFT JOIN alliances ON alliances.id = p.alliance_id;
);
+--
+-- Name: covop_attacks; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE covop_attacks (
+ uid integer NOT NULL,
+ tick integer NOT NULL,
+ id integer NOT NULL
+);
+
+
+--
+-- Name: governments; Type: TYPE; Schema: public; Owner: -
+--
+
+CREATE TYPE governments AS ENUM (
+ '',
+ 'Feu',
+ 'Dic',
+ 'Dem',
+ 'Uni'
+);
+
+
+--
+-- Name: race; Type: TYPE; Schema: public; Owner: -
+--
+
+CREATE TYPE race AS ENUM (
+ 'Ter',
+ 'Cat',
+ 'Xan',
+ 'Zik',
+ 'Etd'
+);
+
+
--
-- Name: planet_stats; Type: TABLE; Schema: public; Owner: -; Tablespace:
--
id integer NOT NULL,
ruler character varying NOT NULL,
planet character varying NOT NULL,
- race character varying,
+ race race NOT NULL,
nick character varying,
planet_status ead_status DEFAULT ''::ead_status NOT NULL,
hit_us integer DEFAULT 0 NOT NULL,
alliance_id integer,
channel text,
- ftid integer
+ ftid integer NOT NULL,
+ gov governments DEFAULT ''::governments NOT NULL
);
--
CREATE VIEW current_planet_stats AS
- SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid FROM (((SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps NATURAL JOIN planets p) LEFT JOIN alliances ON ((alliances.id = p.alliance_id)));
+ SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid, p.gov FROM (((SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps NATURAL JOIN planets p) LEFT JOIN alliances ON ((alliances.id = p.alliance_id)));
--
--
CREATE VIEW current_planet_stats_full AS
- SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid, ps.size_gain, ps.score_gain, ps.value_gain, ps.xp_gain, ps.sizerank_gain, ps.scorerank_gain, ps.valuerank_gain, ps.xprank_gain, ps.size_gain_day, ps.score_gain_day, ps.value_gain_day, ps.xp_gain_day, ps.sizerank_gain_day, ps.scorerank_gain_day, ps.valuerank_gain_day, ps.xprank_gain_day FROM (((SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank, planet_stats.size_gain, planet_stats.score_gain, planet_stats.value_gain, planet_stats.xp_gain, planet_stats.sizerank_gain, planet_stats.scorerank_gain, planet_stats.valuerank_gain, planet_stats.xprank_gain, planet_stats.size_gain_day, planet_stats.score_gain_day, planet_stats.value_gain_day, planet_stats.xp_gain_day, planet_stats.sizerank_gain_day, planet_stats.scorerank_gain_day, planet_stats.valuerank_gain_day, planet_stats.xprank_gain_day FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps NATURAL JOIN planets p) LEFT JOIN alliances ON ((alliances.id = p.alliance_id)));
+ SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid, ps.size_gain, ps.score_gain, ps.value_gain, ps.xp_gain, ps.sizerank_gain, ps.scorerank_gain, ps.valuerank_gain, ps.xprank_gain, ps.size_gain_day, ps.score_gain_day, ps.value_gain_day, ps.xp_gain_day, ps.sizerank_gain_day, ps.scorerank_gain_day, ps.valuerank_gain_day, ps.xprank_gain_day, p.gov FROM (((SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank, planet_stats.size_gain, planet_stats.score_gain, planet_stats.value_gain, planet_stats.xp_gain, planet_stats.sizerank_gain, planet_stats.scorerank_gain, planet_stats.valuerank_gain, planet_stats.xprank_gain, planet_stats.size_gain_day, planet_stats.score_gain_day, planet_stats.value_gain_day, planet_stats.xp_gain_day, planet_stats.sizerank_gain_day, planet_stats.scorerank_gain_day, planet_stats.valuerank_gain_day, planet_stats.xprank_gain_day FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps NATURAL JOIN planets p) LEFT JOIN alliances ON ((alliances.id = p.alliance_id)));
--
LANGUAGE plperl IMMUTABLE;
+--
+-- Name: covop_alert(integer, integer, governments, integer); Type: FUNCTION; Schema: public; Owner: -
+--
+
+CREATE FUNCTION covop_alert(secs integer, strucs integer, gov governments, population integer) RETURNS integer
+ AS $_$
+ SELECT (70*(1.0+LEAST(COALESCE($1::float/$2,$4),0.30)*2 +
+ (CASE $3
+ WHEN 'Dic' THEN 0.20
+ WHEN 'Feu' THEN -0.20
+ WHEN 'Uni' THEN -0.10
+ ELSE 0
+ END) + $4/100.0))::integer;
+$_$
+ LANGUAGE sql IMMUTABLE;
+
+
--
-- Name: find_alliance_id(character varying); Type: FUNCTION; Schema: public; Owner: -
--
--
CREATE FUNCTION findplanetid(character varying, character varying, character varying) RETURNS integer
- AS $_$my ($ruler, $planet, $race) = @_;
+ AS $_$
+my ($ruler, $planet, $race) = @_;
my $query = spi_prepare('SELECT id, race FROM planets WHERE ruler=$1 AND planet=$2','varchar','varchar');
my $rv = spi_exec_prepared($query,$ruler,$planet);
spi_freeplan($query);
if ($nrows == 1){
$id = $rv->{rows}[0]->{id};
unless ($race eq $rv->{rows}[0]->{race}){
- $query = spi_prepare('UPDATE planets SET race=$1 where id=$2','varchar','int4');
+ $query = spi_prepare('UPDATE planets SET race=$1 where id=$2','race','int4');
spi_exec_prepared($query,$race,$id);
spi_freeplan($query);
}
return;
}
$id = $rv->{rows}[0]->{id};
- $query = spi_prepare('INSERT INTO planets(id,ruler,planet,race,ftid) VALUES($1,$2,$3,$4,$5)','int4','varchar','varchar','varchar','int4
+ $query = spi_prepare('INSERT INTO planets(id,ruler,planet,race,ftid) VALUES($1,$2,$3,$4,$5)','int4','varchar','varchar','race','int4
');
$rv = spi_exec_prepared($query,$id,$ruler,$planet,$race,$ftid);
spi_freeplan($query);
}
}
-return $id;$_$
+return $id;
+$_$
LANGUAGE plperl;
--
CREATE FUNCTION max_bank_hack(metal integer, crystal integer, eonium integer, tvalue integer, value integer) RETURNS integer
- AS $_$SELECT LEAST(2000*15*$4::numeric/$5,$1*0.10, 15*7500)::integer + LEAST(2000*15*$4::numeric/$5,$2*0.10, 15*7500)::integer+LEAST(2000*15*$4::numeric/$5,$3*0.10, 15*7500)::integer$_$
+ AS $_$
+SELECT LEAST(2000.0*15*$4/$5,$1*0.10, 15*7500.0)::integer
+ + LEAST(2000.0*15*$4/$5,$2*0.10, 15*7500.0)::integer
+ + LEAST(2000.0*15*$4/$5,$3*0.10, 15*7500.0)::integer
+$_$
LANGUAGE sql IMMUTABLE;
--
CREATE SEQUENCE calls_id_seq
- START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
--
CREATE SEQUENCE defense_requests_id_seq
- START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
--
CREATE SEQUENCE incomings_id_seq
- START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
--
CREATE SEQUENCE raid_targets_id_seq
- START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
--
CREATE SEQUENCE raids_id_seq
- START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
--
CREATE SEQUENCE scans_id_seq
- START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
ADD CONSTRAINT channels_pkey PRIMARY KEY (id);
+--
+-- Name: covop_attacks_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY covop_attacks
+ ADD CONSTRAINT covop_attacks_pkey PRIMARY KEY (id, tick, uid);
+
+
--
-- Name: defense_missions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
--
ADD CONSTRAINT channel_group_flags_group_fkey FOREIGN KEY ("group") REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
+--
+-- Name: covop_attacks_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY covop_attacks
+ ADD CONSTRAINT covop_attacks_id_fkey FOREIGN KEY (id) REFERENCES planets(id);
+
+
+--
+-- Name: covop_attacks_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY covop_attacks
+ ADD CONSTRAINT covop_attacks_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
+
+
--
-- Name: defense_missions_call_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--