SWGEmu SWGEMU-522

Grenade Implementation

Abandoned on 03 Feb

  •  
  •  
  •  
  •  
  • Author
  • Moderator
  • Reviewers

SWGEMU-522 7

Summarize the review outcomes (optional)
 
#permalink

Details

Warning: no files are visible, they have all been filtered.
Participant Role Time Spent Comments Latest Comment
Author 3h 49m 4 This patch is in need of updating. Rather than resubmitti...
Moderator 19m 2 this is just a hacky solution. I think you should refact...
Reviewer - 0% complete      
Reviewer - 2% complete 2m    
Reviewer - 0% complete      
Reviewer - 32% complete 13m    
oru
Reviewer - 0% complete      
Reviewer - 0% complete      
Reviewer - 39% complete 24m 1 I added those versions to support the option of a non cre...
Total   4h 48m 7  
#permalink

Objectives

[Added] Grenades are now craftable and usable

I believe that I've implemented everything for grenades to be fully functional. Radial menu, damage, damage type, armor piercing, thrown weapon skill mods, speed, certification, and xp should all be working right on them now.

I did not touch the experimental values in the .lua files, so it's possible that those number will need adjusting, but that was beyond the scope of this patch.

Patch #2 Update:

I refactored getCommandDuration() of QueueCommand to add the command arguments as a parameter as instructed. ThrowGrenadeCommand now has a version of it that uses the grenade to calculate the duration, rather than the equipped weapon.

Rather than add a weapon member to CreatureAttackData as suggested, I ended up changing many of the methods in the combat manager to accept a weapon object as a parameter. I now have logic in CombatQueueCommand to get the correct weapon object and pass it into the combat manager. This allowed me to merge some of the redundant code in the combat manager, some from my previous patch, and some that was existing.

I also went ahead and changed some of the methods where it made sense to me to accept a Tangible object attacker instead of a creature object. This allowed me to merge ElPete's recent turret code into the main methods as well and clean up some of the other redundant code. I probably got a little carried away... though I'm pretty sure that I retained all of the functionality and calculations as they were, just changed the structure of the combat manager somewhat.

I also added a new version of isAttackableBy() to TangibleObject and CreatureObject that accept a tangible object as a parameter rather than a creature object. They are in use by some of the methods I altered in the combat manager.

#permalink

Issues Raised From Comments

Key Summary State Assignee
#permalink

General Comments

12 Jan

Ivojedi says:

Patch updated. Feedback is welcome.

03 Feb

Ivojedi says:

This patch is in need of updating. Rather than resubmitting a large patch, I'm going to abandon this review and resubmit it in smaller chunks, starting with the parts that can stand alone. Hopefully that'll make it easier to review.

/workspace/.../commands/throwGrenade.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_cryoban.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_fragmentation.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_fragmentation_light.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_glop.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_imperial_detonator.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_proton.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_thermal_detonator.lua Changed  
Open in IDE #permalink
/workspace/.../combat/CombatManager.cpp Changed   3
Open in IDE #permalink
/workspace/.../combat/CombatManager.h Changed  
Open in IDE #permalink
/workspace/.../combat/CreatureAttackData.cpp Changed  
Open in IDE #permalink
/workspace/.../combat/CreatureAttackData.h Changed  
Open in IDE #permalink
/workspace/.../components/ComponentManager.cpp Changed  
Open in IDE #permalink
/workspace/.../object/ObjectManager.cpp Changed  
Open in IDE #permalink
/workspace/.../objectcontroller/ObjectControllerImplementation.cpp Changed   2
Open in IDE #permalink
/workspace/.../commands/CombatQueueCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/ThrowGrenadeCommand.h Changed  
Open in IDE #permalink
/workspace/.../scene/SceneObject.cpp Changed  
Open in IDE #permalink
/workspace/.../scene/SceneObject.h Changed  
Open in IDE #permalink
/workspace/.../scene/SceneObject.idl Changed  
Open in IDE #permalink
/workspace/.../components/ThrowGrenadeMenuComponent.cpp Changed  
Open in IDE #permalink
/workspace/.../components/ThrowGrenadeMenuComponent.h Changed  
Open in IDE #permalink
/workspace/.../weapon/WeaponObject.cpp Changed  
Open in IDE #permalink
/workspace/.../weapon/WeaponObject.h Changed  
Open in IDE #permalink
/workspace/.../weapon/WeaponObject.idl Changed  
Open in IDE #permalink
/workspace/.../weapon/WeaponObjectImplementation.cpp Changed  
Open in IDE #permalink
/workspace/.../tangible/SharedWeaponObjectTemplate.cpp Changed  
Open in IDE #permalink
/workspace/.../tangible/SharedWeaponObjectTemplate.h Changed  
Open in IDE #permalink
/workspace/.../commands/throwGrenade.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_cryoban.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_fragmentation.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_fragmentation_light.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_glop.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_imperial_detonator.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_proton.lua Changed  
Open in IDE #permalink
/workspace/.../grenade/grenade_thermal_detonator.lua Changed  
Open in IDE #permalink
/workspace/.../combat/CombatManager.cpp Changed  
Open in IDE #permalink
/workspace/.../combat/CombatManager.h Changed  
Open in IDE #permalink
/workspace/.../combat/CreatureAttackData.cpp Changed  
Open in IDE #permalink
/workspace/.../combat/CreatureAttackData.h Changed  
Open in IDE #permalink
/workspace/.../components/ComponentManager.cpp Changed  
Open in IDE #permalink
/workspace/.../object/ObjectManager.cpp Changed  
Open in IDE #permalink
/workspace/.../objectcontroller/ObjectControllerImplementation.cpp Changed  
Open in IDE #permalink
/workspace/.../commands/ChannelForceCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/CombatQueueCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/DrainForceCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/FlourishCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/ForcePowersQueueCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealActionSelf1Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealActionSelf2Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealActionWoundSelf1Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealActionWoundSelf2Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealAllSelf1Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealAllSelf2Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealBattleFatigueSelf1Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealBattleFatigueSelf2Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealHealthSelf1Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealHealthSelf2Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealHealthWoundSelf1Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealHealthWoundSelf2Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealMindSelf1Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealMindSelf2Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealMindWoundSelf1Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealMindWoundSelf2Command.h Changed  
Open in IDE #permalink
/workspace/.../commands/HealStatesSelfCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/HeavyWeaponQueueCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/QueueCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/ThrowGrenadeCommand.h Changed  
Open in IDE #permalink
/workspace/.../commands/TransferForceCommand.h Changed  
Open in IDE #permalink
/workspace/.../creature/CreatureObject.cpp Changed  
Open in IDE #permalink
/workspace/.../creature/CreatureObject.h Changed  
Open in IDE #permalink
/workspace/.../creature/CreatureObject.idl Changed  
Open in IDE #permalink
/workspace/.../creature/CreatureObjectImplementation.cpp Changed  
Open in IDE #permalink
/workspace/.../scene/SceneObject.cpp Changed  
Open in IDE #permalink
/workspace/.../scene/SceneObject.h Changed  
Open in IDE #permalink
/workspace/.../scene/SceneObject.idl Changed  
Open in IDE #permalink
/workspace/.../components/ThrowGrenadeMenuComponent.cpp Changed  
Open in IDE #permalink
/workspace/.../components/ThrowGrenadeMenuComponent.h Changed  
Open in IDE #permalink
/workspace/.../weapon/WeaponObject.cpp Changed  
Open in IDE #permalink
/workspace/.../weapon/WeaponObject.h Changed  
Open in IDE #permalink
/workspace/.../weapon/WeaponObject.idl Changed  
Open in IDE #permalink
/workspace/.../weapon/WeaponObjectImplementation.cpp Changed  
Open in IDE #permalink
/workspace/.../tangible/TangibleObject.cpp Changed  
Open in IDE #permalink
/workspace/.../tangible/TangibleObject.h Changed  
Open in IDE #permalink
/workspace/.../tangible/TangibleObject.idl Changed  
Open in IDE #permalink
/workspace/.../tangible/SharedWeaponObjectTemplate.cpp Changed  
Open in IDE #permalink
/workspace/.../tangible/SharedWeaponObjectTemplate.h Changed  
Open in IDE #permalink

Review updated: Reload | Ignore | Collapse

You cannot reload the review while writing a comment.

Create Issue

X
Assign To Me

Log time against