Jump to content

[Experimental]Events Overhaul


DirtySanchez

Recommended Posts

Events Overhaul
Plant Spawner had a nice loop to monitor the event and perform a decay color change and deletion of marker when done(decay/looted)
So after wanting this for all events to cycle properly(in comes the Event Monitor within the Server_Monitor.fsm)
This system was a nice start to form what you will read about coming up.

[ADDED] More detailed configs for each event.
[ADDED] HeightenedPvP config entry for master setting
[ADDED] Event Monitor to handle each event on the map
[ADDED] Multiple objects supported by monitor
  -ground loot as isNull checks(for plants)
  -container_epoch with is container_epoch and is lid open or EPOCH_Loot true(for shipwrecks)
  -cargo_epoch with is cargo_epoch and is door open or EPOCH_Loot true(for containers) 
  -anything damaged to 1(earthquakes mineral deposits and satellites)
[ADDED] Check for players before removal of any marker and contents(objects)
[ADDED] HeightenedPVP color changes when player is near or loot is compromised
[ADDED] Extra Objects array to handle deleting all objects spawned for an event or mission(for Carnivals)
[ADDED] Counters for each event +1 on spawn and -1 upon delete

**Plant Spawner for example**
debugPlantSpawner = 0;
showPlantMarkers = 1;
maxPlantSpawns = 5;
distFromOtherPlants = 2500;
plantDecayTime = 1200; //Half this time results in decayMarkerColor marker
plantDecayMarkerColor = "ColorBrown";
plantCompromisedColor = "ColorRed";
availablePlants[] = {"Goldenseal_EPOCH", "Goldenseal_EPOCH", "Goldenseal_EPOCH", "Poppy_EPOCH", "Pumpkin_EPOCH"};

Description:
Debug activates error messages, an end of event recap array and a red mildot marker for loot object(s).
Showing markers will turn on the Map MarkerSet for clients as well as decay color changes.
  -if using the new HeightenedPlayerVsPlayer = 1 then Compromised Color changes upon player near(150m) and loot comprimised.
Max spawns is pretty self explanatory but will max out upon this number and until one is looted or decayed NO more will spawn.
Distance from others is the distance to other Plant events
Decay * TimeMultiplier applied
Decay marker color will change the color of the event marker set after decay/2 is reached
Compromised color will change the active surround of the marker to highlight player near or looted
Available objects this will/can change depending on the event, this array is used for a select random, which is why you see 3 goldenseal

New Events Settings

// Settings for Events, Missions, etc
spawnDistanceFromPlayers = 500;
spawnDistanceFromJammers = 1000;
spawnDistanceFromTraders = 2000;
HeightenedPlayerVsPlayer = 1; // 0 = OFF

[ADDED] New function for testing positions (Protection Zones/Players Near/Jammers/Other Same Type Events) - Easily change for needed checks

Usage:
_goodPos = [_position, _traderCheck, _jammerCheck , _playerCheck , _others, _distFromOthers] call EPOCH_server_isNearChecks;

Description:
Checks the position provided against distances configured for Traders, Jammers and Players.
_position - position on map
_traderCheck - BOOL - check _position distance near ProtectionZone_Invisible_F
_jammerCheck - BOOL - check _position distance near PlotPole_EPOCH
_playerCheck - BOOL - check _position distance near other Players
_others - ARRAY - positions to check with _distFromOthers
_distFromOthers - NUMBER - How far away from _others array in meters

This was pushed to experimental this evening here:
https://github.com/EpochModTeam/Epoch/compare/de1e15374b39...8fb45fc35c6e

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...