Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Pillars of Eternity Coding/Hacking Thread

Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
Don't have time to read the whole thread but I'm kind of confused... wasn't PoE made with Unity? There's no actual C# is there? I thought Unity used C#-like scripting language alternative, that was assembled into some kind of in-engine callbacks -- or is Unity itself built with C#? Or am I missing a step that lets Unity be written in language X while PoE can be written in C# (wouldn't in theory this cause huge performance problems?)?

If this is true bare-bones C#, can't you use reflection like Java to extend the game?
Unity itself is written partly in C++ and partly in C#. Unity supports scripting in c#, javascript, boo and used to support their own language, unityscript, which compiled extremely slowly (~8 times slower than c#) and nobody was using it anyway, so they ditched it (or just stopped actively supporting it... the docs only have code snippets in those 3 languages).

And about reflection, I suppose you could in theory, but I don't know how in practical terms, since I never did anything like it. Could you perhaps elaborate on that?

Edit: oops, took a little break while writing the post, Sensuki already answered
 
Last edited:

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
Any updates on those UI tweaks Bester? I could probably try the selection circle one myself if you tell me what I need to call to check a unit for isPartyMember = true
 
Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
The only update is that I just woke up and am about to get into it (just need to grab a bite). As for how to check if party member, I really don't know yet.

Edit: off the top of my head, there's a array of partymembers, but checking against them all wouldn't be as efficient as attempting to get a component from the NPC that only a partymember would have. If component = null, then not party member. But I don't know which component yet. Or maybe there's already a method for that, or even a bool. So like I said, Idk yet.
 
Last edited:
Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
Heh, yeah, but it's a private bool.

I wrote a console command to print all components of an object in game and only partymembers have a component PartyMemberAI. So you can check if party member through if (someobject.GetComponent<PartyMemberAI>() != null)

Oh, and now that you wrote about that bool, I went to see how it receives its value, and it also gets it through a check of PartyMemberAI component. So yeah, it's definitely the best way.
 
Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
Alright, so about highlight, Sensuki . Do you want highlight to never ever work if the box is unchecked in the settings, or do you only want to remove the highlight that occurs when you just hover your mouse over an NPC? Cause for example when you're casting an AOE spell, highlight might be ok as a visual aid, what do you think?
 

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
Remove the shader - make it never occur. I have turned it off before by changing that alpha value to zero, but Obsidian will not get rid of it - they may however be receptive to a toggle, so if you can create a toggle in the options menu, I'll publically post the mod/code so they can put it into the next build

and for the selection circle thingy do you think this would work?

public static Color GetFriendlyColor()
{
if (InGameHUD.s_instance.UseColorBlindSettings)
return InGameHUD.s_instance.FriendlyColorColorBlind;
else if (someobject.GetComponent<PartyMemberAI>() != null)
return InGameHUD.s_instance.FriendlyColor;
}

public static Color GetFriendlyHighlightColor()
{
if (InGameHUD.s_instance.UseColorBlindSettings)
return InGameHUD.s_instance.HighlightFriendColorblind;
else if (someobject.GetComponent<PartyMemberAI>() != null)
return InGameHUD.s_instance.HighlightFriend;
}

How do I insert that code with NET Reflector ?

soz edited my post, I'd prefer not to see the shader at all.
 
Last edited:
Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
and for the selection circle thingy do you think this would work?

public static Color GetFriendlyColor()
{
if (InGameHUD.s_instance.UseColorBlindSettings)
return InGameHUD.s_instance.FriendlyColorColorBlind;
else if (someobject.GetComponent<PartyMemberAI>() != null)
return InGameHUD.s_instance.FriendlyColor;
}

public static Color GetFriendlyHighlightColor()
{
if (InGameHUD.s_instance.UseColorBlindSettings)
return InGameHUD.s_instance.HighlightFriendColorblind;
else if (someobject.GetComponent<PartyMemberAI>() != null)
return InGameHUD.s_instance.HighlightFriend;
}

