fixed chest, improved ui, improved difficulty

This commit is contained in:
TAASONI3
2023-12-23 21:19:05 +01:00
parent 989732ff97
commit bf705a52a8
39 changed files with 6351 additions and 5676 deletions

View File

@@ -10,7 +10,7 @@ namespace Assets.Scripts.Player
UIHandler uihandler;
GameObject player;
Vector2 rotation = Vector2.zero;
public float mouseSpeed = 1; //the sensibility
public float mouseSpeed = 100; //the sensibility
public float controllerSpeed = 0.01f; //the sensibility
float xMaxLimit = 50.0f;
float xMinLimit = -50.0f;
@@ -22,14 +22,14 @@ namespace Assets.Scripts.Player
uihandler = GameObject.Find("UIHandler").GetComponent<UIHandler>();
player = gameObject.transform.parent.gameObject;
interact = GameObject.Find("pnlInteract");
interact.transform.localScale = new Vector3(0,0,0);
interact.transform.localScale = new Vector3(0, 0, 0);
}
// Update is called once per frame
void Update()
{
transform.position = new Vector3(transform.parent.transform.position.x, transform.position.y, transform.parent.transform.position.z);
}
private void FixedUpdate()
@@ -37,15 +37,19 @@ namespace Assets.Scripts.Player
showInformation();
}
public void lookAround(Vector2 view, bool isController){
public void lookAround(Vector2 view, bool isController)
{
rotation.y += view.x;
rotation.x += -view.y;
rotation.x = Mathf.Clamp(rotation.x, xMinLimit, xMaxLimit);
if(isController){
transform.eulerAngles = (Vector2)rotation * controllerSpeed;
//rotation.x = Mathf.Clamp(rotation.x, xMinLimit, xMaxLimit);
if (isController)
{
transform.eulerAngles = rotation * (controllerSpeed * Time.deltaTime);
}
else{
transform.eulerAngles = (Vector2)rotation * mouseSpeed;
else
{
transform.eulerAngles = rotation * mouseSpeed;
//TODO: Look at camera movement -> Not rly smooth. Weird drag
}
}
@@ -65,14 +69,18 @@ namespace Assets.Scripts.Player
void showInformation()
{
RaycastHit hit;
interact.transform.localScale = new Vector3(0,0,0);
interact.transform.localScale = new Vector3(0, 0, 0);
if (Physics.Raycast(transform.position, transform.forward, out hit, Mathf.Infinity))
{
if (hit.collider.gameObject.tag.ToLower().Contains("object"))
{
string obj = hit.collider.gameObject.tag.Split(':')[1];
if(hit.distance <= 3 && !obj.ToLower().Equals("house")){
interact.transform.localScale = new Vector3(1,1,1);
if (hit.distance <= 3 && !obj.ToLower().Equals("house"))
{
if (!uihandler.isPlayerInFight())
{
interact.transform.localScale = new Vector3(1, 1, 1);
}
}
switch (obj.ToLower())
{
@@ -98,16 +106,20 @@ namespace Assets.Scripts.Player
displayInformation(TextHandler.getText("chest"));
break;
case "ore":
if(hit.collider.gameObject.name.ToLower().Contains("iron")){
if (hit.collider.gameObject.name.ToLower().Contains("iron"))
{
displayInformation(TextHandler.translate("Iron ore"));
}
else if(hit.collider.gameObject.name.ToLower().Contains("gold")){
else if (hit.collider.gameObject.name.ToLower().Contains("gold"))
{
displayInformation(TextHandler.translate("Gold ore"));
}
else if(hit.collider.gameObject.name.ToLower().Contains("copper")){
else if (hit.collider.gameObject.name.ToLower().Contains("copper"))
{
displayInformation(TextHandler.translate("Copper ore"));
}
else if(hit.collider.gameObject.name.ToLower().Contains("tin")){
else if (hit.collider.gameObject.name.ToLower().Contains("tin"))
{
displayInformation(TextHandler.translate("Tin ore"));
}
break;

View File

@@ -78,7 +78,7 @@ namespace Assets.Scripts.Player
{
now = DateTime.Now;
player.regainSecondary(inventory.getEquipmentBonus()["MPR"], inventory.getEquipmentBonus()["MP"]);
player.healPlayer(inventory.getEquipmentBonus()["HPR"], inventory.getEquipmentBonus()["HP"]);
player.healPlayer(4 - difficulty * 2, inventory.getEquipmentBonus()["HP"]);
}
}
}
@@ -229,6 +229,12 @@ namespace Assets.Scripts.Player
worldGenerator.createTile(new Vector3(1,0,1));
}
if(col.name.Contains("House")){
if(!col.transform.Find("Door").GetComponent<Door>().hasInteracted){
transform.position = new Vector3(transform.position.x + 10, 10, transform.position.z);
}
}
}
public void displayAction(int index, GameObject image, GameObject desc)
@@ -260,7 +266,7 @@ namespace Assets.Scripts.Player
public void updateNameHUD(Text nameUI)
{
nameUI.text = player.getPlayerName() + "\n\r" + TextHandler.getText(player.getRace().racename) + "/" + TextHandler.getText(player.getClass().classname) + "\r\n Lvl. " + player.getStat("Level").getAmount();
nameUI.text = player.getPlayerName() + "(Lvl. " + player.getStat("Level").getAmount() + ")";
}
public void upgradeStrength()
@@ -343,14 +349,21 @@ namespace Assets.Scripts.Player
{
if (player != null)
{
return player.takeDamage(amount, inventory.getEquipmentBonus()["DEX"], inventory.getEquipmentBonus()["INT"]);
if(player.takeDamage(amount, inventory.getEquipmentBonus()["DEX"], inventory.getEquipmentBonus()["INT"])){
audioHandler.playDamage();
return true;
}
}
return false;
}
public int castSkill(int skillnumber)
{
return player.castSkill(skillnumber, inventory.getEquipmentBonus()["INT"], inventory.getEquipmentBonus()["STR"], inventory.getEquipmentBonus()["DEX"]);
int damage = player.castSkill(skillnumber, inventory.getEquipmentBonus()["INT"], inventory.getEquipmentBonus()["STR"], inventory.getEquipmentBonus()["DEX"]);
if(damage > 0){
player.getSkill(skillnumber).playSound(audioHandler);
}
return damage;
}
public void reduceCooldown(int skillnumber)

View File

@@ -25,7 +25,7 @@ namespace Assets.Scripts.Player
this.difficulty = difficulty;
generateStats(false);
generateSkills();
EasterEggHandler.applyEasterEgg(this);
EasterEggHandler.applyEasterEgg(playername);
}
public PlayerObject()
@@ -45,7 +45,6 @@ namespace Assets.Scripts.Player
stats.Add("Intelligence", new PlayerStat("Intelligence", 5, "The current intelligence of the player"));
stats.Add("Experience", new PlayerStat("Experience", 0, "The current experience of the player"));
stats.Add("MaxExperience", new PlayerStat("MaxExperience", 10, "The current max experience of the player"));
stats.Add("HealthRegen", new PlayerStat("HealthRegen", 30 / (difficulty + 1), "The current health regen of the player"));
stats.Add("SecondaryRegen", new PlayerStat("SecondaryRegen", 5, "The current secondary regen of the player"));
stats.Add("Level", new PlayerStat("Level", 0, "The current level of the player"));
stats.Add("Luck", new PlayerStat("Luck", 20 - (difficulty * 5), "The current luck of the player"));
@@ -107,7 +106,6 @@ namespace Assets.Scripts.Player
stats["MaxExperience"].setAmount((int)json["maxExperience"]);
stats["Points"].setAmount((int)json["points"]);
stats["Luck"].setAmount((int)json["luck"]);
stats["HealthRegen"].setAmount((int)json["healthRegen"]);
stats["SecondaryRegen"].setAmount((int)json["secondaryRegen"]);
stats["Killcount"].setAmount((int)json["killcount"]);
@@ -176,9 +174,9 @@ namespace Assets.Scripts.Player
}
}
public void healPlayer(int equipRegen, int equipStat)
public void healPlayer(int regeneration, int equipStat)
{
stats["Health"].changeAmount(stats["HealthRegen"].getAmount() + equipRegen);
stats["Health"].changeAmount(regeneration);
if (stats["Health"].getAmount() >= stats["MaxHealth"].getAmount() + equipStat)
{
stats["Health"].setAmount(stats["MaxHealth"].getAmount() + equipStat);
@@ -260,7 +258,6 @@ namespace Assets.Scripts.Player
damage = damage / 2;
break;
}
//TODO: Let caller of this method handle audio if damage is higher than 0 // skills[index].playSound(audioHandler);
}
return damage;
}
@@ -299,7 +296,6 @@ namespace Assets.Scripts.Player
if (rand.Next(1, 101) > dodgeChance)
{
stats["Health"].changeAmount(-amount);
//TODO: Let caller of this method handle audio // audioHandler.playDamage();
}
}
return stats["Health"].getAmount() <= 0;
@@ -370,7 +366,6 @@ namespace Assets.Scripts.Player
result = result + FileHandler.generateJSON("race", "\"" + race.racename + "\"") + ",\r\n";
result = result + FileHandler.generateJSON("role", "\"" + role.classname + "\"") + ",\r\n";
result = result + FileHandler.generateJSON("points", stats["Points"].getAmount()) + ",\r\n";
result = result + FileHandler.generateJSON("healthRegen", stats["HealthRegen"].getAmount()) + ",\r\n";
result = result + FileHandler.generateJSON("secondaryRegen", stats["SecondaryRegen"].getAmount()) + ",\r\n";
result = result + FileHandler.generateJSON("isDodging", "\"" + isDodging + "\"") + ",\r\n";
result = result + FileHandler.generateJSON("killcount", stats["Killcount"].getAmount()) + ",\r\n";