Fixed class behaviour, fixed fight mechanic, fixed skill usage

This commit is contained in:
Finnchen123
2025-06-07 11:16:49 +02:00
parent cb033ea487
commit faebc757f6
15 changed files with 65 additions and 81 deletions

View File

@@ -8,7 +8,7 @@ using UnityEngine;
namespace Assets.Scripts.Classes
{
public class BasicClass
public abstract class BasicClass
{
public string classname;
protected int dexterityBonus;
@@ -39,19 +39,23 @@ namespace Assets.Scripts.Classes
public void loadHandObjects()
{
GameObject leftHandPrefab = Resources.Load<GameObject>("Prefabs/"+leftHandName);
GameObject rightHandPrefab = Resources.Load<GameObject>("Prefabs/"+rightHandName);
GameObject leftHandPrefab = Resources.Load<GameObject>("Prefabs/" + leftHandName);
GameObject rightHandPrefab = Resources.Load<GameObject>("Prefabs/" + rightHandName);
GameObject leftHandParent = GameObject.Find("leftHand");
GameObject rightHandParent = GameObject.Find("rightHand");
if(leftHandPrefab != null){
if (leftHandPrefab != null)
{
GameObject leftHand = GameObject.Instantiate(leftHandPrefab, leftHandParent.transform);
}
if(rightHandPrefab != null){
if (rightHandPrefab != null)
{
GameObject rightHand = GameObject.Instantiate(rightHandPrefab, rightHandParent.transform);
}
}
public abstract void GenerateSkills(BasicSkill[] skills);
}
}

View File

@@ -17,5 +17,10 @@ namespace Assets.Scripts.Classes
leftHandName = "smallShield";
rightHandName = "wand";
}
public override void GenerateSkills(BasicSkill[] skills)
{
//TODO
}
}
}

View File

@@ -20,5 +20,15 @@ namespace Assets.Scripts.Classes
leftHandName = "orb";
rightHandName = "wand";
}
public override void GenerateSkills(BasicSkill[] skills)
{
skills[0] = new BasicSkill(20, 1, 0, "Icicle", "Skills/Mage/Icicle", null);
skills[0].setDescription(TextHandler.getText("icicleDesc"));
skills[1] = new BasicSkill(0, 5, 1, "Teleport", "Skills/Mage/Teleport", null);
skills[1].setDescription(TextHandler.getText("teleportDesc"));
skills[2] = new BasicSkill(35, 30, 4, "Fireball", "Skills/Mage/Fireball", null);
skills[2].setDescription(TextHandler.getText("fireballDesc"));
}
}
}

View File

@@ -19,5 +19,15 @@ namespace Assets.Scripts.Classes
leftHandName = "smallShield";
rightHandName = "dagger";
}
public override void GenerateSkills(BasicSkill[] skills)
{
skills[0] = new BasicSkill(20, 0, 0, "Stab", "Skills/Thief/Stab", null);
skills[0].setDescription(TextHandler.getText("stabDesc"));
skills[1] = new BasicSkill(0, 5, 1, "SmokeScreen", "Skills/Thief/SmokeScreen", null);
skills[1].setDescription(TextHandler.getText("smokeScreenDesc"));
skills[2] = new BasicSkill(35, 30, 4, "Heartstop", "Skills/Thief/Heartstop", null);
skills[2].setDescription(TextHandler.getText("heartStopDesc"));
}
}
}

View File

@@ -19,5 +19,15 @@ namespace Assets.Scripts.Classes
leftHandName = "shield";
rightHandName = "sword";
}
public override void GenerateSkills(BasicSkill[] skills)
{
skills[0] = new BasicSkill(20, 0, 0, "Slash", "Skills/Warrior/Slash", null);
skills[0].setDescription(TextHandler.getText("slashDesc"));
skills[1] = new BasicSkill(0, 10, 1, "Block", "Skills/Warrior/Block", null);
skills[1].setDescription(TextHandler.getText("blockDesc"));
skills[2] = new BasicSkill(35, 30, 4, "Execution", "Skills/Warrior/Execution", null);
skills[2].setDescription(TextHandler.getText("executionDesc"));
}
}
}

View File

@@ -237,22 +237,6 @@ public class Controls : MonoBehaviour
}
}
public void OnSkillFive()
{
if (uihandler.isPlayerInFight())
{
fight.GetComponent<Fight>().playerAction(5);
}
}
public void OnSkillSix()
{
if (uihandler.isPlayerInFight())
{
fight.GetComponent<Fight>().playerAction(6);
}
}
public void OnDisarm()
{
if (player.GetComponent<PlayerGameObject>().isArmed)

View File

@@ -54,18 +54,12 @@ public class Fight : MonoBehaviour
}
break;
case 2:
//User waits
break;
case 3:
playerDamage = player.GetComponent<PlayerGameObject>().calculateDamage();
break;
case 4:
skillnumber = 0;
break;
case 5:
case 3:
skillnumber = 1;
break;
case 6:
case 4:
skillnumber = 2;
break;
}