Well, no, firstly because all paths must return a value, and it's not the case with your code. And secondly, what is "someobject" referring to in this code? I wrote it as an example of an object reference, but simply inserting it into the code wouldn't even compile.

Honestly, I haven't even looked into this issue yet (I've only been looking at the highlights thing), but it doesn't seem like this is where you should check for "if party member". Instead, find where this method is called from and do a check in there. And do it on a GameObject that's already been declared and assigned.

Code:
How do I insert that code with NET Reflector ?
Huh, that's a little tricky, especially since Reflexil has some kind of bug when it comes to dealing with assemblies compiled by Unity. I think instead of writing a wall of text, the easiest thing would be to record a simple video, which I'm gonna try and do right now.
 

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
Honestly, I haven't even looked into this issue yet (I've only been looking at the highlights thing), but it doesn't seem like this is where you should check for "if party member". Instead, find where this method is called from and do a check in there. And do it on a GameObject that's already been declared and assigned.

Which method? isPartyMember or GetFriendlyColor ?

Huh, that's a little tricky, especially since Reflexil has some kind of bug when it comes to dealing with assemblies compiled by Unity. I think instead of writing a wall of text, the easiest thing would be to record a simple video, which I'm gonna try and do right now.

Yeah well however you made your spawn unit method, that would be cool because then I could muck around myself.
 

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
GetFriendlyColor is a method of InGameHUD, I can't see any references to it in any other class.

and by a game object check do you mean one like this?

if (Object.op_Equality((Object) this.something, (Object) null))
 

Zed

Codex Staff
Patron
Staff Member
Joined
Oct 21, 2002
Messages
17,068
Codex USB, 2014
say what you will about sensuki's (and maybe others') "arrogance" and whatever, but anything that leads to the removal of the highlighting effect as well as better colors for selections circles, well, that's incline in my book.

you guys should investigate those fugly door/transition icons next :D
 

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
Ah, actually wouldn't it be better to do it in the selection circle code? Since that class calls a GameObject called owner

Probably in the setColor() method in the SelectionCircle code

Code:
public void SetColor(bool isFoe, bool isSelected)
  {
    if (isFoe)
    {
      this.m_selectedMaterial = this.m_FoeMaterial;
      ((Component) this).get_renderer().set_sharedMaterial(this.m_FoeMaterial);
      this.m_ReferenceMaterial = InGameHUD.Instance.FoeMaterial;
    }
    else if (InGameHUD.Instance.UseColorBlindSettings)
    {
      this.m_selectedMaterial = this.m_FriendlySelectedColorBlindMaterial;
      if (isSelected)
      {
        ((Component) this).get_renderer().set_sharedMaterial(this.m_FriendlySelectedColorBlindMaterial);
        this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelectedColorBlind;
      }
      else
      {
        ((Component) this).get_renderer().set_sharedMaterial(this.m_FriendlyColorBlindMaterial);
        this.m_ReferenceMaterial = InGameHUD.Instance.FriendlyColorBlind;
      }
    }
    else
    {
      this.m_selectedMaterial = this.m_FriendlySelectedMaterial;
      if (isSelected)
      {
        ((Component) this).get_renderer().set_sharedMaterial(this.m_FriendlySelectedMaterial);
        this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelected;
      }
      else
      {
        ((Component) this).get_renderer().set_sharedMaterial(this.m_FriendlyMaterial);
        this.m_ReferenceMaterial = InGameHUD.Instance.Friendly;
      }
    }
    if (!Object.op_Implicit((Object) this.m_ReferenceMaterial))
      return;
    if (Object.op_Implicit((Object) ((Component) this).get_renderer().get_sharedMaterial()))
      ((Component) this).get_renderer().get_sharedMaterial().set_color(this.m_ReferenceMaterial.get_color());
    this.ColorTween.from = this.m_ReferenceMaterial.get_color();
  }

