Erik Ogenvik
0ca22bcf68
Specify scripts for entity as property.
...
This allows multiple scripts to be used. In addition it allows for
entity with specific scripts.
2018-07-04 19:20:24 +02:00
Erik Ogenvik
d7960b3100
Improve on how updated types are handled.
...
By installing and changing some types, other types might update. This is
now handled.
2018-05-08 14:32:02 +02:00
Erik Ogenvik
d4604d034d
Correctly handled updated type properties.
...
When a type is updated we now property re-apply modified properties on
affected entities.
2018-04-29 17:21:44 +02:00
Erik Ogenvik
a6195c1ac6
Made all game entities definable through xml.
...
This makes it easier to alter properties in real time.
2018-04-29 11:58:35 +02:00
Erik Ogenvik
d7900bebfb
Added property for perception of sights.
...
Instead of having it determined by sending looks ops.
It's a float value since there's a possibility to apply is as a factor
of the default view distance.
2018-04-25 20:15:28 +02:00
Erik Ogenvik
ba777f05d7
Make characters stick to the ground.
...
This is done through the "step_factor" property.
2018-04-21 20:35:07 +02:00
Erik Ogenvik
380b4e21d9
Added rolling and spinning friction.
2018-03-12 18:15:20 +01:00
Erik Ogenvik
4cabaed1c8
Add support for submerged entities.
...
An entity becomes "submerged" when it moves into a body of water.
Currently we only check if its y-position is below 0, but we aim to
provide better support for various water entities in the future.
2018-02-24 00:20:02 +01:00
Erik Ogenvik
c19576d694
Added property for jumping, "speed-jump".
...
Entities without it cannot jump.
2018-02-20 23:08:14 +01:00
Erik Ogenvik
2bbbad4c58
Restructure and add "present" properties.
...
Also make sure that the correct geometry is used whenever possible.
2018-02-20 22:26:27 +01:00
Erik Ogenvik
0bc9450cff
Standarize on double precision.
2018-02-12 09:46:30 +01:00
Erik Ogenvik
ca2abb94b5
Refactor how movement is handled and sent.
...
We've introduced the properties "speed-ground", "speed-water" and
"speed-flight" which specifies the top speed in m/s for each medium.
The "propel" attribute is now normalized, since it's multiplied with the
applicable top speed (depending on the medium, although currently we
only use the ground speed, TODO).
2018-02-11 23:22:20 +01:00
Erik Ogenvik
fe36774f5b
Use "type" instead of "shape" for geometry.
...
Since we now support "asset".
2018-02-06 13:45:11 +01:00
Erik Ogenvik
9584fbabe3
Use upright capsule for plants.
2018-02-06 13:45:10 +01:00
Erik Ogenvik
7fb146eb36
Standardize installation of standard types.
...
This way the base types are exposed to clients.
2018-02-06 13:45:10 +01:00
Erik Ogenvik
0286bcd47d
Replace "parents" with "parent".
2017-07-24 15:05:18 +02:00
Erik Ogenvik
7aaa9b9ba7
Optimize includes.
2017-03-19 21:36:52 +01:00
Olek Wojnar
9e1b3b92c3
Fix typos
...
Courtesy of lintian
2016-09-06 22:29:36 -04:00
Erik Ogenvik
45555fd698
Use custom format for archetypes.
...
This required the EntityKit to be refactored, so that most fields are
pushed into EntityFactory. Due to the nature of how the rule handlers
and the factories interact the code is pretty messy. It works, but it's
tangled and not really clean.
2013-11-15 21:39:35 +01:00
Olek Wojnar
7f9ff2246d
Remove CVS $Id tags
...
The legacy tags are causing build issues in Debian.
2013-07-15 20:31:59 +02:00
Alistair Riddoch
745d263709
Fail cleanly if a type exists
...
The code would segfault if installing a new entity class failed at the last
stage in Inheritance. Inheritance would return null, which would be assigned
to the factory's m_type. addProperties() assumes the pointer is not null.
This fix adds a check, and reports a failure undoing the whole process.
2013-02-21 21:53:11 +00:00
Alistair Riddoch
4a9c7078f7
Refactor to use LocatedEntity as base class
...
All IG code should use the interface of LocatedEntity when dealing
with any entity, rather than sometimes requiring Entity. Add virtual
functions to the interface where required, and modify all other interfaces
to stop them using Entity. This makes the code way cleaner, and much better
de-coupled.
2013-01-17 10:17:07 +00:00
Alistair Riddoch
5cedd45f29
Turns out this doesn't use the concrete factory
2011-12-21 00:26:43 +00:00
Alistair Riddoch
d1ac1ad740
I love removing includes
2011-12-20 16:03:47 +00:00
Alistair Riddoch
43e06f60c4
Change the place where script factory is deleted
...
When the module has change, we get rid of the old factory, but it is
bad to do this before we know whether the new module is good.
2011-12-18 21:09:48 +00:00
Alistair Riddoch
d3c1b94537
Move call to refresh class on rule update
...
Previous was the wrong place, as it would result in a reload
even if it had change, and later had to be loaded from the new class name
2011-12-18 20:48:01 +00:00
Alistair Riddoch
577539aa6e
Make installing types a little more consistent
2011-12-17 18:37:28 +00:00
Alistair Riddoch
046bb0565d
Remove support for old style mind rules
2011-12-16 16:50:45 +00:00
Alistair Riddoch
be735604b3
Move mind creation to the property
...
Also clean up factory, make more flexible and use shared script factory
code.
2011-12-15 18:33:32 +00:00
Alistair Riddoch
1f4b7bf1b9
Move PythonScriptFactory into the correct named file in the right place
2011-12-15 18:26:37 +00:00
Alistair Riddoch
e7f5ac91ea
Converty ScriptFactory for Entity to a template
...
This class is now completely generic except for the type pointers for
the class being wrapped, so this starts the codebase moving to using
it for all server objects that should be scriptable
2011-12-15 01:00:28 +00:00
Alistair Riddoch
0e8f9ccc95
Replace abstract script factories with common template
2011-12-14 14:26:01 +00:00
Alistair Riddoch
325d9265f3
Remove updateChildren to updateProperties
...
This name makes more sense, and now the interface is more consistent.
2011-12-13 00:40:43 +00:00
Alistair Riddoch
a59c17f109
Remove now empty method
2011-12-13 00:39:08 +00:00
Alistair Riddoch
95d0d4ccad
Move attribute copying into the function
2011-12-11 05:31:43 +00:00
Alistair Riddoch
92dba70495
Refactor script factories to use PythonClass
2011-11-08 19:55:51 +00:00
Alistair Riddoch
5e1461a95c
Add some parameter checking assertions
2011-09-21 11:18:30 +01:00
Alistair Riddoch
5817393989
Consolidate Atlas script description parsing
...
This helper in the base class is identical to the query which was duplicated
in two places, so clearly needed to be consolidated here
2011-09-19 00:40:40 +01:00
Alistair Riddoch
ceb67d1033
Remove some unneeded includes
2011-09-18 17:36:42 +01:00
Alistair Riddoch
07201f1358
Handle Inheritance more consistently
...
Add an internal method for base classes, allowing the code that manipulates
the inheritance tree to be in a consistent place.
2011-09-18 17:26:26 +01:00
Alistair Riddoch
50043e6759
Remove some unneeded includes
2011-09-18 14:58:16 +01:00
Alistair Riddoch
4cf672cb23
Move Entity class rule processing to it's own class
2011-09-18 01:33:07 +01:00