I talked to cgg about new defrag entities. He said that he will add them to defrag if I write the code and send it to him. So this might be a chance to add many cool new entities. In this thread I want to gather some ideas.
Here is a list of entities I'm going to implement:
- Code: Select all
trigger_savespeed
{
Speed storing trigger. Must be targeted at one or more entities.
Must point at a target_speed, which will store the speed value
of the player on touching.
-------- KEYS --------
wait : Seconds between triggerings, 1 default, -1 = one time only.
}
//=============================================================================
trigger_loadspeed
{
Speed restoring trigger. Must point at one target_speed.
The touching players speed will be set to the value that was stored
in the target_speed entity.
-------- KEYS --------
wait : Seconds between triggerings, 1 default, -1 = one time only.
}
//=============================================================================
target_speed
{
Used as a speed value storage by trigger_savespeed and trigger_loadspeed.
-------- SPAWNFLAGS --------
RESET speed is reset to 0 when triggered by a trigger_loadspeed
}
//=============================================================================
target_addspeed
{
Adds speed to the player.
Negative values reduce the speed.
-------- KEYS --------
targetname: name used to trigger
speed: speed to add (default: 100)
-------- SPAWNFLAGS --------
PERCENTAGE: value is treated as percentage of current speed
}
//=============================================================================
target_stopMPTimer
{
Timer will stop if the given count of
players has triggered this timer.
-------- KEYS --------
targetname: name used to trigger
count: amount of players to stop timer (default: 2)
}
//=============================================================================
target_startMPTimer
{
Timer will start if the given count of
players has triggered this timer.
-------- KEYS --------
targetname: name used to trigger
count: amount of players to start timer (default: 2)
}
//=============================================================================
trigger_exchange
{
Must point to a target_exchange_pos or
target_exchange_items. The trigger is only
retriggerable if the exchange has happened.
-------- KEYS --------
target: name of target entity
}
//=============================================================================
target_exchange_pos
{
The first two clients which triggered this
entity will exchange their positions.
This will not work if the same client activates
this entity twice of course.
-------- NOTES --------
The used positions are not the trigger
positions but the positions at the time when
the second player activates this entity.
-------- KEYS --------
targetname: name used to trigger
}
//=============================================================================
target_exchange_items
{
The first two clients which triggered this
entity will exchange their equipment.
Basically this includes weapons, powerups, current
health and armor.
This will have no effect if the same client activates
this entity twice of course.
-------- KEYS --------
targetname: name used to trigger
-------- SPAWNFLAGS --------
NO_WEAPONS: no weapons will be exchanged
NO_POWERUPS: no powerups will be exchanged
NO_ARMOR: no armor will be exchanged
NO_HEALTH: no health will be exchanged
}
Ideas and feedback are required.
Many of the above entities are well-suited for multiplayer runs. Maybe coop-competitions would be possible with cool tricks like exchanging weapons so the partner behind a wall can make his way further and so on.