Need to check in there in the instances where colorblind isn't being used, starting from the second else after the elseif for whether the GameObject is a partyMember - if they are - green, if they aren't use colorblind colors
 
Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
GetFriendlyColor is a method of InGameHUD, I can't see any references to it in any other class.
There are 3 calls to this method from other classes. How are you looking for it, not in Reflector I hope? You need to save the assembly as a Visual Studio project, import it into VS and look for things in there. Reflector or Ilspy - they can't search shit.

Ah, actually wouldn't it be better to do it in the selection circle code?
Honestly, I've no idea, I don't have the ability to just open code and tell you things like that right off the bat :D Let me record the reflector explanation and then if you want, I'll look into the circles first, and the highlights after that.
 

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
I'm using ILSpy and dotPeek to search, hahha and yeah they suck

I think in the selection circle code is the best way to do it, but i am a noob so, I'll wait for you
 
Last edited:

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
I already know how to edit variables in IL, that's what I've been doing so far with my mods :P (but I use ILdasm and ILasm) I'm about halfway through but if you did that too in the video that woulda been superfluous. I knew how to replace all with code in Reflexil, but I couldn't get it to compile - cheers for showing me why
 
Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
I already know how to edit variables in IL, that's what I've been doing so far with my mods :P (but I use ILdasm and ILasm) I'm about halfway through but if you did that too in the video that woulda been superfluous. I knew how to replace all with code in Reflexil, but I couldn't get it to compile - cheers for showing me why
Yeah well I bet you still couldn't recompile the SetColor method, could you? I bashed my head against it for the past couple of hours and was getting nowhere. Fortunately, wife woke up and helped me out. Circles are now light blue.

2014-10-30_00003.jpg


Here's the code that does it. SelectionCircle -> SetColor -> Replace all with code:

Code:
#region " Imports "
using System;
using System.Collections.Generic;
using System.Text;
#endregion

#region " Referenced assemblies "
// - UnityEngine v0.0.0.0
// - mscorlib v2.0.0.0
// - System.Core v3.5.0.0
// - Assembly-UnityScript-firstpass v0.0.0.0
// - System v2.0.0.0
// - System.Xml v2.0.0.0
// - OEIFormats v1.0.0.0
// - SteamworksManaged v1.0.0.0
// - mscorlib v4.0.0.0
// - Assembly-CSharp v0.0.0.0
// - Assembly-CSharp v0.0.0.0
#endregion

class SelectionCircle : UnityEngine.MonoBehaviour
{
   // Limited support!
   // You can only reference methods or fields defined in the class (not in ancestors classes)
   // Fields and methods stubs are needed for compilation purposes only.
   // Reflexil will automaticaly map current type, fields or methods to original references.
   void SetColor(bool isFoe, bool isSelected)
   {
  if (isFoe)
  {
  this.m_selectedMaterial = this.m_FoeMaterial;
  base.renderer.sharedMaterial = this.m_FoeMaterial;
  this.m_ReferenceMaterial = InGameHUD.Instance.FoeMaterial;
  }
  else if (InGameHUD.Instance.UseColorBlindSettings)
  {
  this.m_selectedMaterial = this.m_FriendlySelectedColorBlindMaterial;
  if (isSelected)
  {
  base.renderer.sharedMaterial = this.m_FriendlySelectedColorBlindMaterial;
  this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelectedColorBlind;
  }
  else
  {
  base.renderer.sharedMaterial = this.m_FriendlyColorBlindMaterial;
  this.m_ReferenceMaterial = InGameHUD.Instance.FriendlyColorBlind;
  }
  }
  else
  {
     if (this.m_Owner.GetComponent<PartyMemberAI>() != null) // if party member
     {
    this.m_selectedMaterial = this.m_FriendlySelectedMaterial;
    if (isSelected)
    {
    base.renderer.sharedMaterial = this.m_FriendlySelectedMaterial;
    this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelected;
    }
    else
    {
    base.renderer.sharedMaterial = this.m_FriendlyMaterial;
    this.m_ReferenceMaterial = InGameHUD.Instance.Friendly;
    }
     }
     else // if neutral NPC
     {
       this.m_selectedMaterial = this.m_FriendlySelectedColorBlindMaterial;
    if (isSelected)
    {
    base.renderer.sharedMaterial = this.m_FriendlySelectedColorBlindMaterial;
    this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelectedColorBlind;
    }
    else // i use the SELECTEDcolorblindmaterial even when NPC isn't selected, cause the dark blue sucks ass
    {
    base.renderer.sharedMaterial = this.m_FriendlySelectedColorBlindMaterial;
    this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelectedColorBlind;
    }
     }
  }
  if (this.m_ReferenceMaterial != null)
  {
  if (base.renderer.sharedMaterial != null)
  {
  base.renderer.sharedMaterial.color = this.m_ReferenceMaterial.color;
  }
  this.ColorTween.from = this.m_ReferenceMaterial.color;
  }
  this.InitPies();
  foreach (UnityEngine.LineRenderer renderer in this.m_Pies)
  {
  renderer.sharedMaterial = base.renderer.sharedMaterial;
  }
   }
 
