Bug 2658 - Entity fixes + changes
Status: ASSIGNED
Alias: None
Product: Tremulous
Classification: Unclassified
Component: Misc
Version: unspecified
Hardware: PC Linux
: P3 enhancement
Assignee: Tremulous Bugs
QA Contact:
URL:
Depends on:
Blocks:
 
Reported: 2006-04-16 02:06 EDT by OverFlow
Modified: 2007-09-15 19:42:42 EDT
4 users (show)

See Also:



Description OverFlow 2006-04-16 02:06:05 EDT
Entity changes I'd like to see...

* trigger_equipment actually trigger for larmour and bsuit

* trigger_equipment also have a 'not' case i.e. triggers if person 
     NOT holding some equipment -or- add 'equipments' that are no 
     backpack and no armor.

* trigger_equipment+trigger_class targetable to turn them on and off

* Add something like target_hurt... so anyone who triggers it gets
     hurt.  Not sure how this would work with multiple people triggering
     it... cause I'd like it to hurt all of them.  The general idea is
     that I'd like to have something that would hurt specific 
     team/class/equipment.

* Allow animated map objects to play one loop on their animation on 
     trigger.  You can get around this currently, but its some extra work.

* The push entities try to play sounds when activated.  Either get rid
     of sounds, or allow specification of sound played.

* General adding of equipment and class lists to all entities... not 
     very necessary, but could be nice if other people start making
     mission maps...

maybe some more as I try to make my map work...
Comment 1 OverFlow 2006-04-16 02:09:45 EDT
* Make triggering teleporters disable/enable them.
Comment 2 Catalyc 2006-04-23 10:32:57 EDT
* Add a wait key for func_plat, seconds it takes to return to initial position after it reached final (like wait for func_door). ATM if a player is standing on it it will stay in final position untill the player gets off.
Comment 3 Catalyc 2006-04-25 10:34:59 EDT
* Add a trail entity so the trail system can be used in maps

