mirror of
https://gitea.wildfiregames.com/0ad/0ad
synced 2026-07-04 05:55:47 -07:00
Updates to the entity XMLs (they work like the DD says they should, now - more or less)
This was SVN commit r1221.
This commit is contained in:
parent
2ab625720b
commit
2aeaa40326
10 changed files with 176 additions and 128 deletions
|
|
@ -1,14 +1,20 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
|
||||
<Entity>
|
||||
<Name>Deciduous Tree 1</Name>
|
||||
<Entity Tag="Deciduous Tree 1">
|
||||
<Traits>
|
||||
<Id
|
||||
generic="Deciduous Tree 1"
|
||||
internal_only="false"
|
||||
icon="portrait_flora_deciduotree_lrg"
|
||||
version="0.1 pasap2"
|
||||
/>
|
||||
</Traits>
|
||||
<Actions>
|
||||
<Move
|
||||
speed="0"
|
||||
turningRadius="0"
|
||||
/>
|
||||
</Actions>
|
||||
<Actor>Deciduous 1</Actor>
|
||||
<Speed>0</Speed>
|
||||
<TurningRadius>0.0</TurningRadius>
|
||||
<Size Radius="1.0"/>
|
||||
<GraphicsOffset x="0" y="0" />
|
||||
<EventHandlers>
|
||||
<Initialize>scripts/pasap/initdude</Initialize>
|
||||
<Update>scripts/pasap/tick</Update>
|
||||
</EventHandlers>
|
||||
</Entity>
|
||||
<Footprint Radius="1.0"/>
|
||||
</Entity>
|
||||
|
|
@ -1,14 +1,20 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
|
||||
<Entity>
|
||||
<Name>Deciduous Tree 2</Name>
|
||||
<Entity Tag="Deciduous Tree 2">
|
||||
<Traits>
|
||||
<Id
|
||||
generic="Deciduous Tree 2"
|
||||
internal_only="false"
|
||||
icon="portrait_flora_deciduotree_lrg"
|
||||
version="0.1 pasap2"
|
||||
/>
|
||||
</Traits>
|
||||
<Actions>
|
||||
<Move
|
||||
speed="0"
|
||||
turningRadius="0"
|
||||
/>
|
||||
</Actions>
|
||||
<Actor>Deciduous 2</Actor>
|
||||
<Speed>0</Speed>
|
||||
<TurningRadius>0.0</TurningRadius>
|
||||
<Size Radius="1.0"/>
|
||||
<GraphicsOffset x="0" y="0" />
|
||||
<EventHandlers>
|
||||
<Initialize>scripts/pasap/initdude</Initialize>
|
||||
<Update>scripts/pasap/tick</Update>
|
||||
</EventHandlers>
|
||||
<Footprint Radius="1.0"/>
|
||||
</Entity>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,20 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
|
||||
<Entity>
|
||||
<Name>House</Name>
|
||||
<Entity Tag="House">
|
||||
<Traits>
|
||||
<Id
|
||||
generic="House"
|
||||
internal_only="false"
|
||||
icon="portrait_structure_heleho_lrg"
|
||||
version="0.1 pasap2"
|
||||
/>
|
||||
</Traits>
|
||||
<Actions>
|
||||
<Move
|
||||
speed="0"
|
||||
turningRadius="20.0"
|
||||
/>
|
||||
</Actions>
|
||||
<Actor>Greek House</Actor>
|
||||
<Speed>0</Speed>
|
||||
<TurningRadius>20.0</TurningRadius>
|
||||
<Footprint Width="12.0" Height="12.0" />
|
||||
<Footprint Width="12.0" Height="12.0"/>
|
||||
</Entity>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
|
||||
<!-- File painstakingly generated by hand -->
|
||||
|
||||
<Entity>
|
||||
<Name>Cavalry Dude</Name>
|
||||
<Actor>Draft Horse</Actor>
|
||||
<Speed>10.0</Speed>
|
||||
<TurningRadius>2.0</TurningRadius>
|
||||
<Size Radius="0.5" />
|
||||
<Ability>GOTO</Ability>
|
||||
<Ability>PATROL</Ability>
|
||||
</Entity>
|
||||
19
binaries/data/mods/official/entities/units/Generic Dude.xml
Executable file
19
binaries/data/mods/official/entities/units/Generic Dude.xml
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
|
||||
<Entity Tag="Generic Dude">
|
||||
<Traits>
|
||||
<Id
|
||||
generic="Generic Dude"
|
||||
internal_only="true"
|
||||
version="0.1 pasap2"
|
||||
/>
|
||||
</Traits>
|
||||
<Actions>
|
||||
<Move
|
||||
speed="3.0"
|
||||
turningRadius="0.0"
|
||||
/>
|
||||
<Patrol />
|
||||
</Actions>
|
||||
<Footprint Radius="0.5"/>
|
||||
</Entity>
|
||||
|
|
@ -1,13 +1,31 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
|
||||
<!-- File painstakingly generated by hand -->
|
||||
|
||||
<Entity>
|
||||
<Name>Prometheus Dude</Name>
|
||||
<Entity Tag="Prometheus Dude" Parent="Generic Dude">
|
||||
<Traits>
|
||||
<Id
|
||||
generic="Prometheus Dude"
|
||||
internal_only="false"
|
||||
icon="portrait_unit_dude_lrg"
|
||||
version="0.1 pasap2"
|
||||
/>
|
||||
</Traits>
|
||||
<Event On="Initialize">
|
||||
<![CDATA[
|
||||
// PASAP wander-between-houses script
|
||||
|
||||
houses = entities.subset( "this.template.tag == \"House\"" );
|
||||
while( houses.length )
|
||||
{
|
||||
index = Math.floor( Math.random() * houses.length );
|
||||
house = houses[index];
|
||||
console.write( house.position );
|
||||
this.orderQueued( 4 /* patrol */, house.position.x, house.position.z );
|
||||
houses.remove( index );
|
||||
}
|
||||
console.write( "A new Dude has entered your dungeon." );
|
||||
]]>
|
||||
</Event>
|
||||
|
||||
<Actor>The Dude</Actor>
|
||||
<Speed>3.0</Speed>
|
||||
<TurningRadius>2.0</TurningRadius>
|
||||
<Size Radius="0.5" />
|
||||
<Ability>GOTO</Ability>
|
||||
<Ability>PATROL</Ability>
|
||||
</Entity>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
|
||||
<!-- File painstakingly generated by hand -->
|
||||
|
||||
<Entity>
|
||||
<Name>Prometheus Dudette</Name>
|
||||
<Entity Tag="Prometheus Dudette" Parent="Generic Dude">
|
||||
<Traits>
|
||||
<Id
|
||||
generic="Prometheus Dudette"
|
||||
internal_only="false"
|
||||
icon="portrait_unit_dudette_lrg"
|
||||
version="0.1 pasap2"
|
||||
/>
|
||||
</Traits>
|
||||
<Actor>The Dudette</Actor>
|
||||
<Speed>3.0</Speed>
|
||||
<TurningRadius>2.0</TurningRadius>
|
||||
<Size Radius="0.5" />
|
||||
<Ability>GOTO</Ability>
|
||||
<Ability>PATROL</Ability>
|
||||
</Entity>
|
||||
</Entity>
|
||||
21
binaries/data/mods/official/entities/units/Prometheus Equestrian.xml
Executable file
21
binaries/data/mods/official/entities/units/Prometheus Equestrian.xml
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
|
||||
<Entity Tag="Prometheus Equestrian" Parent="Generic Dude">
|
||||
<Traits>
|
||||
<Id
|
||||
generic="Prometheus Equestrian"
|
||||
internal_only="false"
|
||||
icon="portrait_unit_cavalrydude_lrg"
|
||||
version="0.1 pasap2"
|
||||
/>
|
||||
</Traits>
|
||||
<Actions>
|
||||
<Move
|
||||
speed="8.0"
|
||||
turningRadius="0.0"
|
||||
/>
|
||||
</Actions>
|
||||
|
||||
<Actor>Draft Horse</Actor>
|
||||
<Footprint Radius="1.5"/>
|
||||
</Entity>
|
||||
|
|
@ -30,13 +30,13 @@ function GUIUpdateObjectInfo() {
|
|||
ObjectNameText = getGUIObjectByName("selection_name_test");
|
||||
ObjectPositionText = getGUIObjectByName("selection_pos_test");
|
||||
ObjectSpeedText = getGUIObjectByName("selection_speed_test");
|
||||
ObjectPortrait = getGUIObjectByName("selection_portrait_test");
|
||||
ObjectStatAttack = getGUIObjectByName("statistic_attack");
|
||||
ObjectStatHack = getGUIObjectByName("statistic_hack");
|
||||
ObjectStatPierce = getGUIObjectByName("statistic_pierce");
|
||||
ObjectStatAccuracy = getGUIObjectByName("statistic_accuracy");
|
||||
ObjectStatLOS = getGUIObjectByName("statistic_los");
|
||||
ObjectStatSpeed = getGUIObjectByName("statistic_speed");
|
||||
ObjectPortrait = getGUIObjectByName("selection_portrait_test");
|
||||
ObjectStatAttack = getGUIObjectByName("statistic_attack");
|
||||
ObjectStatHack = getGUIObjectByName("statistic_hack");
|
||||
ObjectStatPierce = getGUIObjectByName("statistic_pierce");
|
||||
ObjectStatAccuracy = getGUIObjectByName("statistic_accuracy");
|
||||
ObjectStatLOS = getGUIObjectByName("statistic_los");
|
||||
ObjectStatSpeed = getGUIObjectByName("statistic_speed");
|
||||
|
||||
// Check number of selected entities
|
||||
if (selection.length > 1) {
|
||||
|
|
@ -49,81 +49,60 @@ function GUIUpdateObjectInfo() {
|
|||
|
||||
} else {
|
||||
|
||||
if (!selection[0]) {
|
||||
if ( !selection.length ) {
|
||||
|
||||
// Reset portrait
|
||||
ObjectPortrait.hidden = true;
|
||||
// Reset portrait
|
||||
ObjectPortrait.hidden = true;
|
||||
|
||||
// Reset statistic icons.
|
||||
ObjectStatAttack.hidden = true;
|
||||
ObjectStatHack.hidden = true;
|
||||
ObjectStatPierce.hidden = true;
|
||||
ObjectStatAccuracy.hidden = true;
|
||||
ObjectStatLOS.hidden = true;
|
||||
ObjectStatSpeed.hidden = true;
|
||||
// Reset statistic icons.
|
||||
ObjectStatAttack.hidden = true;
|
||||
ObjectStatHack.hidden = true;
|
||||
ObjectStatPierce.hidden = true;
|
||||
ObjectStatAccuracy.hidden = true;
|
||||
ObjectStatLOS.hidden = true;
|
||||
ObjectStatSpeed.hidden = true;
|
||||
|
||||
// Reset object name
|
||||
ObjectNameText.caption = "";
|
||||
ObjectNameText.hidden = true;
|
||||
// Reset object name
|
||||
ObjectNameText.caption = "";
|
||||
ObjectNameText.hidden = true;
|
||||
|
||||
// Reset position
|
||||
ObjectPositionText.caption = "";
|
||||
ObjectPositionText.hidden = true;
|
||||
// Reset position
|
||||
ObjectPositionText.caption = "";
|
||||
ObjectPositionText.hidden = true;
|
||||
|
||||
// Reset Speed
|
||||
ObjectSpeedText.caption = "";
|
||||
ObjectSpeedText.hidden = true;
|
||||
// Reset Speed
|
||||
ObjectSpeedText.caption = "";
|
||||
ObjectSpeedText.hidden = true;
|
||||
|
||||
} else {
|
||||
|
||||
// Update portrait (temporary switch statement until entity icons are implemented).
|
||||
switch (selection[0].name)
|
||||
{
|
||||
case ("Prometheus Dude"):
|
||||
ObjectPortrait.sprite="portrait_unit_dude_lrg";
|
||||
break;
|
||||
case ("Prometheus Dudette"):
|
||||
ObjectPortrait.sprite="portrait_unit_dudette_lrg";
|
||||
break;
|
||||
case ("Cavalry Dude"):
|
||||
ObjectPortrait.sprite="portrait_unit_cavalrydude_lrg";
|
||||
break;
|
||||
case ("Deciduous Tree 1"):
|
||||
case ("Deciduous Tree 2"):
|
||||
ObjectPortrait.sprite="portrait_flora_deciduotree_lrg";
|
||||
break;
|
||||
case ("House"):
|
||||
ObjectPortrait.sprite="portrait_structure_heleho_lrg";
|
||||
break;
|
||||
default:
|
||||
ObjectPortrait.sprite="portrait_unknown_lrg";
|
||||
break;
|
||||
// Update portrait
|
||||
ObjectPortrait.sprite = selection[0].traits.id.icon;
|
||||
|
||||
ObjectPortrait.hidden = false;
|
||||
|
||||
}
|
||||
// Turn on statistic icons.
|
||||
ObjectStatAttack.hidden = false;
|
||||
ObjectStatHack.hidden = false;
|
||||
ObjectStatPierce.hidden = false;
|
||||
ObjectStatAccuracy.hidden = false;
|
||||
ObjectStatLOS.hidden = false;
|
||||
ObjectStatSpeed.hidden = false;
|
||||
|
||||
ObjectPortrait.hidden = false;
|
||||
// Update object name
|
||||
ObjectNameText.caption = selection[0].traits.id.generic;
|
||||
ObjectNameText.hidden = false;
|
||||
|
||||
// Turn on statistic icons.
|
||||
ObjectStatAttack.hidden = false;
|
||||
ObjectStatHack.hidden = false;
|
||||
ObjectStatPierce.hidden = false;
|
||||
ObjectStatAccuracy.hidden = false;
|
||||
ObjectStatLOS.hidden = false;
|
||||
ObjectStatSpeed.hidden = false;
|
||||
// Update position
|
||||
var strString = "" + selection[0].position;
|
||||
ObjectPositionText.caption = "Position: " + strString.substring(20,strString.length-3);
|
||||
|
||||
//ObjectPositionText.caption = strString;
|
||||
ObjectPositionText.hidden = false;
|
||||
|
||||
// Update object name
|
||||
ObjectNameText.caption = selection[0].name;
|
||||
ObjectNameText.hidden = false;
|
||||
|
||||
// Update position
|
||||
var strString = "" + selection[0].position;
|
||||
ObjectPositionText.caption = "Position: " + strString.substring(20,strString.length-3);
|
||||
//ObjectPositionText.caption = strString;
|
||||
ObjectPositionText.hidden = false;
|
||||
|
||||
// Update speed
|
||||
ObjectSpeedText.caption = selection[0].speed;
|
||||
ObjectSpeedText.hidden = false;
|
||||
// Update speed
|
||||
ObjectSpeedText.caption = selection[0].actions.move.speed;
|
||||
ObjectSpeedText.hidden = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -214,6 +214,7 @@
|
|||
<image texture="ui_portrait_unit_dudette_32_over.png" texture-size="0 0 32 32" size="0 0 32 32" />
|
||||
</sprite>
|
||||
|
||||
|
||||
<!-- The Cavalry Dude -->
|
||||
<sprite name="portrait_unit_cavalrydude_lrg">
|
||||
<image texture="ui_portrait_unit_cavalrydude_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
|
||||
|
|
|
|||
Loading…
Reference in a new issue