   #region " Methods stubs "
   // Do not add or update any method. If compilation fails because of a method declaration, comment it
   SelectionCircle()
   {
   }
 
   //Mode get_CurrentMode()
   //{
   //   return default(Mode);
   //}
 
   //void set_CurrentMode(Mode @value)
   //{
   //}
 
   bool get_OverrideHide()
   {
     return default(bool);
   }
 
   void set_OverrideHide(bool @value)
   {
   }
 
   void Start()
   {
   }
 
   void InitPies()
   {
   }
 
   void OnDestroy()
   {
   }
 
   void OnDisable()
   {
   }
 
   void ResetColorTween()
   {
   }
 
   bool IsVisible()
   {
     return default(bool);
   }
 
   void Update()
   {
   }
 
   void SetOwner(UnityEngine.GameObject owner)
   {
   }
 
   void SetRootScale(float scale)
   {
   }
 
   UnityEngine.Color GetSelectedColor()
   {
     return default(UnityEngine.Color);
   }
 
   #endregion
 
   #region " Fields stubs "
   // Do not add or update any field. If compilation fails because of a field declaration, comment it
   TweenScale ScaleTween;
   TweenColor ColorTween;
   TweenScale ZoomTween;
   TweenValue PieTween;
   float ScaleTo;
   UnityEngine.GameObject m_Owner;
   AIController m_ai;
   UnityEngine.LineRenderer[] m_Pies;
   UnityEngine.LineRenderer m_lineRenderer;
   Faction m_pai_target;
   UnityEngine.Material m_FriendlyMaterial;
   UnityEngine.Material m_FriendlyColorBlindMaterial;
   UnityEngine.Material m_FoeMaterial;
   UnityEngine.Material m_FriendlySelectedMaterial;
   UnityEngine.Material m_FriendlySelectedColorBlindMaterial;
   UnityEngine.Material m_ReferenceMaterial;
   //Mode m_Mode;
   bool m_OverrideHide;
   UnityEngine.Material m_selectedMaterial;
   #endregion
}

Edit: huh, just noticed, the boar is still green. Will have to work on that by determining the owner of the pet. You wanna try it? I'm going out for an hour or so.
 

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
Great job there though :)

Obsidian is still having problems with some of the logic with animal companions - I may actually submit that in a bug report, because currently there's some shit where Animal Companions from enemies are locking the player out of shit, that may give some insight in how to fix it.

edit: I found this code in PartyMemberAI

Code:
private int GetDesiredSlot()
  {
    int num;
    if (this.Secondary)
    {
      PartyMemberAI partyMemberAi = (PartyMemberAI) this.Summoner.GetComponent<PartyMemberAI>();
      num = this.SummonType != AIController.AISummonType.AnimalCompanion ? partyMemberAi.GetNextAvailableSummonSlot(this) : partyMemberAi.MyAnimalSlot;
    }
    else
      num = PartyMemberAI.NextAvailablePrimarySlot;
    return num;
  }

That may have something to do with it.

I'm not 100% sure how to exactly write it (I don't know C#, I am more familiar with Java) but it would be like where you check for isPartyMember

