OpenParsec / openparsec

GNU General Public License v2.0
52 stars 8 forks source link

Get weapons and power ups functioning server side #9

Closed uberlinuxguy closed 11 years ago

uberlinuxguy commented 11 years ago

This is the major ticket for getting all weapons and power ups functioning server side. Phil can create sub-tickets for each remaining piece

Changed 11 months ago by crazy-spence When I got my hands on the server a few weeks ago all that was functioning was Laser level 0 and colliding with powerups. Currently the following now also function: -Dumbfire missiles -Laser upgrades 1 and 2 -Homing missiles -Proximity mines Still need to work on: -Swarm missiles -Helix cannon -Photon cannon -Lightning gun

Changed 2 months ago by crazy-spence status changed from new to accepted -Helix, Lightning, Photon cannon firing and cease firing implemented server side. All this means is the server is aware of when the end client has fired or has stopped firing Next steps: -Tell other clients about the action -Simulate positions and collisions of particles from weapons for damage

Changed 2 months ago by crazy-spence Notes for myself for next steps Helix Cannon reference to functions in client: part.api.h: PRT_InitParticle ( particle_s& particle, // particle to initialize int bitmap, // bitmap id for particle int color, // color for particle int sizebound, // lod threshold float_t refz, // reference distance Vertex3* position, // position Vector3* velocity, // velocity vector int lifetime, // particle lifetime int owner, // owner id (remote player id) pextinfo_s* extinfo // extended drawing info ) part_api.cpp: PRT_CreateLinearParticle part_ani.cpp: void LinearParticleCollision?( linear_pcluster_s cluster, int pid ) obj_expl.cpp: void OBJ_ShipHelixDamage( ShipObject? shippo, int owner ) g_supp.cpp: MaintainDurationWeapons?(int playerid); g_wfx.cpp: int WFX_MaintainHelix( ShipObject? *shippo, int playerid )

Changed 2 months ago by crazy-spence Logging my progress before I forget, Below are functions I have transposed into the server engine so far PRT_InitParticle() -> G_World::PRT_InitParticle() PRT_CreateLinearParticle() -> G_World::PRT_CreateLinearParticle() LinearParticleCollision?() -> G_Colldet::LinearParticleCollision?() PRT_ParticleInBoundingSphere() -> G_Colldet::PRT_ParticleInBoundingSphere()

Changed 2 months ago by crazy-spence Helix cannon now works, Server simulates particles and damage for helix cannon Server sends weapon state to clients for all duration weapons

Changed 8 weeks ago by crazy-spence Energy Field powerup ported to server code and is now commited and working

Changed 7 weeks ago by crazy-spence Swarm missiles working

Changed 4 weeks ago by crazy-spence Lightning cannon works

CrazySpence commented 11 years ago

Update: -uberlinuxguy got the invunerability item functioning -I got Photon cannon working

uberlinuxguy commented 11 years ago

EMP should be working now. Not sure but I think that closes this issue. Can someone verify for me that we can close this?

CrazySpence commented 11 years ago

EMP works but I do not see how to get the upgrade items to spawn? has this been added to the extra manager yet?

if not the console command format should be followed in a similar format to lasers prob.emp % (the chance of an emp power up of some kind appearing) prob emp1 % prob emp2 % (after an emp prob succeeds then it will run a dice against the 2 power up levels)

uberlinuxguy commented 11 years ago

prob.empupgrade1 and prob.empupgrade2 were what he was looking for. I am going to close this ticket now, as I believe we are good to go.