sli-fox / jamms

Apache License 2.0
3 stars 1 forks source link

Implementation of three towers with special damage effects #88

Open mdubey2014 opened 9 years ago

mdubey2014 commented 9 years ago

Required for final Delivery : Implementation of three different kinds of towers that are characterized by having different special damage effects, e.g. splash, burning, freezing.

AjayAujla commented 9 years ago

Here were some ideas I had come up with a while ago. Hopefully they can inspire some other ideas or actually be implemented.

Freezing one time delay critter movement for x seconds isFrozen * timer

Burning inflicts extra damage to critter for x seconds isBurning * timer

Bomb / Splash inflicts damage to all critters within the radius instead of targeting only one a boolean value can control that a single critter will or will not be hit

Electrocute repeated critter movement delay for x seconds until death (walks normally for x seconds, then paralyzed for y seconds, then walks again, then paralyzed again, etc.) isElectrocuted * timer

jeremy-melnyk commented 9 years ago

Radiation . all critters in tower range stack radiation damage per second (or some unit of time). So like a critter in range gets 1 stack of radiation per 3 sec. Each stack causes 1 DMG per second or something. Once he leaves the range it decays at a logarithmic rate Another effect could be chain lightning which strikes a critter and jumps to up to 3 critters behind it with a decreasing damage multiplier each time it jumps so like 9 DMG on the first 6 on the second 3 on the 3rd. Just needs a bit of math for the damage calc. Would really impress him. Also as a requirement we need to see each critters health at all times (I can represent its health above its head with a number that triggers when its health is updated (aka it takes DMG) On Nov 15, 2014 10:03 PM, "AjayAujla" notifications@github.com wrote:

Here were some ideas I had come up with a while ago. Hopefully they can inspire some other ideas or actually be implemented.

Freezing one time delay critter movement for x seconds isFrozen * timer

Burning inflicts extra damage to critter for x seconds isBurning * timer

Bomb / Splash inflicts damage to all critters within the radius instead of targeting only one a boolean value can control that a single critter will or will not be hit

Electrocute repeated critter movement delay for x seconds until death (walks normally for x seconds, then paralyzed for y seconds, then walks again, then paralyzed again, etc.) isElectrocuted * timer

— Reply to this email directly or view it on GitHub https://github.com/sli-fox/jamms/issues/88#issuecomment-63202211.

AjayAujla commented 9 years ago

So for radiation, the critter is "guaranteed" to die after passing a radiation tower special effect (even if no other tower is on the map to attack the critter)?

jeremy-melnyk commented 9 years ago

No its not guaranteed it just takes continuous DMG that ramps up while in range. Then the stacks starts to decay as it leaves range logarithmically (like real radiation) so its taking less damage as time goes on. Strong critters will still make it to the end time if there's no other tower to hurt it On Nov 16, 2014 1:30 PM, "AjayAujla" notifications@github.com wrote:

So for radiation, the critter is "guaranteed" to die after being passing a radiation tower special effect (even if no other tower is on the map to attack the critter)?

— Reply to this email directly or view it on GitHub https://github.com/sli-fox/jamms/issues/88#issuecomment-63231542.

AjayAujla commented 9 years ago

Okay cool I see. Actually both your ideas seem really cool. It would be awesome if we can figure out the math and get them coded and working.

I was thinking of having a "super" tower. One hit kill. Costs a CRAPLOAD of money. Can only buy one in the whole game, no upgrades, no nothing. Has one special effect which is one hit kill (targetCritter.inflictDamage(targetCritter.getHealth()). Has VERY SLOW rate of fire, VERY SMALL radius (as in only reaches one tile in radius OR can only target a SPECIFIC user determined tile by x,y coordinates), etc, etc. Just an idea. I think it's plausible to make.

jeremy-melnyk commented 9 years ago

The sky's the limit! Creative freedom lies with you :) get some bolt of lightning sprites showing up lol

— Sent from Mailbox

On Sat, Nov 15, 2014 at 6:52 PM, mdubey2014 notifications@github.com wrote:

Required for final Delivery : Implementation of three different kinds of towers that are characterized by having different

special damage effects, e.g. splash, burning, freezing.

Reply to this email directly or view it on GitHub: https://github.com/sli-fox/jamms/issues/88

AjayAujla commented 9 years ago

No crazy visual shit.

Slowing. Freezing. Stunning.

mdubey2014 commented 9 years ago

consider using decorator

abstract decorator with mark

adding and removing special effects. ie. remove frozen after it is applie for x seocnds