Code:
 if (this.m_Owner.GetComponent<PartyMemberAI>() != null) || (this.m_Owner = AI.Controller.AISummonType.AnimalCompanion ? partyMemberAI.GetNextAvailableSummonSlot(this) : partyMemberAi.MyAnimalSlot)

I'll try compiling that and see if it works

Ohh - maybe that's what's causing the combat state bug, they haven't checked for Animal Companion

After this, that's the next thing I'm going to look into, will be fun if I can fix that bug myself
 
Last edited:

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
I followed your video, but I'm still getting mscorlib duplicate reference ;_;

Tried renaming the file, although that didn't seem to work

I have .NET Reflector 8.2 because that was the only one that I could find via torrents

Think I got around the issue by copying my stuff out of the Unity Managed folder, although my code is completely wrong :lol:
 
Last edited:
Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
I followed your video, but I'm still getting mscorlib duplicate reference ;_;

Tried renaming the file, although that didn't seem to work

I have .NET Reflector 8.2 because that was the only one that I could find via torrents

Think I got around the issue by copying my stuff out of the Unity Managed folder, although my code is completely wrong :lol:

Oh yeah, actually in my assemblies folder, mscorlib is renamed to "mscorlib.xxx". I didn't even remember that, it's probably something I did while trying to make it work. So maybe my method only works when mscorlib is renamed.
 

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
I consulted with a friend of mine who's a C# wizard and he said that the reason why AnimalCompanions stay green is because is that NPC AnimalCompanion instances attaches the partyMemberAI component, which is not done for the npcs themselves

This could be causing them quite a few bugs
 
Vatnik
Joined
Sep 28, 2014
Messages
12,296
Location
USSR
This could be causing them quite a few bugs

Don't know about that, fixed the circle colors for pets though. Definitive code:
Code:
#region " Imports "
using System;
using System.Collections.Generic;
using System.Text;
#endregion

#region " Referenced assemblies "
// - UnityEngine v0.0.0.0
// - mscorlib v2.0.0.0
// - System.Core v3.5.0.0
// - Assembly-UnityScript-firstpass v0.0.0.0
// - System v2.0.0.0
// - System.Xml v2.0.0.0
// - OEIFormats v1.0.0.0
// - SteamworksManaged v1.0.0.0
// - mscorlib v4.0.0.0
// - Assembly-CSharp v0.0.0.0
// - Assembly-CSharp v0.0.0.0
#endregion

class SelectionCircle : UnityEngine.MonoBehaviour
{
   // Limited support!
   // You can only reference methods or fields defined in the class (not in ancestors classes)
   // Fields and methods stubs are needed for compilation purposes only.
   // Reflexil will automaticaly map current type, fields or methods to original references.
   void SetColor(bool isFoe, bool isSelected)
   {
  if (isFoe)
  {
  this.m_selectedMaterial = this.m_FoeMaterial;
  base.renderer.sharedMaterial = this.m_FoeMaterial;
  this.m_ReferenceMaterial = InGameHUD.Instance.FoeMaterial;
  }
  else if (InGameHUD.Instance.UseColorBlindSettings)
  {
  this.m_selectedMaterial = this.m_FriendlySelectedColorBlindMaterial;
  if (isSelected)
  {
  base.renderer.sharedMaterial = this.m_FriendlySelectedColorBlindMaterial;
  this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelectedColorBlind;
  }
  else
  {
  base.renderer.sharedMaterial = this.m_FriendlyColorBlindMaterial;
  this.m_ReferenceMaterial = InGameHUD.Instance.FriendlyColorBlind;
  }
  }
  else
  {
     if ((this.m_Owner.GetComponent<PartyMemberAI>() != null) && (this.m_Owner.GetComponent<Faction>().CurrentTeam == Team.GetTeamByTag("player"))) // if party member (additional check for pets...)
     {
    this.m_selectedMaterial = this.m_FriendlySelectedMaterial;
    if (isSelected)
    {
    base.renderer.sharedMaterial = this.m_FriendlySelectedMaterial;
    this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelected;
    }
    else
    {
    base.renderer.sharedMaterial = this.m_FriendlyMaterial;
    this.m_ReferenceMaterial = InGameHUD.Instance.Friendly;
    }
     }
     else // if neutral NPC
     {
       this.m_selectedMaterial = this.m_FriendlySelectedColorBlindMaterial;
    if (isSelected)
    {
    base.renderer.sharedMaterial = this.m_FriendlySelectedColorBlindMaterial;
    this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelectedColorBlind;
    }
    else
    {
    base.renderer.sharedMaterial = this.m_FriendlySelectedColorBlindMaterial;
    this.m_ReferenceMaterial = InGameHUD.Instance.FriendlySelectedColorBlind;
    }
     }
  }
  if (this.m_ReferenceMaterial != null)
  {
  if (base.renderer.sharedMaterial != null)
  {
  base.renderer.sharedMaterial.color = this.m_ReferenceMaterial.color;
  }
  this.ColorTween.from = this.m_ReferenceMaterial.color;
  }
  this.InitPies();
  foreach (UnityEngine.LineRenderer renderer in this.m_Pies)
  {
  renderer.sharedMaterial = base.renderer.sharedMaterial;
  }
   }
  
