[Logo]
 
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Ghost #$^@&  XML
Forum Index -> Druids RPG Development
Author Message
Moof

Wicked Sick!
[Avatar]
Joined: 06/24/2006 19:42:44
Messages: 433
Location: College Park, MD
Offline

Okay. Ghost. Arg.

Basically, what I've found is two major bugs in the current version.

First, ghosting has no FOV reset. If you begin ghosting while your FOV is modified (sniper rifles, AVRIL, whatever) it stays put.

Second, ghost has no movement check. There are no Instigator.Location calls, at all, ever. At the very least, it should call Instigator.Location = RevivePoint; upon deghosting. To be entirely honest, I almost feel like it's a bug that it works every time. Or perhaps it's just luck. I don't know, it's just bizarre.

What I do know is that it uses PHYS_Flying. That physics sets some pretty hardcore limits on pawn velocity. As in, multiplying velocity by -extreme- amounts results in little change. Changing to PHYS_Hovering, which does not have the same limits on airspeed, resulted in totally breaking the ability, to the point that it never stopped/unghosted, OR it cratered every single time. So...on fixing the speed that ghosts move or doing cute tricks with it like speeding things up when you have to ghost over long distances? Bust. I gave up.

Also. Resurrection for medics. If it's going to happen, it's pretty much gotta be based here. I'd recommend the ability be recoded, though. I just can't decipher it.

From my PM to Bot:

Moof wrote:
I gave up on adjusting Ghost velocity by distance traveled, but there's nothing stopping us from adding this. I still can't post in that forum, so here's my proposal:

Add another level to Ghost. Make the requirements for level 2 and up the same they are now, and for level 1 really low. Maybe 50 HB, 10 DR. Then, we have 1, 2, 3, 4. In addition, we reconfigure the ability to work slightly differently.

At levels 2, 3, and 4, the first time you die each wave, it'd work like levels 1, 2, and 3 do now (respectively). The second time you die each wave, you'd follow Szlat's second suggestion: you ghost, except you just don't go anywhere. Your health is assigned a variable amount, and a medic has 10 seconds to get you above 0. Or, your health is assigned a set amount for all levels, and the medic has a variable amount of time to get you above 0 (I think the first one's better, maybe with a counter above their head or something, though that'd be annoyingly complicated.)

Level 1 wouldn't give you Ghost as you have it now, it would only do the stay still and wait for resurrection thing.

This would require a change as to how the ability itself would work (right now, the ability has PreventDeath() that spawns the inventory object. We could implement this by spawning the inventory object and initiating the ghosting from PreventDeath()). 

Moof, Scholar of Ni

Moof (W); Dr. Moof (M); Engimoof (E); Moofgineer (E beta)
[Yahoo!] aim icon [ICQ]
Moof

Wicked Sick!
[Avatar]
Joined: 06/24/2006 19:42:44
Messages: 433
Location: College Park, MD
Offline

I propose a radical step: eliminate Ghost. Or rather, change it into a different ability entirely.

We could name it something like Resurrection. Or heck, just keep it Ghost.

This is an alternate implementation of my quoted PM above.

Level 1: You turn into a ghost as you do now, except you stay still. A Medic has x seconds to heal you above 0, or you die. Else, you're ressed. Minimum requirements for this level are, well, minimal. Maybe 50 HB/10DR. Costs 5 points.

Level 2: Same as level 1, except you actually die. Then, you're simply resurrected at your designated spawn point after a set delay. Same requirements and point cost as current Ghost 1. It's Ghost without the ghosting.

Level 3: Decrease delay? More lives? Something? No level 3 at all?

There you have it, in one shot: all the bugs with Ghost fixed, travel time fixed, and resurrection implemented.

Moof, Scholar of Ni

Moof (W); Dr. Moof (M); Engimoof (E); Moofgineer (E beta)
[Yahoo!] aim icon [ICQ]
Szlat

Wicked Sick!

Joined: 05/18/2005 18:32:41
Messages: 2124
Location: UK
Offline

I like the idea Moof.

The current Ghost as a limit on how frequently you can ghost. The different levels of Ghost modify this frequency, and set your reviving health. I think these level distinctions are worth keeping.

So
  • level 1 - the 'wait for a medic to heal you - give it a frequency similar to old level 1. Reviving health is whatever the medic leaves you at
  • levels 2-4 exactly the same as Ghost levels 1-3 now, except use Moof's 'wait a short while then appear' rather than flying.
  • New level 5. Same as level 4, except if you have recently ghosted, so can't do a level 2-4 ghost and revive, you do a level 1 'ghost on the spot and hope a medic comes along'. So with level 5 you only ever die if a medic doesn't heal you.

    It may be worth setting the 'wait before appearing' time to be say 3 seconds. Just long enough for the player to take a deep breath then back in. The longer it is, the more chance you have of the wave ending and taking out the player.
  • Moof

    Wicked Sick!
    [Avatar]
    Joined: 06/24/2006 19:42:44
    Messages: 433
    Location: College Park, MD
    Offline

    Good call. I forgot about the starting health.

    I was imagining ressurection to be available in all levels (for the medics.)

    So, combining these, and filling in some more details:

    Level 1: Medic ress. Your health goes to -100. Any Medic has 10 sec to get you to 1 HP or greater, else you're toast. What kind of XP reward should we give? Control the amount of damage healable for XP on target, perhaps?
    Level 2-4: Medic ress. If a Medic doesn't get to you in time, you use your self-ress. If a Medic DOES get to you in time, you keep your self-ress to use later in the wave. Start with 1, 100, 300 health like current Ghost. Delay 10, 5, 3, seconds.

    I'm not sure Dru would go for level 5 as you proposed.

    Side note about ghosting while a wave ends: it doesn't actually kill you, it stops ghost. If you're not in a spot in the map where PHYS_Falling can immediately apply, you instantly crater. So, whatever delay we want works, since we will no longer be moving the player out of bounds.

    Moof, Scholar of Ni

    Moof (W); Dr. Moof (M); Engimoof (E); Moofgineer (E beta)
    [Yahoo!] aim icon [ICQ]
    Szlat

    Wicked Sick!

    Joined: 05/18/2005 18:32:41
    Messages: 2124
    Location: UK
    Offline

    Moof wrote:
    Side note about ghosting while a wave ends: it doesn't actually kill you, it stops ghost. If you're not in a spot in the map where PHYS_Falling can immediately apply, you instantly crater. So, whatever delay we want works, since we will no longer be moving the player out of bounds. 
    Excellent point, unless they died because they fell in lava.

    Moof wrote:
    Level 2-4: Medic ress. If a Medic doesn't get to you in time, you use your self-ress. If a Medic DOES get to you in time, you keep your self-ress to use later in the wave. Start with 1, 100, 300 health like current Ghost. Delay 10, 5, 3, seconds. 
    I hadn't realised you were suggesting always doing the level 1 before kicking off the level 2. Sorry.
    (Level 3 is starting health, not 300)
    When I have had Ghost, it has been a big disadvantage in games like CTF/BR. Without Ghost you respawn immediately. With Ghost, you respawn slower. If the player has a 10-sec wait to see if someone heals them, then a 10-sec wait before reviving, it isn't going to go down well! Can we add an extra check for the gametype, and set all wait times to 1 sec if gametype is CTF/BR?

    I think you are on to a winner there Moof
     
    Forum Index -> Druids RPG Development
    Go to: