Skip to content

Commit

Permalink
Weapon additions
Browse files Browse the repository at this point in the history
Death's Void, Dragon Shield, Rune Bow, Apocalypse
  • Loading branch information
smccutchen committed Mar 18, 2017
1 parent 5393f7c commit e803d96
Show file tree
Hide file tree
Showing 12 changed files with 521 additions and 3 deletions.
2 changes: 1 addition & 1 deletion Ethereal/Private/Gear/Weapons/OneHanded/Shields/Aegis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ AAegis::AAegis(const FObjectInitializer& ObjectInitializer)
{
// Get Assets, References Obtained Via Right Click in Editor
static ConstructorHelpers::FObjectFinder<USkeletalMesh> SkeletalMeshObject(TEXT("SkeletalMesh'/Game/VFX/sphere_skeletal.sphere_skeletal'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> StaticMeshObject(TEXT("StaticMesh'/Game/Weapons/Shields/AegisShield.AegisShield'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> StaticMeshObject(TEXT("StaticMesh'/Game/Weapons/Shields/Aegis/AegisShield.AegisShield'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> OffhandMeshObject(TEXT("StaticMesh'/Game/VFX/sphere.sphere'"));
ConstructorHelpers::FObjectFinder<UTexture2D> LargeIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_Aegis.WeaponIcon_Aegis'"));
ConstructorHelpers::FObjectFinder<UTexture2D> SmallIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_Aegis-small.WeaponIcon_Aegis-small'"));
Expand Down
87 changes: 87 additions & 0 deletions Ethereal/Private/Gear/Weapons/OneHanded/Shields/DeathsVoid.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
// © 2014 - 2016 Soverance Studios
// http://www.soverance.com

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "Ethereal.h"
#include "DeathsVoid.h"

#define LOCTEXT_NAMESPACE "EtherealText"

// Sets default values
ADeathsVoid::ADeathsVoid(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
// Get Assets, References Obtained Via Right Click in Editor
static ConstructorHelpers::FObjectFinder<USkeletalMesh> SkeletalMeshObject(TEXT("SkeletalMesh'/Game/Weapons/Shields/DeathsVoid/DeathsVoid.DeathsVoid'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> StaticMeshObject(TEXT("StaticMesh'/Game/VFX/sphere.sphere'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> OffhandMeshObject(TEXT("StaticMesh'/Game/VFX/sphere.sphere'"));
ConstructorHelpers::FObjectFinder<UTexture2D> LargeIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_DeathsHead.WeaponIcon_DeathsHead'"));
ConstructorHelpers::FObjectFinder<UTexture2D> SmallIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_DeathsHead-small.WeaponIcon_DeathsHead-small'"));


// Set Default Objects

Name = EMasterGearList::GL_DeathsVoid;
NameText = LOCTEXT("DeathsVoidName", "Death's Void");
Type = EMasterGearTypes::GT_Shield;
TypeText = LOCTEXT("DeathsVoidType", "Shield");
Description = "A shield forged from pure darkness, signed by Death himself.";
Price = 40000;
MPCost = 0.0f;
ATK = 20.0f;
DEF = 20.0f;
SPD = 10.0f;
HP = 300.0f;
MP = 150.0f;
LargeIcon = LargeIconObject.Object;
SmallIcon = SmallIconObject.Object;

SK_WeaponSkeletalMesh = SkeletalMeshObject.Object;
SM_WeaponStaticMesh = StaticMeshObject.Object;
SM_WeaponOffhandMesh = StaticMeshObject.Object;

// Set Mesh
WeaponSkeletalMesh->SetSkeletalMesh(SK_WeaponSkeletalMesh);
WeaponSkeletalMesh->SetRelativeLocation(FVector(0, 35, -42)); // location correction
WeaponSkeletalMesh->SetWorldScale3D(FVector(28, 20, 20)); // Scale correction
WeaponStaticMesh->SetStaticMesh(SM_WeaponStaticMesh);
WeaponStaticMesh->SetHiddenInGame(true);
WeaponOffhandMesh->SetStaticMesh(SM_WeaponOffhandMesh);
WeaponOffhandMesh->SetHiddenInGame(true);

//WeaponStaticMesh->SetVisibility(true);
//SwordCollider->SetBoxExtent(FVector(5.0f, 5.0f, 25.0f));
//SwordCollider->SetRelativeLocation(FVector(0.0f, 0.0f, 5.0f));
}

// Called when the game starts or when spawned
void ADeathsVoid::BeginPlay()
{
Super::BeginPlay();

// Bind this function to the event dispatcher for Bind Gear
OnBindGear.AddDynamic(this, &ADeathsVoid::BindWeapon);
}

// Custom code when binding
void ADeathsVoid::BindWeapon()
{
// If this weapon was bound while IsShown is true, set the weapon visible
if (IsShown)
{
ShowWeapon(true, false, false);
}
}

#undef LOCTEXT_NAMESPACE
88 changes: 88 additions & 0 deletions Ethereal/Private/Gear/Weapons/OneHanded/Shields/DragonShield.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
// © 2014 - 2016 Soverance Studios
// http://www.soverance.com

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "Ethereal.h"
#include "DragonShield.h"

#define LOCTEXT_NAMESPACE "EtherealText"

// Sets default values
ADragonShield::ADragonShield(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
// Get Assets, References Obtained Via Right Click in Editor
static ConstructorHelpers::FObjectFinder<USkeletalMesh> SkeletalMeshObject(TEXT("SkeletalMesh'/Game/VFX/sphere_skeletal.sphere_skeletal'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> StaticMeshObject(TEXT("StaticMesh'/Game/Weapons/Shields/Dragon/dragon_shield.dragon_shield'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> OffhandMeshObject(TEXT("StaticMesh'/Game/VFX/sphere.sphere'"));
ConstructorHelpers::FObjectFinder<UTexture2D> LargeIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_DragonShield.WeaponIcon_DragonShield'"));
ConstructorHelpers::FObjectFinder<UTexture2D> SmallIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_DragonShield-small.WeaponIcon_DragonShield-small'"));


// Set Default Objects

Name = EMasterGearList::GL_DragonShield;
NameText = LOCTEXT("DragonShieldName", "Dragon Shield");
Type = EMasterGearTypes::GT_Shield;
TypeText = LOCTEXT("DragonShieldType", "Shield");
Description = "Harder than dragon scales.";
Price = 40000;
MPCost = 0.0f;
ATK = 20.0f;
DEF = 20.0f;
SPD = 10.0f;
HP = 300.0f;
MP = 150.0f;
LargeIcon = LargeIconObject.Object;
SmallIcon = SmallIconObject.Object;

SK_WeaponSkeletalMesh = SkeletalMeshObject.Object;
SM_WeaponStaticMesh = StaticMeshObject.Object;
SM_WeaponOffhandMesh = StaticMeshObject.Object;

// Set Mesh
WeaponSkeletalMesh->SetSkeletalMesh(SK_WeaponSkeletalMesh);
WeaponSkeletalMesh->SetHiddenInGame(true);
WeaponStaticMesh->SetStaticMesh(SM_WeaponStaticMesh);
WeaponStaticMesh->SetWorldScale3D(FVector(50.0f, 50.0f, 50.0f)); // scale correction
WeaponStaticMesh->SetRelativeLocation(FVector(0, 74, -15)); // location correction
WeaponStaticMesh->SetRelativeRotation(FRotator(0, 0, 0)); // rotation correction
WeaponOffhandMesh->SetStaticMesh(SM_WeaponOffhandMesh);
WeaponOffhandMesh->SetHiddenInGame(true);

//WeaponStaticMesh->SetVisibility(true);
//SwordCollider->SetBoxExtent(FVector(5.0f, 5.0f, 25.0f));
//SwordCollider->SetRelativeLocation(FVector(0.0f, 0.0f, 5.0f));
}

// Called when the game starts or when spawned
void ADragonShield::BeginPlay()
{
Super::BeginPlay();

// Bind this function to the event dispatcher for Bind Gear
OnBindGear.AddDynamic(this, &ADragonShield::BindWeapon);
}

// Custom code when binding
void ADragonShield::BindWeapon()
{
// If this weapon was bound while IsShown is true, set the weapon visible
if (IsShown)
{
ShowWeapon(false, true, false);
}
}

#undef LOCTEXT_NAMESPACE
4 changes: 2 additions & 2 deletions Ethereal/Private/Gear/Weapons/Ranged/Ammo/PulseArrow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ APulseArrow::APulseArrow(const FObjectInitializer& ObjectInitializer)
static ConstructorHelpers::FObjectFinder<USkeletalMesh> SkeletalMeshObject(TEXT("SkeletalMesh'/Game/VFX/sphere_skeletal.sphere_skeletal'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> StaticMeshObject(TEXT("StaticMesh'/Game/Weapons/Ranged/Ammo/DemonArrow.DemonArrow'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> OffhandMeshObject(TEXT("StaticMesh'/Game/VFX/sphere.sphere'"));
static ConstructorHelpers::FObjectFinder<UTexture2D> LargeIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_DemonArrows.WeaponIcon_DemonArrows'"));
static ConstructorHelpers::FObjectFinder<UTexture2D> SmallIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_DemonArrows-small.WeaponIcon_DemonArrows-small'"));
static ConstructorHelpers::FObjectFinder<UTexture2D> LargeIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_PulseArrows.WeaponIcon_PulseArrows'"));
static ConstructorHelpers::FObjectFinder<UTexture2D> SmallIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_PulseArrows-small.WeaponIcon_PulseArrows-small'"));

Name = EMasterGearList::GL_PulseArrow;
NameText = LOCTEXT("PulseArrowName", "Pulse Arrow");
Expand Down
81 changes: 81 additions & 0 deletions Ethereal/Private/Gear/Weapons/Ranged/RuneBow.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
// © 2014 - 2016 Soverance Studios
// http://www.soverance.com

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "Ethereal.h"
#include "RuneBow.h"

#define LOCTEXT_NAMESPACE "EtherealText"

// Sets default values
ARuneBow::ARuneBow(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
// Get Assets, References Obtained Via Right Click in Editor
static ConstructorHelpers::FObjectFinder<USkeletalMesh> SkeletalMeshObject(TEXT("SkeletalMesh'/Game/VFX/sphere_skeletal.sphere_skeletal'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> StaticMeshObject(TEXT("StaticMesh'/Game/Weapons/Ranged/RuneBow.RuneBow'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> OffhandMeshObject(TEXT("StaticMesh'/Game/VFX/sphere.sphere'"));
static ConstructorHelpers::FObjectFinder<UTexture2D> LargeIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_RuneBow.WeaponIcon_RuneBow'"));
static ConstructorHelpers::FObjectFinder<UTexture2D> SmallIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_RuneBow-small.WeaponIcon_RuneBow-small'"));

Name = EMasterGearList::GL_RuneBow;
NameText = LOCTEXT("RuneBowName", "RuneBow");
Type = EMasterGearTypes::GT_Ranged;
TypeText = LOCTEXT("RuneBowType", "Ranged");
Description = "An embodiment of the Ethereal Virtue: Wrath.";
Price = 40000;
MPCost = 0.0f;
ATK = 50.0f;
DEF = 40.0f;
SPD = 20.0f;
HP = 500.0f;
MP = 250.0f;
LargeIcon = LargeIconObject.Object;
SmallIcon = SmallIconObject.Object;

SK_WeaponSkeletalMesh = SkeletalMeshObject.Object;
SM_WeaponStaticMesh = StaticMeshObject.Object;
SM_WeaponOffhandMesh = StaticMeshObject.Object;

// Set Mesh
WeaponSkeletalMesh->SetSkeletalMesh(SK_WeaponSkeletalMesh);
WeaponSkeletalMesh->SetHiddenInGame(true);
WeaponStaticMesh->SetStaticMesh(SM_WeaponStaticMesh);
WeaponStaticMesh->SetWorldScale3D(FVector(0.4f, 0.4f, 0.4f)); // scale correction
WeaponStaticMesh->SetRelativeLocation(FVector(20, 0, -5)); // location correction
WeaponStaticMesh->SetRelativeRotation(FRotator(15, 90, 0)); // rotation correction
WeaponOffhandMesh->SetStaticMesh(SM_WeaponOffhandMesh);
WeaponOffhandMesh->SetHiddenInGame(true);
}

// Called when the game starts or when spawned
void ARuneBow::BeginPlay()
{
Super::BeginPlay();

// Bind this function to the event dispatcher for Bind Gear
OnBindGear.AddDynamic(this, &ARuneBow::BindWeapon);
}

// Custom code when binding
void ARuneBow::BindWeapon()
{
// If this weapon was bound while IsShown is true, set the weapon visible
if (IsShown)
{
ShowWeapon(false, true, false);
}
}

#undef LOCTEXT_NAMESPACE
86 changes: 86 additions & 0 deletions Ethereal/Private/Gear/Weapons/TwoHanded/Apocalypse.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
// © 2014 - 2016 Soverance Studios
// http://www.soverance.com

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "Ethereal.h"
#include "Apocalypse.h"

#define LOCTEXT_NAMESPACE "EtherealText"

// Sets default values
AApocalypse::AApocalypse(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
// Get Assets, References Obtained Via Right Click in Editor
static ConstructorHelpers::FObjectFinder<USkeletalMesh> SkeletalMeshObject(TEXT("SkeletalMesh'/Game/VFX/sphere_skeletal.sphere_skeletal'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> StaticMeshObject(TEXT("StaticMesh'/Game/Weapons/TwoHanded/Apocalypse/Apocalypse.Apocalypse'"));
static ConstructorHelpers::FObjectFinder<UStaticMesh> OffhandMeshObject(TEXT("StaticMesh'/Game/VFX/sphere.sphere'"));
ConstructorHelpers::FObjectFinder<UTexture2D> LargeIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_Apocalypse.WeaponIcon_Apocalypse'"));
ConstructorHelpers::FObjectFinder<UTexture2D> SmallIconObject(TEXT("Texture2D'/Game/Blueprints/Widgets/UI-Images/Icons_Gear/WeaponIcon_Apocalypse-small.WeaponIcon_Apocalypse-small'"));


// Set Default Objects

Name = EMasterGearList::GL_Apocalypse;
NameText = LOCTEXT("ApocalypseName", "Apocalypse");
Type = EMasterGearTypes::GT_TwoHanded;
TypeText = LOCTEXT("ApocalypseType", "Two-Handed");
Description = "An embodiment of the Ethereal Virtue: Apocalypse.";
Price = 40000;
MPCost = 0.0f;
ATK = 50.0f;
DEF = 50.0f;
SPD = 15.0f;
HP = 500.0f;
MP = 250.0f;
LargeIcon = LargeIconObject.Object;
SmallIcon = SmallIconObject.Object;

SK_WeaponSkeletalMesh = SkeletalMeshObject.Object;
SM_WeaponStaticMesh = StaticMeshObject.Object;
SM_WeaponOffhandMesh = StaticMeshObject.Object;

// Set Mesh
WeaponSkeletalMesh->SetSkeletalMesh(SK_WeaponSkeletalMesh);
WeaponStaticMesh->SetStaticMesh(SM_WeaponStaticMesh);
WeaponStaticMesh->SetWorldScale3D(FVector(1.5f, 1.5f, 1.8f)); // scale correction
WeaponStaticMesh->SetRelativeLocation(FVector(-15, 0, -40)); // location correction
WeaponStaticMesh->SetRelativeRotation(FRotator(0, -70, 0)); // rotation correction
WeaponOffhandMesh->SetStaticMesh(SM_WeaponOffhandMesh);

SwordCollider->SetupAttachment(WeaponStaticMesh);
SwordCollider->SetBoxExtent(FVector(10.0f, 10.0f, 50.0f));
SwordCollider->SetRelativeLocation(FVector(0.0f, 10.0f, 60.0f));
}

// Called when the game starts or when spawned
void AApocalypse::BeginPlay()
{
Super::BeginPlay();

// Bind this function to the event dispatcher for Bind Gear
OnBindGear.AddDynamic(this, &AApocalypse::BindWeapon);
}

// Custom code when binding
void AApocalypse::BindWeapon()
{
// If this weapon was bound while IsShown is true, set the weapon visible
if (IsShown)
{
ShowWeapon(false, true, false);
}
}

#undef LOCTEXT_NAMESPACE
Loading

0 comments on commit e803d96

Please sign in to comment.