Search Results
Searched for posts by fejoa in all forums

Showing results 831 - 840 out of 1011 total
Modify your search
Posted by fejoa, Feb 19, 2014 at 12:37 pm
Yeah the people and animals on that level are all on the same team.
Posted by fejoa, Feb 15, 2014 at 3:17 am
a assassin!
I should've put
UsesLongAdjectiveArticle = true;
in char.dat
Posted by fejoa, Feb 14, 2014 at 1:23 pm
So larger monsters are easier to hit.
Funny how the table above doesn't include scimitars.
In LIVAN more weapons were introduced, and they weren't always so balanced. You'd end up finding broken sapphire knight swords in three percent of games. I wonder how the weapons introduced in LIVAN stack up against the standard armoury from CVS?
Posted by fejoa, Feb 13, 2014 at 4:09 pm
Do large swords work better on bigger monsters?
Posted by fejoa, Feb 11, 2014 at 3:15 pm
4zb4 wrote
"diplomatic immunity"

Yeah, once the player character gets tamed to the monster side you go down to UT for a picnic and everyone is your friend.

You're right, the basic solution is to set TamingDifficulty = NO_TAMING; for "playerkind". Or it could be hard-coded.
Otherwise the whip of taming might be a bad idea...

EireMadHatter wrote
Obviously i can't count any achievement or victory legit but its nice to have a minor change
I use untampered vanilla 0.50 for my legit games. But I like making the odd modification too, which I do in CLIVAN. In the screenshot above, I turned the ground in New Attnam to ice (and the palm tree trunks to silver) to see how it would look. Just trying to get a feel for whether icy ground would be suitable for a new dungeon theme.
Posted by fejoa, Feb 11, 2014 at 12:23 pm
I like the way the game rewards perserverance by giving a chance that the bones of previous adventurers are made available to the next adventurer. In this way, it makes the permadeath feature more bearable. You could even say, the purpose of the game is to die a few times before playing right through.
Posted by fejoa, Feb 7, 2014 at 5:15 pm
Hey congrats and well done, looks like a spectacular victory
Can you tell us whether you encountered NPC's like Sherry, Golgor Dan and Xinroch? If so then on which levels and how did you defeat them?
Posted by fejoa, Feb 6, 2014 at 5:29 pm
Well, I tried it out and this is the result. Not sure if it is unbalanced, but it works.
Here is the code, it is all you need:

gear.h:
ITEM(tamingwhip, whip)
{
 public:
  virtual truth HitEffect(character*, character*, v2, int, int, truth);
 protected:
  virtual truth NefasHelps(ccharacter*, ccharacter*) const;
};

gear.cpp
truth tamingwhip::HitEffect(character* Enemy, character* Hitter, v2 HitPos, int BodyPartIndex, int Direction, truth BlockedByArmour)
{
  truth BaseSuccess = meleeweapon::HitEffect(Enemy, Hitter, HitPos, BodyPartIndex, Direction, BlockedByArmour);

  if(!IsBroken() && Enemy->IsEnabled() && NefasHelps(Enemy, Hitter)) // need to work out if nefas can help
  {
    if(Enemy->IsPlayer() || Hitter->IsPlayer() || Enemy->CanBeSeenByPlayer() || Hitter->CanBeSeenByPlayer())
    {
			ADD_MESSAGE("%s whip asks for the help of Nefas as it tames %s.", Hitter->CHAR_PERSONAL_PRONOUN, Enemy->CHAR_DESCRIPTION(DEFINITE));
			if(Enemy->CanTameWithWhip(Hitter))
			{
				if(Enemy->GetTeam() == Hitter->GetTeam())
					ADD_MESSAGE("%s seems to be very happy.", Enemy->CHAR_NAME(DEFINITE));
				else if(Enemy->GetRelation(Hitter) == HOSTILE)
					ADD_MESSAGE("%s stops fighting.", Enemy->CHAR_NAME(DEFINITE));
				else
					ADD_MESSAGE("%s seems to be very friendly towards you.", Enemy->CHAR_NAME(DEFINITE));
					Enemy->ChangeTeam(Hitter->GetTeam());
			}
			else
				ADD_MESSAGE("%s refuses to be mastered by the whip.", Enemy->CHAR_NAME(DEFINITE));
		}

    if(Hitter->IsPlayer())
    {
      game::DoEvilDeed(20);
      game::GetGod(NEFAS)->AdjustRelation(10);
    }

    return true;
  }
  else
    return BaseSuccess;
}

truth tamingwhip::NefasHelps(ccharacter* Enemy, ccharacter* Hitter) const
{
  if(Hitter->IsPlayer())
  {
    if(game::GetGod(NEFAS)->GetRelation() < 0) // must have positive relation
      return false;
    else
      return !(RAND() % (20 - game::GetGod(NEFAS)->GetRelation() / 150)); // return a chance to proceed
  }
  else
    return !(RAND() % 20); // there is always a remote chance
}

char.h:
truth CanTameWithWhip(const character*) const;

char.cpp
truth character::CanTameWithWhip(const character* Tamer) const
{
  int TamingDifficulty = GetTamingDifficulty();

  if(TamingDifficulty == NO_TAMING)
    return false;

  int Modifier = Tamer->GetAttribute(DEXTERITY) + Tamer->GetAttribute(CHARISMA);

  if(Tamer->IsPlayer())
    Modifier += game::GetGod(NEFAS)->GetRelation() / 20;
  else if(Tamer->GetAttachedGod() == NEFAS)
    Modifier += 50;

  if(TamingDifficulty == 0)
    if(!IgnoreDanger())
      TamingDifficulty = int(10 * GetRelativeDanger(Tamer));
    else
      TamingDifficulty = 10 * GetHPRequirementForGeneration()
			 / Max(Tamer->GetHP(), 1);

  return Modifier >= TamingDifficulty * 3;
}

script.dat
tamingwhip /* meleeweapon->whip-> */
{
  DefaultSize = 250;
  Possibility = 10;
  DefaultMainVolume = 1200;
  DefaultSecondaryVolume = 50;
  StrengthModifier = 20;
  NameSingular = "whip of taming";
  MainMaterialConfig == BLACK_LEATHER;
  SecondaryMaterialConfig == ROSE_QUARTZ;
  Roundness = 2;
  FormModifier = 20; /* this is multiplied by MainMaterial's flexibility */
  Price = 800;
  AttachedGod = NEFAS;
  WieldedBitmapPos = 160, 224;
  EnchantmentMinusChance = 50;
  EnchantmentPlusChance = 50;
}

EDIT: Just like to say, there's an horrifyingly unbalanced bug in the above code. Here's a clue: Think about what will happen if a mistress successfully tames the player character...
Posted by fejoa, Feb 6, 2014 at 1:36 pm
Hey I was wondering how taming worked so I looked at the code for a bit. I've decided it might be fun to create a specialised whip I call a whip of taming.
I need to look at the code some more, but I promise I will post here again, right after I have some dinner.

I imagine mistress whip champions who are able to whip your friends into submission
Posted by fejoa, Feb 5, 2014 at 1:17 pm
Was the door locked? You need to knock over the bookcase with a SPOILER ALERT. Click here to see text.
pick-axe