* Add a wait key to the misc_particle_system entity, number of seconds it takes for the particle to toggle off after its been triggered. Can be worked around currently with delays.
Comment 4 Catalyc 2006-05-01 12:22:38 EDT
* Add team_alien_creep, team_human_power entities that give power/creep within a certain radius
Comment 5 Tim Angus 2006-06-04 18:12:20 EDT
(In reply to comment #0)
> * trigger_equipment actually trigger for larmour and bsuit

Fixed.

> * trigger_equipment also have a 'not' case i.e. triggers if person 
>      NOT holding some equipment -or- add 'equipments' that are no 
>      backpack and no armor.

Done.

> * trigger_equipment+trigger_class targetable to turn them on and off

Done. (trigger_buildable too).

> * Add something like target_hurt... so anyone who triggers it gets
>      hurt.  Not sure how this would work with multiple people triggering
>      it... cause I'd like it to hurt all of them.  The general idea is
>      that I'd like to have something that would hurt specific 
>      team/class/equipment.

Done.

> * Allow animated map objects to play one loop on their animation on 
>      trigger.  You can get around this currently, but its some extra work.

Still working on that.

> * The push entities try to play sounds when activated.  Either get rid
>      of sounds, or allow specification of sound played.

Done.

> * General adding of equipment and class lists to all entities... not 
>      very necessary, but could be nice if other people start making
>      mission maps...

meh.

> maybe some more as I try to make my map work...

:p
Comment 6 Tim Angus 2006-06-11 17:41:15 EDT
(In reply to comment #1)
> * Make triggering teleporters disable/enable them.

Done.

(In reply to comment #2)
> * Add a wait key for func_plat, seconds it takes to return to initial position
> after it reached final (like wait for func_door). ATM if a player is standing
> on it it will stay in final position untill the player gets off.

It already has a wait key, but will wait indefinitely if a player is triggering it. Added DONT_WAIT spawnflag to disable this behaviour.

(In reply to comment #3) 
> * Add a wait key to the misc_particle_system entity, number of seconds it takes
> for the particle to toggle off after its been triggered. Can be worked around
> currently with delays.

Done.
Comment 7 Tim Angus 2006-06-11 17:43:19 EDT
Not done yet:

* Single trigger misc_anim_model
* misc_trail_system entity

Not sure I see the point in doing:

(In reply to comment #4)
> * Add team_alien_creep, team_human_power entities that give power/creep within
> a certain radius

Comment 8 soubok 2006-08-01 10:38:45 EDT
(forum topic: http://tremulous.net/phpBB2/viewtopic.php?t=1000)

Enhancements of existing entities:
---------------------------------

- target_score should accept negative count ( penality )
- teleport should preserve the current angles of the player
- lightJunior should suport attribute style
- trigger_gravity should accept the keyword "default_worldspawn_value" (or something) in gravity value . 
- allow more than 50 chars in target_print
- path_corner should have a STOP flag ( only solution for the moment is wait 99999, and then retrig the related func_train )
  ! about path_corner, in a func_train + tag_corners system, when you trigger the func_train, it will stop, and when you trigger it again, it will continue. This is true even if the path_corner have very long wait delay consequently, when the train is waiting at this path_corner, it seems to be stoped, but it is not the case, it is just waiting, and then you have to trigger it TWICE to make it continue ( In my map, I use this system to make toggleable doors, a drawing is available here: http://soubok.googlepages.com/tremulous_editing_tips )



New entities:
------------

target_loose_equipment
flags:
- NEGATE
attributes:
- equipment: a comma delimited list of equipment which will trigger this entity.
description:
When triggered, this remove the equipment a human is carrying. Apply on player that cause the trigger.


target_add_credits
flags:
-
attributes:
- team: 1 for aliens, 2 for humans
- min: cannot be less than this value
- max: cannot be more than this value
- count: value to add to the player's credit/evolution counter
description:
- When triggered, add or remove (if count < 0) credits/evolutions to the human/alien that cause the trigger
note:
- for alien team, credits are evolutions


target_stage
flags:
-
attributes:
- team: 1 for aliens, 2 for humans
- stage: 1 for stage 2, 2 for stage 3
description:
- When triggered, this causes an unconditional stage change for the team.


target_build_points
flags:
-
attributes:
- team: 1 for aliens, 2 for humans
- points: build points for the team.
description:
- set the build points for the specified team
note:
- coupled with trigger_stage it can be intresting to incrase gradually the build points.


trigger_previous_game_winners
flags:
-
attributes:
- team: 1 for aliens, 2 for humans, 3 for nobody (drawn)
description:
- fire its target if the previous game was won by the specified team
note:
- this can be more flexible than map rotation based system


trigger_player_count
flags:
-
attributes
- team: 1 for aliens, 2 for humans, 3 for total
description:
- fires its target when "count" players are presents on the server


target_logic
flag:
-
attributs:
- gate: or / and / not
description:
- this target accepts multiple sources. if the logical condition is true, its target is fired
note:
- "or" can be already performed using multiple sources for the same target


target_counter
flag:
- RESET: when count is reach, the counter resets
attributs:
- count: value to reach
description:
- fire its target when count is reach. The initial value is 0, the counter is incremented by 1 when triggered.


target_toggle
flag:
- INVERSE
description:
- fire its target each time it is triggered twice
note:
- don't know how a target can maintain a "1" state, perhaps by fire its trigger periodically ( need a wait attribute? ).


trigger_destruct_buildable
flags:
-
attributes:
- buildables: a comma delimited list of buildables which will trigger this entity.
description:
- fires this trigger will destroy all buildables it contains


trigger_allow_buildable
flag:
- NEGATE
attributes:
- buildables: a comma delimited list of buildables
description:
- only the specified subset of buildables can me constructed in this space


trigger_nodismantle
flag:
- NEGATE
attributes:
- team: 1 for aliens, 2 for humans, 3 for both
- buildables: a comma delimited list of buildables
description:
- specified buildables cannot be dismantled
note:
- perhaps a surfparam is better for this ?


trigger_third_person
flag:
-
description:
- Any player that touches this will switch to third person.
note:
- usefull when falling in a pit


target_suddendeath
flag:
-
description:
- (Survivor) trigger that activates upon sudden death for further actions specific to sudden death.


func_breakable
note:
(vcxzet) I know breakable objects are not very good for MP but it maybe cool

Comment 9 Sebastian Salich 2007-01-12 14:37:40 EST
I would like to see something like func_usable and func_respawn,

func_usable:
Makes a Brush apper or disapper, could be usefull for forcefield which should be activated and deactivated.

func_respawn:

Respawn an entity like func_breakable.
Comment 10 vcxzet 2007-02-13 05:02:10 EST
trigger_hurt
you can make it poison but it wont give you the poison effect as in basilisk gas

func_usable
works like a button but activates if you hit use key in front of it

trigger_script
uses some kind of a scripting language(something like map rotation config -something simple that allows use of conditional statements-) that returns target
for example :
open doorA if alien stage is 1 and activator has ckit
open doorB else
I am not sure if you can do it with a chain of triggers/targets

func_script
this one makes use scripting language that defines which pathcorner it moves to
for example :
a train that moves to alien base if it is set to go there
else human base
Comment 11 DASPRiD 2007-02-21 08:01:11 EST
Give the func_train some sound keys, like noise_start, noise_moving and noise_stop. This would stop this messing arround with trigger_multiple, target_delay and those asynchronous delays.
Comment 12 Tony J. White 2007-02-25 17:22:45 EST
(In reply to comment #5)
> (In reply to comment #0)
> > * Allow animated map objects to play one loop on their animation on 
> >      trigger.  You can get around this currently, but its some extra work.
> 
> Still working on that.

At revision 901, if the third parameter for "animations" for "misc_anim_model"
is 0, then it will not loop.  Instead it will play one pass through the
animation each time it is used.

Also, "spawnflags" 2 for "misc_anim_model" will spawn the entity with the
animation stopped.  (by default it's running).
Comment 13 KOsAD 2007-03-10 13:30:15 EST
trigger_vote
targetname: key name to link with vote
target: entities to fire at if vote pass

for example a door only opening with a vote:
\callvote open_door
Comment 14 Paradox 2007-03-27 01:40:45 EDT
(In reply to comment #13)
> trigger_vote
> targetname: key name to link with vote
> target: entities to fire at if vote pass
> 
> for example a door only opening with a vote:
> \callvote open_door
> 

Very good idea.
Also, could we bring back the Q3 trigger command?