public void ChangeRelationship(string characterName, feelingsAboutChar feeling) { if (Relationships.ContainsKey(characterName)) { Relationships[characterName] = feeling; } }
/// <summary> /// The instigating character insults the receiving character, lowering trust/like of the receiver for the instigator. /// </summary> public static GameState InsultCharacter(GameState state, Character instigator, Character receiver, Item item) { GameState newState = state.Clone(); var jerk = newState.GetCharacter(instigator.Name); var insultee = newState.GetCharacter(receiver.Name); if (jerk != null && insultee != null) { // HACK (kasiu): SOMEONE THINK OF A BETTER INSULT TO PUT HERE. newState.AddLine(jerk.Name, new DialogueLine(jerk.Name, "You know " + insultee.Name + ", you're an asshole.")); newState.AddLine(insultee.Name, new DialogueLine(insultee.Name, "What? You try saying that again!")); var oldFeelings = insultee.GetRelationship(jerk.Name); var newFeelings = new feelingsAboutChar(); // Lowers trust and like by -1 newFeelings.Trust = Math.Max(oldFeelings.Trust - 1, -2); newFeelings.Like = Math.Max(oldFeelings.Like - 1, -2); insultee.ChangeRelationship(jerk.Name, newFeelings); } return(newState); }
/// <summary> /// The instigating character insults the receiving character, lowering trust/like of the receiver for the instigator. /// </summary> public static GameState InsultCharacter(GameState state, Character instigator, Character receiver, Item item) { GameState newState = state.Clone(); var jerk = newState.GetCharacter(instigator.Name); var insultee = newState.GetCharacter(receiver.Name); if (jerk != null && insultee != null) { // HACK (kasiu): SOMEONE THINK OF A BETTER INSULT TO PUT HERE. newState.AddLine(jerk.Name, new DialogueLine(jerk.Name, "You know " + insultee.Name + ", you're an asshole.")); newState.AddLine(insultee.Name, new DialogueLine(insultee.Name, "What? You try saying that again!")); var oldFeelings = insultee.GetRelationship(jerk.Name); var newFeelings = new feelingsAboutChar(); // Lowers trust and like by -1 newFeelings.Trust = Math.Max(oldFeelings.Trust - 1, -2); newFeelings.Like = Math.Max(oldFeelings.Like - 1, -2); insultee.ChangeRelationship(jerk.Name, newFeelings); } return newState; }
//RELATIONSHIP STUFF public void AddRelationship(string characterName, feelingsAboutChar feeling) { Relationships.Add(characterName, feeling); }
public void ChangeRelationship(string characterName, feelingsAboutChar feeling){ if (Relationships.ContainsKey (characterName)) { Relationships[characterName] = feeling; } }
//RELATIONSHIP STUFF public void AddRelationship(string characterName, feelingsAboutChar feeling){ Relationships.Add (characterName, feeling); }