View File

@@ -61,7 +61,7 @@ namespace Assets.Scripts.Menu
int role = GameObject.Find("dropClass").GetComponent<Dropdown>().value;
int race = GameObject.Find("dropRace").GetComponent<Dropdown>().value;
BasicRace playerRace = new BasicRace();
BasicClass playerClass = new BasicClass();
BasicClass playerClass = new DruidClass();
switch (role)
{
case 0:

View File

@@ -107,7 +107,7 @@ namespace Assets.Scripts.Player
public void generatePlayer()
{
BasicRace race = new BasicRace();
BasicClass role = new BasicClass();
BasicClass role = new DruidClass();
switch (PlayerPrefs.GetInt("class"))
{
case 0:
@@ -183,7 +183,8 @@ namespace Assets.Scripts.Player
}
public void rotate(Vector2 input, Vector2 speed){
transform.Rotate(Vector3.up, input.x * speed.x);// * Time.deltaTime);
Debug.Log(input.x * speed.x);
transform.Rotate(Vector3.up, input.x * speed.x * 5);// * Time.deltaTime);
}
public void getRotation()

View File

@@ -65,41 +65,7 @@ namespace Assets.Scripts.Player
private void generateSkills()
{
switch (role.classname)
{
case "Warrior":
skills[0] = new BasicSkill(20, 10, 2, "Slash", "Skills/Warrior/Slash", null);
skills[0].setDescription(TextHandler.getText("slashDesc"));
skills[1] = new BasicSkill(0, 5, 1, "Block", "Skills/Warrior/Block", null);
skills[1].setDescription(TextHandler.getText("blockDesc"));
skills[2] = new BasicSkill(35, 30, 4, "Execution", "Skills/Warrior/Execution", null);
skills[2].setDescription(TextHandler.getText("executionDesc"));
break;
case "Thief":
skills[0] = new BasicSkill(20, 10, 2, "Stab", "Skills/Thief/Stab", null);
skills[0].setDescription(TextHandler.getText("stabDesc"));
skills[1] = new BasicSkill(0, 5, 1, "SmokeScreen", "Skills/Thief/SmokeScreen", null);
skills[1].setDescription(TextHandler.getText("smokeScreenDesc"));
skills[2] = new BasicSkill(35, 30, 4, "Heartstop", "Skills/Thief/Heartstop", null);
skills[2].setDescription(TextHandler.getText("heartStopDesc"));
break;
case "Mage":
skills[0] = new BasicSkill(20, 10, 2, "Icicle", "Skills/Mage/Icicle", null);
skills[0].setDescription(TextHandler.getText("icicleDesc"));
skills[1] = new BasicSkill(0, 5, 1, "Teleport", "Skills/Mage/Teleport", null);
skills[1].setDescription(TextHandler.getText("teleportDesc"));
skills[2] = new BasicSkill(35, 30, 4, "Fireball", "Skills/Mage/Fireball", null);
skills[2].setDescription(TextHandler.getText("fireballDesc"));
break;
case "Druid":
skills[0] = new BasicSkill(20, 10, 2, "Stab", "Skills/Thief/Stab", null);
skills[0].setDescription(TextHandler.getText("stabDesc"));
skills[1] = new BasicSkill(0, 5, 1, "SmokeScreen", "Skills/Thief/SmokeScreen", null);
skills[1].setDescription(TextHandler.getText("smokeScreenDesc"));
skills[2] = new BasicSkill(35, 30, 4, "Heartstop", "Skills/Thief/Heartstop", null);
skills[2].setDescription(TextHandler.getText("heartStopDesc"));
break;
}
role.GenerateSkills(skills);
}
public void loadPlayer(JToken json)

View File

@@ -112,7 +112,7 @@ public class WorldGenerator : MonoBehaviour
{
string result = "";
int counter = 0;
string savePath = "";
string savePath;
result = result + FileHandler.generateJSON("cityAmount", cityAmount) + ",\r\n";
result = result + FileHandler.generateJSON("maxCityAmount", maxCityAmount) + ",\r\n";
result = result + "\"currentTile\": " + currentTile.GetComponent<Tile>().saveCurrent() + ",\r\n";