mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-07-15 00:08:07 -04:00
1277 lines
27 KiB
Plaintext
1277 lines
27 KiB
Plaintext
create or replace package body loader as
|
|
|
|
procedure get_version_number(current_version in out number, min_version in out number)
|
|
as
|
|
begin
|
|
select version_number, min_version_number
|
|
into current_version, min_version
|
|
from version_number;
|
|
end;
|
|
|
|
function get_character_name_list return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
-- free up names that aren't in use anymore
|
|
delete from players
|
|
where not exists (select 1 from objects where objects.object_id = character_object);
|
|
|
|
open result_cursor for
|
|
select character_object, station_id, uc_character_name, character_full_name,
|
|
(create_time - to_date('01/01/1970', 'MM/DD/YYYY')) * 24 * 3600,
|
|
(last_login_time - to_date('01/01/1970', 'MM/DD/YYYY')) * 24 * 3600
|
|
from players;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function locate_player (p_object_id number) return number
|
|
as
|
|
begin
|
|
insert into object_list (object_id, container_level)
|
|
select object_id, 100
|
|
from objects
|
|
where load_with = p_object_id and deleted = 0;
|
|
|
|
return sql%rowcount;
|
|
end;
|
|
|
|
procedure locate_universe
|
|
as
|
|
begin
|
|
insert into object_list (object_id)
|
|
select o.object_id
|
|
from objects o, universe_objects u
|
|
where o.object_id = u.object_id
|
|
and o.deleted=0;
|
|
end;
|
|
|
|
procedure locate_contained_object (p_container_id number, p_object_id number)
|
|
as
|
|
begin
|
|
insert into object_list (object_id, container_level)
|
|
select object_id, 100
|
|
from objects o
|
|
start with
|
|
o.object_id = p_object_id
|
|
and o.contained_by = p_container_id
|
|
and o.deleted = 0
|
|
connect by
|
|
prior o.object_id = o.contained_by
|
|
and o.deleted = 0;
|
|
end;
|
|
|
|
function locate_by_loadwith_batch (p_loadwiths vaofstring, p_chunk_size number)
|
|
return number
|
|
as
|
|
begin
|
|
forall i in 1..p_chunk_size
|
|
insert into object_list (object_id)
|
|
select o.object_id
|
|
from objects o
|
|
where o.load_with = p_loadwiths(i) and o.deleted = 0;
|
|
|
|
return sql%rowcount;
|
|
end;
|
|
|
|
procedure locate_contents (p_container_id number)
|
|
as
|
|
begin
|
|
insert into object_list (object_id, container_level)
|
|
select object_id, 100
|
|
from objects o
|
|
where o.load_with = p_container_id and o.deleted = 0;
|
|
end;
|
|
|
|
procedure locate_structure (p_object_id number, p_x out number, p_z out number, p_scene_id out varchar2, p_found out number)
|
|
as
|
|
begin
|
|
select x, z, scene_id, 1 into p_x, p_z, p_scene_id, p_found
|
|
from objects
|
|
where object_id = p_object_id and deleted = 0 and
|
|
type_id in (1112885583, -- BuildingObject
|
|
1212763727, -- HarvesterInstallationObject
|
|
1229869903, -- InstallationObject
|
|
1296649807); -- ManufactureInstallationObject
|
|
exception
|
|
when no_data_found then
|
|
p_found := 0;
|
|
end;
|
|
|
|
function get_characters (p_station_id number) return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select
|
|
character_object,
|
|
object_template_id,
|
|
scene_id,
|
|
object_name,
|
|
container,
|
|
x,
|
|
y,
|
|
z
|
|
from character_view
|
|
where station_id = p_station_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_chunk_object_list (p_scene_id varchar, p_node_x float, p_node_z float) return number
|
|
as
|
|
num number;
|
|
begin
|
|
select count(*)
|
|
into num
|
|
from objects
|
|
where node_x = p_node_x
|
|
and node_z = p_node_z
|
|
and scene_id = p_scene_id
|
|
and deleted = 0;
|
|
|
|
if (num > 0) then
|
|
insert into object_list (object_id, container_level)
|
|
select object_id, level
|
|
from objects
|
|
start with
|
|
node_x = p_node_x
|
|
and node_z = p_node_z
|
|
and scene_id = p_scene_id
|
|
and deleted = 0
|
|
and contained_by = 0
|
|
and player_controlled = 'N'
|
|
connect by
|
|
prior object_id = contained_by
|
|
and deleted = 0
|
|
and player_controlled='N'
|
|
and prior load_contents='Y';
|
|
|
|
return sql%rowcount;
|
|
else
|
|
return 0;
|
|
end if;
|
|
end;
|
|
|
|
function load_manf_schematic_attributes return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */ t.object_id, t.attribute_type, t.value
|
|
from
|
|
object_list l,
|
|
manf_schematic_attributes t
|
|
where t.object_id = l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_armor return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.layer,
|
|
t.object_template,
|
|
t.effectiveness,
|
|
t.integrity,
|
|
t.special_protections,
|
|
t.encumberance_0,
|
|
t.encumberance_1,
|
|
t.encumberance_2,
|
|
t.encumberance_3,
|
|
t.encumberance_4,
|
|
t.encumberance_5,
|
|
t.encumberance_6,
|
|
t.encumberance_7,
|
|
t.encumberance_8
|
|
from
|
|
object_list l,
|
|
armor t
|
|
where t.object_id = l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_scripts return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T)*/
|
|
t.object_id, t.script, t.sequence_no
|
|
from
|
|
object_list l,
|
|
scripts t
|
|
where t.object_id = l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_object_variables return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T)*/
|
|
t.object_id, t.name_id, t.type, t.value
|
|
from
|
|
object_list l,
|
|
object_variables t
|
|
where l.object_id = t.object_id
|
|
and nvl(t.detached,0) = 0;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_property_lists return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id, t.list_id, t.value
|
|
from object_list l, property_lists t
|
|
where t.object_id = l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_experience return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id, t.experience_type, t.points
|
|
from object_list l, experience_points t
|
|
where t.object_id = l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_battlefield_participants return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select t.region_object_id, t.character_object_id, t.faction_id /*+ ORDERED USE_NL(T) */
|
|
from object_list l, battlefield_participants t
|
|
where t.region_object_id = l.object_id; -- order does not matter
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_messages return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(MESSAGES) */
|
|
target, message_id, method, data, call_time, guaranteed, delivery_type
|
|
from object_list, messages
|
|
where target =object_list.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_location return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.list_id,
|
|
t.sequence_number,
|
|
t.name,
|
|
t.scene,
|
|
t.x,
|
|
t.y,
|
|
t.z,
|
|
t.radius
|
|
from
|
|
object_list l,
|
|
location_lists t
|
|
where t.object_id = l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_object
|
|
return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
x,
|
|
y,
|
|
z,
|
|
quaternion_w,
|
|
quaternion_x,
|
|
quaternion_y,
|
|
quaternion_z,
|
|
node_x,
|
|
node_y,
|
|
node_z,
|
|
object_template_id,
|
|
type_id,
|
|
scene_id,
|
|
controller_type,
|
|
deleted,
|
|
object_name,
|
|
volume,
|
|
contained_by,
|
|
slot_arrangement,
|
|
player_controlled,
|
|
cache_version,
|
|
load_contents,
|
|
cash_balance,
|
|
bank_balance,
|
|
complexity,
|
|
name_string_table,
|
|
name_string_text,
|
|
static_item_name,
|
|
nvl(static_item_version,0),
|
|
nvl(conversion_id,0),
|
|
load_with,
|
|
objvar_0_name,
|
|
objvar_0_type,
|
|
objvar_0_value,
|
|
objvar_1_name,
|
|
objvar_1_type,
|
|
objvar_1_value,
|
|
objvar_2_name,
|
|
objvar_2_type,
|
|
objvar_2_value,
|
|
objvar_3_name,
|
|
objvar_3_type,
|
|
objvar_3_value,
|
|
objvar_4_name,
|
|
objvar_4_type,
|
|
objvar_4_value,
|
|
objvar_5_name,
|
|
objvar_5_type,
|
|
objvar_5_value,
|
|
objvar_6_name,
|
|
objvar_6_type,
|
|
objvar_6_value,
|
|
objvar_7_name,
|
|
objvar_7_type,
|
|
objvar_7_value,
|
|
objvar_8_name,
|
|
objvar_8_type,
|
|
objvar_8_value,
|
|
objvar_9_name,
|
|
objvar_9_type,
|
|
objvar_9_value,
|
|
objvar_10_name,
|
|
objvar_10_type,
|
|
objvar_10_value,
|
|
objvar_11_name,
|
|
objvar_11_type,
|
|
objvar_11_value,
|
|
objvar_12_name,
|
|
objvar_12_type,
|
|
objvar_12_value,
|
|
objvar_13_name,
|
|
objvar_13_type,
|
|
objvar_13_value,
|
|
objvar_14_name,
|
|
objvar_14_type,
|
|
objvar_14_value,
|
|
objvar_15_name,
|
|
objvar_15_type,
|
|
objvar_15_value,
|
|
objvar_16_name,
|
|
objvar_16_type,
|
|
objvar_16_value,
|
|
objvar_17_name,
|
|
objvar_17_type,
|
|
objvar_17_value,
|
|
objvar_18_name,
|
|
objvar_18_type,
|
|
objvar_18_value,
|
|
objvar_19_name,
|
|
objvar_19_type,
|
|
objvar_19_value,
|
|
script_list,
|
|
l.container_level
|
|
from
|
|
object_list l,
|
|
objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function verify_containment_chain(p_start_with_object_id in number) return number
|
|
as
|
|
-- result codes:
|
|
-- 1 = containment chain is recursive and is in starting(character) object chain
|
|
-- (can be fixed by placing the object in the world if its a character)
|
|
-- 2 = containment chain is recursive but not in starting object chain (this must be fixed manually)
|
|
-- 3 = no recursion in containment chain
|
|
|
|
m_retval pls_integer;
|
|
m_temp pls_integer;
|
|
begin
|
|
/* m_retval := 2;
|
|
|
|
select count(*) into m_temp
|
|
from objects
|
|
start with object_id = p_start_with_object_id
|
|
connect by prior object_id = contained_by
|
|
and object_id != p_start_with_object_id;
|
|
*/
|
|
m_retval := 1;
|
|
|
|
select count(*) into m_temp
|
|
from objects
|
|
start with object_id = p_start_with_object_id
|
|
connect by object_id = prior contained_by;
|
|
|
|
m_retval := 3;
|
|
|
|
return m_retval;
|
|
exception
|
|
when others then
|
|
return m_retval;
|
|
end;
|
|
|
|
function fix_player_containment_chain(p_start_with_object_id in number) return number
|
|
as
|
|
-- result codes:
|
|
-- 0 = database error
|
|
-- 4 = success fix player containment issues
|
|
|
|
PRAGMA AUTONOMOUS_TRANSACTION;
|
|
|
|
begin
|
|
update objects set contained_by = 0 where object_id = p_start_with_object_id;
|
|
admin.fix_load_with(p_start_with_object_id, p_start_with_object_id);
|
|
commit;
|
|
|
|
return 4;
|
|
|
|
exception
|
|
when others then
|
|
return 0;
|
|
end;
|
|
|
|
|
|
|
|
procedure verify_character (p_station_id in number, p_character_id in number, p_gold_schema in varchar2, p_approved out varchar2, p_character_name out varchar2, p_scene_id out varchar2, p_container_id out number, p_x out number, p_y out number, p_z out number, p_containment_check out number)
|
|
as
|
|
|
|
-- p_containment_check is a flag indicating the containment stautus to be used for logging on the C sid
|
|
-- 0 = there was a database error trying to fix containment
|
|
-- 1 = there is a recursive containment error in the character object chain that wasn't fixed
|
|
-- 2 = there is a recursive containment error in the containment chain not in the character chain
|
|
-- 3 = the containment chain is ok
|
|
-- 4 = there was a recursive containment error in the character object chain that was fixed
|
|
|
|
m_containment_ok pls_integer;
|
|
|
|
wsx number := null;
|
|
wsy number := null;
|
|
wsz number := null;
|
|
|
|
begin
|
|
|
|
|
|
-- check containment chain
|
|
m_containment_ok := verify_containment_chain(p_character_id);
|
|
|
|
-- if containment is bad for the character object try to fix it
|
|
if (m_containment_ok = 1) then
|
|
m_containment_ok := fix_player_containment_chain(p_character_id);
|
|
end if;
|
|
|
|
p_containment_check := m_containment_ok;
|
|
|
|
if (m_containment_ok >= 3) then
|
|
|
|
select object_name, scene_id, contained_by, x, y, z, ws_x, ws_y, ws_z
|
|
into p_character_name, p_scene_id, p_container_id, p_x, p_y, p_z, wsx, wsy, wsz
|
|
from players p, objects o, creature_objects c
|
|
where p.station_id = p_station_id
|
|
and p.character_object = p_character_id
|
|
and o.object_id = p.character_object
|
|
and c.object_id = o.object_id
|
|
and o.deleted = 0;
|
|
|
|
if (p_container_id = 0) then
|
|
begin
|
|
p_container_id := p_character_id;
|
|
p_approved := 'Y';
|
|
end;
|
|
else
|
|
begin
|
|
select object_id, x,y,z,'Y'
|
|
into p_container_id, p_x, p_y, p_z, p_approved
|
|
from objects
|
|
where contained_by=0
|
|
start with object_id = p_character_id
|
|
connect by prior contained_by=object_id and prior scene_id=scene_id and player_controlled = 'N';
|
|
|
|
exception
|
|
when no_data_found then
|
|
-- might be in a gold building
|
|
if (p_gold_schema is not null) then
|
|
begin
|
|
execute immediate
|
|
'select object_id, x,y,z,''Y'' ' ||
|
|
'from ' || p_gold_schema || 'objects ' ||
|
|
'where contained_by=0 ' ||
|
|
'start with object_id = :container_id ' ||
|
|
'connect by prior contained_by=object_id'
|
|
into p_container_id, p_x, p_y, p_z, p_approved
|
|
using p_container_id;
|
|
|
|
exception
|
|
when no_data_found then
|
|
select object_id, x,y,z,'Y'
|
|
into p_container_id, p_x, p_y, p_z, p_approved
|
|
from objects
|
|
where object_id = p_character_id;
|
|
end;
|
|
else
|
|
select object_id, x,y,z,'Y'
|
|
into p_container_id, p_x, p_y, p_z, p_approved
|
|
from objects
|
|
where object_id = p_character_id;
|
|
end if;
|
|
end;
|
|
end if;
|
|
|
|
else
|
|
|
|
select 'N' into p_approved from dual;
|
|
|
|
end if;
|
|
|
|
|
|
if ( wsx is not null ) then
|
|
begin
|
|
p_x := wsx;
|
|
p_y := wsy;
|
|
p_z := wsz;
|
|
end;
|
|
end if;
|
|
|
|
|
|
update players
|
|
set last_login_time = sysdate
|
|
where station_id = p_station_id
|
|
and character_object = p_character_id;
|
|
|
|
exception
|
|
when no_data_found then
|
|
select 'N'
|
|
into p_approved
|
|
from dual;
|
|
when too_many_rows then
|
|
select 'N'
|
|
into p_approved
|
|
from dual;
|
|
when others then
|
|
select 'N'
|
|
into p_approved
|
|
from dual;
|
|
end;
|
|
|
|
|
|
|
|
|
|
function load_waypoint
|
|
return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.waypoint_id,
|
|
t.appearance_name_crc,
|
|
t.location_x,
|
|
t.location_y,
|
|
t.location_z,
|
|
t.location_cell,
|
|
t.location_scene,
|
|
t.name,
|
|
t.color,
|
|
t.active
|
|
from
|
|
object_list l,
|
|
waypoints t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_player_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) USE_NL(A)*/
|
|
t.object_id,
|
|
t.station_id,
|
|
a.house_id,
|
|
t.num_lots,
|
|
a.is_outcast,
|
|
a.cheater_level,
|
|
a.max_lots_adjustment,
|
|
t.personal_profile_id,
|
|
t.character_profile_id,
|
|
t.skill_title,
|
|
t.born_date,
|
|
t.played_time,
|
|
t.force_regen_rate,
|
|
t.force_power,
|
|
t.max_force_power,
|
|
t.active_quests,
|
|
t.completed_quests,
|
|
t.current_quest,
|
|
t.quests,
|
|
t.role_icon_choice,
|
|
t.quests2,
|
|
t.quests3,
|
|
t.quests4,
|
|
t.skill_template,
|
|
t.working_skill,
|
|
nvl(t.current_gcw_points,0),
|
|
nvl(t.current_gcw_rating,-1),
|
|
nvl(t.current_pvp_kills,0),
|
|
nvl(t.lifetime_gcw_points,0),
|
|
nvl(t.max_gcw_imperial_rating,-1),
|
|
nvl(t.max_gcw_rebel_rating,-1),
|
|
nvl(t.lifetime_pvp_kills,0),
|
|
nvl(t.next_gcw_rating_calc_time,0),
|
|
t.collections,
|
|
nvl(t.show_backpack,'Y'),
|
|
nvl(t.show_helmet,'Y'),
|
|
t.collections2
|
|
from
|
|
object_list l,
|
|
player_objects t,
|
|
accounts a
|
|
where t.station_id = a.station_id and
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_resource_types return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select
|
|
resource_id,
|
|
resource_name,
|
|
resource_class,
|
|
attributes,
|
|
fractal_seeds,
|
|
depleted_timestamp
|
|
from
|
|
resource_types;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_bounty_hunter_targets return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select object_id, target_id
|
|
from bounty_hunter_targets
|
|
where target_id <> 0;
|
|
return result_cursor;
|
|
end;
|
|
|
|
-- GENERATED PLSQL FOLLOWS
|
|
-- generated by makeloader.pl
|
|
|
|
function load_battlefield_marker_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.region_name
|
|
from
|
|
object_list l,
|
|
battlefield_marker_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_building_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.maintenance_cost,
|
|
t.time_last_checked,
|
|
t.is_public,
|
|
t.city_id
|
|
from
|
|
object_list l,
|
|
building_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_cell_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.cell_number,
|
|
t.is_public
|
|
from
|
|
object_list l,
|
|
cell_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_city_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id
|
|
from
|
|
object_list l,
|
|
city_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_creature_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.scale_factor,
|
|
t.states,
|
|
t.posture,
|
|
t.shock_wounds,
|
|
t.master_id,
|
|
t.rank,
|
|
t.base_walk_speed,
|
|
t.base_run_speed,
|
|
t.attribute_0,
|
|
t.attribute_1,
|
|
t.attribute_2,
|
|
t.attribute_3,
|
|
t.attribute_4,
|
|
t.attribute_5,
|
|
t.attribute_6,
|
|
t.attribute_7,
|
|
t.attribute_8,
|
|
t.attribute_9,
|
|
t.attribute_10,
|
|
t.attribute_11,
|
|
t.attribute_12,
|
|
t.attribute_13,
|
|
t.attribute_14,
|
|
t.attribute_15,
|
|
t.attribute_16,
|
|
t.attribute_17,
|
|
t.attribute_18,
|
|
t.attribute_19,
|
|
t.attribute_20,
|
|
t.attribute_21,
|
|
t.attribute_22,
|
|
t.attribute_23,
|
|
t.attribute_24,
|
|
t.attribute_25,
|
|
t.attribute_26,
|
|
t.persisted_buffs,
|
|
t.ws_x,
|
|
t.ws_y,
|
|
t.ws_z
|
|
from
|
|
object_list l,
|
|
creature_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_factory_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id
|
|
from
|
|
object_list l,
|
|
factory_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_guild_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id
|
|
from
|
|
object_list l,
|
|
guild_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_harvester_inst_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.installed_efficiency,
|
|
t.max_extraction_rate,
|
|
t.current_extraction_rate,
|
|
t.max_hopper_amount,
|
|
t.hopper_resource,
|
|
t.hopper_amount,
|
|
t.resource_type
|
|
from
|
|
object_list l,
|
|
harvester_installation_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_installation_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.installation_type,
|
|
t.activated,
|
|
t.tick_count,
|
|
t.activate_start_time,
|
|
t.power,
|
|
t.power_rate
|
|
from
|
|
object_list l,
|
|
installation_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_intangible_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.count
|
|
from
|
|
object_list l,
|
|
intangible_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_manf_schematic_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.creator_id,
|
|
t.creator_name,
|
|
t.items_per_container,
|
|
t.manufacture_time,
|
|
t.draft_schematic
|
|
from
|
|
object_list l,
|
|
manf_schematic_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_manufacture_inst_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id
|
|
from
|
|
object_list l,
|
|
manufacture_inst_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_mission_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.difficulty,
|
|
t.end_x,
|
|
t.end_y,
|
|
t.end_z,
|
|
t.end_cell,
|
|
t.end_scene,
|
|
t.mission_creator,
|
|
t.reward,
|
|
t.root_script_name,
|
|
t.start_x,
|
|
t.start_y,
|
|
t.start_z,
|
|
t.start_cell,
|
|
t.start_scene,
|
|
t.description_table,
|
|
t.description_text,
|
|
t.title_table,
|
|
t.title_text,
|
|
t.mission_holder_id,
|
|
t.status,
|
|
t.mission_type,
|
|
t.target_appearance,
|
|
t.target_name
|
|
from
|
|
object_list l,
|
|
mission_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_planet_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.planet_name
|
|
from
|
|
object_list l,
|
|
planet_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_resource_container_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.resource_type,
|
|
t.quantity,
|
|
t.source
|
|
from
|
|
object_list l,
|
|
resource_container_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_ship_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.slide_dampener,
|
|
t.current_chassis_hit_points,
|
|
t.maximum_chassis_hit_points,
|
|
t.chassis_type,
|
|
t.cmp_armor_hp_maximum,
|
|
t.cmp_armor_hp_current,
|
|
t.cmp_efficiency_general,
|
|
t.cmp_efficiency_eng,
|
|
t.cmp_eng_maintenance,
|
|
t.cmp_mass,
|
|
t.cmp_crc,
|
|
t.cmp_hp_current,
|
|
t.cmp_hp_maximum,
|
|
t.cmp_flags,
|
|
t.cmp_names,
|
|
t.weapon_damage_maximum,
|
|
t.weapon_damage_minimum,
|
|
t.weapon_effectiveness_shields,
|
|
t.weapon_effectiveness_armor,
|
|
t.weapon_eng_per_shot,
|
|
t.weapon_refire_rate,
|
|
t.weapon_ammo_current,
|
|
t.weapon_ammo_maximum,
|
|
t.weapon_ammo_type,
|
|
t.shield_hp_front_maximum,
|
|
t.shield_hp_back_maximum,
|
|
t.shield_recharge_rate,
|
|
t.capacitor_eng_maximum,
|
|
t.capacitor_eng_recharge_rate,
|
|
t.engine_acc_rate,
|
|
t.engine_deceleration_rate,
|
|
t.engine_pitch_acc_rate,
|
|
t.engine_yaw_acc_rate,
|
|
t.engine_roll_acc_rate,
|
|
t.engine_pitch_rate_maximum,
|
|
t.engine_yaw_rate_maximum,
|
|
t.engine_roll_rate_maximum,
|
|
t.engine_speed_maximum,
|
|
t.reactor_eng_generation_rate,
|
|
t.booster_eng_maximum,
|
|
t.booster_eng_recharge_rate,
|
|
t.booster_eng_consumption_rate,
|
|
t.booster_acc,
|
|
t.booster_speed_maximum,
|
|
t.droid_if_cmd_speed,
|
|
t.installed_dcd,
|
|
t.chassis_cmp_mass_maximum,
|
|
t.cmp_creators,
|
|
t.cargo_hold_contents_maximum,
|
|
t.cargo_hold_contents_current,
|
|
t.cargo_hold_contents
|
|
from
|
|
object_list l,
|
|
ship_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_static_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id
|
|
from
|
|
object_list l,
|
|
static_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_tangible_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.max_hit_points,
|
|
t.owner_id,
|
|
t.visible,
|
|
t.appearance_data,
|
|
t.interest_radius,
|
|
t.pvp_type,
|
|
t.pvp_faction,
|
|
t.damage_taken,
|
|
t.custom_appearance,
|
|
t.count,
|
|
t.condition,
|
|
t.creator_id,
|
|
t.source_draft_schematic
|
|
from
|
|
object_list l,
|
|
tangible_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_token_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.reference,
|
|
t.target_server_template_name,
|
|
t.target_shared_template_name,
|
|
t.waypoint
|
|
from
|
|
object_list l,
|
|
token_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_universe_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id
|
|
from
|
|
object_list l,
|
|
universe_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_vehicle_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.bogus
|
|
from
|
|
object_list l,
|
|
vehicle_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
function load_weapon_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.min_damage,
|
|
t.max_damage,
|
|
t.damage_type,
|
|
t.elemental_type,
|
|
t.elemental_value,
|
|
t.attack_speed,
|
|
t.wound_chance,
|
|
t.accuracy,
|
|
t.attack_cost,
|
|
t.damage_radius,
|
|
t.min_range,
|
|
t.max_range
|
|
from
|
|
object_list l,
|
|
weapon_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
|
|
|
|
function load_player_quest_object return cursortype
|
|
as
|
|
result_cursor cursortype;
|
|
begin
|
|
open result_cursor for
|
|
select /*+ ORDERED USE_NL(T) */
|
|
t.object_id,
|
|
t.title,
|
|
t.description,
|
|
t.creator,
|
|
t.total_tasks,
|
|
t.difficulty,
|
|
t.task_title1,
|
|
t.task_description1,
|
|
t.task_title2,
|
|
t.task_description2,
|
|
t.task_title3,
|
|
t.task_description3,
|
|
t.task_title4,
|
|
t.task_description4,
|
|
t.task_title5,
|
|
t.task_description5,
|
|
t.task_title6,
|
|
t.task_description6,
|
|
t.task_title7,
|
|
t.task_description7,
|
|
t.task_title8,
|
|
t.task_description8,
|
|
t.task_title9,
|
|
t.task_description9,
|
|
t.task_title10,
|
|
t.task_description10,
|
|
t.task_title11,
|
|
t.task_description11,
|
|
t.task_title12,
|
|
t.task_description12
|
|
from
|
|
object_list l,
|
|
player_quest_objects t
|
|
where
|
|
t.object_id=l.object_id;
|
|
|
|
return result_cursor;
|
|
end;
|
|
end;
|
|
/
|