   #region " Methods stubs "
   // Do not add or update any method. If compilation fails because of a method declaration, comment it
   SelectionCircle()
   {
   }
  
   //Mode get_CurrentMode()
   //{
   //   return default(Mode);
   //}
  
   //void set_CurrentMode(Mode @value)
   //{
   //}
  
   bool get_OverrideHide()
   {
     return default(bool);
   }
  
   void set_OverrideHide(bool @value)
   {
   }
  
   void Start()
   {
   }
  
   void InitPies()
   {
   }
  
   void OnDestroy()
   {
   }
  
   void OnDisable()
   {
   }
  
   void ResetColorTween()
   {
   }
  
   bool IsVisible()
   {
     return default(bool);
   }
  
   void Update()
   {
   }
  
   void SetOwner(UnityEngine.GameObject owner)
   {
   }
  
   void SetRootScale(float scale)
   {
   }
  
   UnityEngine.Color GetSelectedColor()
   {
     return default(UnityEngine.Color);
   }
  
   #endregion
  
   #region " Fields stubs "
   // Do not add or update any field. If compilation fails because of a field declaration, comment it
   TweenScale ScaleTween;
   TweenColor ColorTween;
   TweenScale ZoomTween;
   TweenValue PieTween;
   float ScaleTo;
   UnityEngine.GameObject m_Owner;
   AIController m_ai;
   UnityEngine.LineRenderer[] m_Pies;
   UnityEngine.LineRenderer m_lineRenderer;
   Faction m_pai_target;
   UnityEngine.Material m_FriendlyMaterial;
   UnityEngine.Material m_FriendlyColorBlindMaterial;
   UnityEngine.Material m_FoeMaterial;
   UnityEngine.Material m_FriendlySelectedMaterial;
   UnityEngine.Material m_FriendlySelectedColorBlindMaterial;
   UnityEngine.Material m_ReferenceMaterial;
   //Mode m_Mode;
   bool m_OverrideHide;
   UnityEngine.Material m_selectedMaterial;
   #endregion
}
 

Sensuki

Arcane
Joined
Oct 26, 2012
Messages
9,859
Location
New North Korea
Codex 2014 Serpent in the Staglands Shadorwun: Hong Kong A Beautifully Desolate Campaign
Oh nice work - currentTeam, cool!

The bug that springs to mind is the one in the Dyrford Ruins where when the Boar Animal Companion takes damage not inflicted by the player, the CombatState persists.

For some reason (random bug) the boar keeps taking 3 damage every second, and it keeps the area in the combat state and you can't do anything. I thought that since Party Member AI is attached to AnimalCompanion, maybe the combat state checks for PartyMemberAI or something to determine whether the party is in combat or something

Now what about the selection circle color, to change to the IE style light blue rather than shitty ToEE blue
 
Last edited:

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom